Utilisation de l'option allow_other
en /etc/fstab
permet à d'autres utilisateurs que celui qui effectue le montage réel d'accéder au système de fichiers monté. Lorsque vous démarrez votre système et montez votre sshfs, cela se fait par l'utilisateur root au lieu de votre utilisateur habituel. Lorsque vous ajoutez allow_other
d'autres utilisateurs que root peuvent accéder au point de montage. Les autorisations de fichier sous le point de montage restent les mêmes qu'avant, donc si vous avez un répertoire avec le masque 0700, il n'est accessible à personne d'autre que root et le propriétaire.
Ainsi, au lieu de
sshfs#[email protected]:/remote/dir /work fuse user,_netdev,reconnect,uid=1000,gid=1000,idmap=user 0 0
utiliser
sshfs#[email protected]:/remote/dir /work fuse user,_netdev,reconnect,uid=1000,gid=1000,idmap=user,allow_other 0 0
Cela a fait l'affaire pour moi au moins. Je n'ai pas testé cela en démarrant le système, mais j'ai juste émis la commande mount en tant que root, puis j'ai essayé d'accéder au sshfs monté en tant qu'utilisateur normal.
Également pour compléter la réponse précédente :
-
Vous devriez préférer la syntaxe [user]@[host] à celle sshfs#[user]@[host].
-
Assurez-vous d'autoriser les utilisateurs non root à spécifier l'option de montage allow_other dans /etc/fuse.conf
-
Assurez-vous d'utiliser chaque montage sshfs au moins une fois manuellement en tant que root afin que la signature de l'hôte soit ajoutée au fichier .ssh/known_hosts.
$ sudo sshfs [utilisateur]@[hôte] :[chemin_distant] [chemin_local] -o allow_other,IdentityFile=[path_to_id_rsa]
RÉF :https://wiki.archlinux.org/index.php/SSHFS