Saya telah bereksperimen dengan sshfsmaksud 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/justnfsyang akan dipasang dimiliki oleh user1:usersdengan 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 grup staff)

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.txtdengan user1:1026dan groups.txtdengan 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 storagedan lakukan ls, hasilnya benar-benar kosong dan dmesgterlihat

osxfuse: fuse_vnop_readdir failed (err=1)

Anehnya, ketika saya mencoba untuk catfile 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 lsbekerja lagi.

Apa yang bisa menjadi alasan bahwa dua perintah terakhir berperilaku berbeda dan / atau bahwa tidak mungkin untuk membuat daftar isi direktori?

ewcz
sumber