Utilizzando l'opzione allow_other
in /etc/fstab
consente ad altri utenti oltre a quello che esegue il montaggio effettivo di accedere al filesystem montato. Quando avvii il tuo sistema e monti il tuo sshfs, è fatto dall'utente root invece che dal tuo normale utente. Quando aggiungi allow_other
altri utenti oltre a root possono accedere al punto di montaggio. I permessi dei file sotto il punto di montaggio rimangono gli stessi di una volta, quindi se hai una directory con la maschera 0700 lì, non è accessibile a nessun altro tranne root e il proprietario.
Quindi, invece di
sshfs#[email protected]:/remote/dir /work fuse user,_netdev,reconnect,uid=1000,gid=1000,idmap=user 0 0
usa
sshfs#[email protected]:/remote/dir /work fuse user,_netdev,reconnect,uid=1000,gid=1000,idmap=user,allow_other 0 0
Questo ha funzionato almeno per me. Non l'ho testato avviando il sistema, ma ho semplicemente emesso il comando mount come root, quindi ho provato ad accedere a sshfs montato come utente normale.
Anche per completare la risposta precedente:
-
Dovresti preferire la sintassi [utente]@[host] a quella sshfs#[utente]@[host].
-
Assicurati di consentire agli utenti non root di specificare l'opzione di montaggio allow_other in /etc/fuse.conf
-
Assicurati di utilizzare ogni mount sshfs almeno una volta manualmente mentre sei root in modo che la firma dell'host venga aggiunta al file .ssh/known_hosts.
$ sudo sshfs [utente]@[host]:[remote_path] [local_path] -o allow_other,IdentityFile=[path_to_id_rsa]
REF:https://wiki.archlinux.org/index.php/SSHFS