Mengapa SSHFS tidak membiarkan saya melihat direktori yang sudah terpasang?

34

Saya menggunakan SSHFS untuk memasang direktori pada server jarak jauh. Ada xxx pengguna di klien dan server. UID dan GID identik pada kedua kotak.

saya menggunakan

sshfs -o kernel_cache -o auto_cache -o reconnect -o compression=no \ 
      -o cache_timeout=600 -o ServerAliveInterval=15 \
      [email protected]:/mnt/content /home/xxx/path_to/content

untuk memasang direktori pada server jarak jauh. Ketika saya masuk sebagai xxx pada klien saya tidak punya masalah. Saya dapat melakukan cd ke / home / xxx / path_to / content.

Tetapi ketika saya login pada klien sebagai pengguna lain zzz dan kemudian

$ ls -l /home/xxx/path_to

Saya mengerti

d?????????   ? ?    ?        ?                ? content

dan terus

$ ls -l /home/xxx/path_to/content

saya mendapat

ls: cannot access content: Permission denied

Kapan saya melakukannya

$ ls -l /mnt

di server jauh saya dapatkan

drwxr-xr-x 6 xxx xxx  4096 2011-07-25 12:51 content

Apa yang saya lakukan salah? Izinnya tampaknya benar bagi saya. Apakah aku salah?

Jan Deinhard
sumber
Masuk sebagai pengguna xxx dan beri kami output ls -ld /home/xxx/path_to/content?
quanta

Jawaban:

42

Saya sendiri sudah menemukan jawabannya. Masalahnya adalah saya tidak menggunakan opsi allow_other.

sshfs -o allow_other -o kernel_cache -o auto_cache -o reconnect \
  -o compression=no -o cache_timeout=600 -o ServerAliveInterval=15 \
  [email protected]:/mnt/content /home/xxx/path_to/content

Untuk menggunakan opsi ini, Anda harus mengatur opsi user_allow_other di /etc/fuse.conf. Ketika saya melakukan ini saya punya masalah lain. File /etc/fuse.conf belum pernah membaca izin untuk pengguna lain di kotak Ubuntu saya. Jadi saya telah mengubah itu juga dan sekarang saya dapat mengakses direktori dengan pengguna mana pun.

Jan Deinhard
sumber
5
File /etc/fuse.conf tidak seharusnya memiliki opsi baca untuk semua orang. Maksudnya adalah Anda menambahkan diri Anda ke grup sekering sehingga Anda dapat membacanya melalui hak grup.
Jherico
1
Mengkonfirmasi bahwa kebutuhan untuk mengaktifkan user_allow_other di etc / fuse.conf pada klien diperlukan bagi pengguna saya untuk mengakses folder di luar direktori home saya di server ketika mengakses server dari UID dan GID yang identik. Berada di grup sekering pada klien sudah cukup bagi saya untuk membaca /etc/fuse.conf di Ubuntu, ketika saya menemukan file tersebut diatur rw_r______ root: fuse
1
Jika Anda bermaksud untuk menggunakan opsi allow_other mount seperti yang disarankan di atas, perhatikan bahwa kernel Linux memiliki bug keamanan yang belum terselesaikan yang memengaruhi FUSE. Lihat github.com/libfuse/libfuse/issues/15
MountainX