Dapatkah seseorang memberi tahu saya apa yang saya lakukan salah, apa ini, atau bagaimana cara memperbaikinya? Saya menjalankan Fedora 18 dan menampilkan kesalahan
[[email protected] /]# find . -name ngirc
find: `./run/user/1000/gvfs': Permission denied
[[email protected] /]#
[[email protected] /]# pwd
/
[[email protected] /]# ls -ltr ./run/user/1000
ls: cannot access ./run/user/1000/gvfs: Permission denied
total 0
d?????????? ? ? ? ? ? gvfs
lrwxrwxrwx. 1 root root 17 May 28 12:30 X11-display -> /tmp/.X11-unix/X0
drwx------. 2 kal kal 120 May 28 12:30 keyring-QjDw4b
drwx------. 2 kal kal 40 May 28 12:30 gvfs-burn
drwx------. 2 kal kal 60 May 28 12:30 krb5cc_5f0bcaf94f916d6b61696e2251a4dbb3
drwx------. 2 kal kal 60 May 28 18:25 dconf
Jawaban yang Diterima:
Anda tidak melakukan kesalahan, dan tidak ada yang perlu diperbaiki. /run/user/$uid/gvfs
atau ~$user/.gvfs
adalah titik pemasangan untuk antarmuka FUSE ke GVFS. GVFS adalah implementasi sistem file virtual untuk Gnome, yang memungkinkan aplikasi Gnome mengakses sumber daya seperti server FTP atau Samba atau konten file zip seperti direktori lokal. FUSE adalah cara untuk mengimplementasikan driver sistem file sebagai kode pengguna (bukan kode kernel). Gateway GVFS-FUSE membuat driver filesystem GVFS dapat diakses oleh semua aplikasi, tidak hanya yang menggunakan library Gnome.
Mengelola batas kepercayaan dengan sistem file FUSE itu sulit, karena driver sistem file berjalan sebagai pengguna yang tidak memiliki hak istimewa, berbeda dengan kode kernel untuk sistem file tradisional. Untuk menghindari komplikasi, secara default, sistem file FUSE hanya dapat diakses oleh pengguna yang menjalankan proses driver. Bahkan root tidak dapat melewati batasan ini.
Jika Anda mencari file di sistem file lokal saja, teruskan -xdev
untuk find
. Jika Anda ingin melintasi beberapa sistem file lokal, sebutkan semuanya.
find / /home -xdev -name ngirc
Jika file sudah ada sejak kemarin, Anda dapat mencoba locate ngirc
sebagai gantinya (locate
mencari melalui database nama file yang biasanya diperbarui setiap malam).
Jika Anda ingin melintasi titik pemasangan GVFS, Anda harus melakukannya sebagai pengguna yang sesuai.
find / -name ngirc -path '/run/user/*/gvfs' -prune -o -path '/home/*/.gvfs' -prune -o -name ngirc -print
for d in /run/user/*; do su "${d##*/}" -c "find $d -name ngirc -print"; done