Saya telah bereksperimen dengan sshfs
maksud untuk mengakses direktori pada kotak Synology dan memasangnya melalui Terminal. Untuk tujuan ini, saya menggunakan versi SSHFS yang disediakan oleh FUSE untuk proyek macOS . Setup adalah sebagai berikut:
- direktori pada kotak Synology
/volume1/justnfs
yang akan dipasang dimiliki olehuser1:users
dengan id pengguna 1026 dan grup id 100 dan berisi direktori / file yang dimiliki oleh pengguna ini saja. - pada laptop saya, pengguna (juga
user1
) yang memasang direktori memiliki id pengguna 501 dan id grup 20 (nama grupstaff
)
Sekarang, jika saya lakukan
sshfs -o sshfs_debug syno:/justnfs ./storage
direktori akan di-mount, namun id pengguna / grup dari semua file tidak dipetakan kembali (seperti yang diharapkan). Untuk mengatasinya, saya membuat dua file dengan pemetaan yang diperlukan, yaitu users.txt
dengan user1:1026
dan groups.txt
dengan staff:100
. Lalu perintahnya
sshfs -o sshfs_debug -o idmap=file -o uidfile=users.txt -o gidfile=groups.txt syno:/justnfs ./storage
juga me-mount direktori jarak jauh, namun, jika saya kemudian beralih ke storage
dan lakukan ls
, hasilnya benar-benar kosong dan dmesg
terlihat
osxfuse: fuse_vnop_readdir failed (err=1)
Anehnya, ketika saya mencoba untuk cat
file dengan path yang dikenal (yaitu, mengaksesnya langsung), perintah berhasil dan menampilkan konten file. Seolah-olah hanya daftar direktori yang karena alasan tertentu tidak diizinkan.
Menariknya, jika saya menyediakan uid / gid secara eksplisit sebagai
sshfs -o sshfs_debug -o uid=501 -o gid=20 syno:/justnfs ./storage
lalu ls
bekerja lagi.
Apa yang bisa menjadi alasan bahwa dua perintah terakhir berperilaku berbeda dan / atau bahwa tidak mungkin untuk membuat daftar isi direktori?