
Ich habe mit sshfs
der Absicht experimentiert, auf ein Verzeichnis auf einer Synology-Box zuzugreifen und es über Terminal zu mounten. Zu diesem Zweck verwende ich die Version von SSHFS, wie sie von derFUSE für macOSProjekt. Der Aufbau ist wie folgt:
- Das Verzeichnis auf der Synology-Box
/volume1/justnfs
, das gemountet werden soll, ist Eigentum vonuser1:users
Benutzer-ID 1026 und Gruppen-ID 100 und enthält nur Verzeichnisse/Dateien, die diesem Benutzer gehören. - Auf meinem Laptop
user1
hat der Benutzer, der das Verzeichnis (auch) mountet, die Benutzer-ID 501 und die Gruppen-ID 20 (Gruppennamestaff
).
Wenn ich das nun tue,
sshfs -o sshfs_debug syno:/justnfs ./storage
das Verzeichnis wird gemountet, dennoch wird die Benutzer-ID/Gruppen-ID aller Dateien nicht neu zugeordnet (wie erwartet). Um dies zu beheben, habe ich zwei Dateien mit der erforderlichen Zuordnung erstellt, nämlich users.txt
with user1:1026
und groups.txt
with staff:100
. Dann der Befehl
sshfs -o sshfs_debug -o idmap=file -o uidfile=users.txt -o gidfile=groups.txt syno:/justnfs ./storage
mountet auch das Remote-Verzeichnis, wenn ich dann jedoch zu wechsle storage
und mache ls
, ist die Ausgabe komplett leer und dmesg
zeigt
osxfuse: fuse_vnop_readdir failed (err=1)
Merkwürdigerweise cat
funktioniert der Befehl, wenn ich versuche, eine Datei mit bekanntem Pfad aufzurufen (also direkt darauf zuzugreifen), und zeigt den Inhalt der Datei an. Es ist, als wäre nur das Auflisten von Verzeichnissen aus irgendeinem Grund nicht erlaubt.
Interessanterweise, wenn ich die UID/GID explizit angebe als
sshfs -o sshfs_debug -o uid=501 -o gid=20 syno:/justnfs ./storage
dann ls
funktioniert es wieder.
Was könnte der Grund dafür sein, dass sich die letzten beiden Befehle unterschiedlich verhalten und/oder dass es nicht möglich ist, den Inhalt des Verzeichnisses aufzulisten?