GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Tidak Dapat Menemukan Read /run/user/1000/gvfs Meskipun Dijalankan Sebagai Root?

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


Linux
  1. Tidak Dapat Menghapus File, Bahkan Saat Menjalankan Sebagai Root?

  2. gcc - /usr/bin/ld error:tidak dapat menemukan <library> di /usr/local/lib meskipun ldconfig mencantumkannya, dan path ditambahkan ke ld.so.conf

  3. Bagaimana cara mengetahui dari folder mana suatu proses sedang berjalan?

  1. unix:///var/run/supervisor.sock tidak ada file seperti itu

  2. Mengapa konten /dev/shm/ dihapus secara otomatis

  3. Gunakan find dengan aman dengan sudo

  1. Apa folder ini /run/user/1000?

  2. Mengapa pada beberapa sistem Linux, sistem file root muncul sebagai /dev/root bukan /dev/<real device node>di mtab?

  3. Haruskah saya mengedit /etc/crontab atau menjalankan crontab -e sebagai root?