Sshfs как обычный пользователь через fstab

Я хотел бы смонтировать удаленный каталог через sshfs на моей машине Debian, сказать /work. Я добавила пользователя fuse группа и я бегу:

sshfs user@remote.machine.net:/remote/dir /work

и все работает нормально. Однако было бы очень приятно иметь каталог, установленный при загрузке. Поэтому я попробовал /etc/fstab запись приведенный ниже:

sshfs#user@remote.machine.net:/remote/dir /work     fuse      user,_netdev,reconnect,uid=1000,gid=1000,idmap=user  0   0

sshfs запрашивает пароль и монтируется почти правильно. Почти потому, что мой обычный user не имеет доступа к смонтированному каталогу и при запуске ls -la /, Я:

d?????????   ? ?        ?               ?            ? work

как я могу получить его с правильными разрешениями через fstab?

2 ответов


используя опцию allow_other на /etc/fstab позволяет другим пользователям, чем тот, который делает фактический монтаж для доступа к смонтированной файловой системе. При загрузке системы и установке sshfs это делается пользователем root вместо обычного пользователя. При добавлении allow_other другие пользователи, кроме root может получить доступ к точке монтирования. Разрешения файлов под точкой монтирования по-прежнему остаются такими же, как и раньше, поэтому, если у вас есть каталог с маской 0700, он недоступен никому, кроме root и владелец.

Итак, вместо

sshfs#user@remote.machine.net:/remote/dir /work     fuse      user,_netdev,reconnect,uid=1000,gid=1000,idmap=user  0   0

использовать

sshfs#user@remote.machine.net:/remote/dir /work     fuse      user,_netdev,reconnect,uid=1000,gid=1000,idmap=user,allow_other  0   0

Это сделал трюк для меня по крайней мере. Я не тестировал это, загрузив систему, а вместо этого просто выдал команду mount как root, а затем попытался получить доступ к смонтированным sshfs как обычный пользователь.


также В дополнение к предыдущему ответу:

  1. вы должны предпочесть синтаксис [user]@[host] над синтаксисом sshfs#[user]@[host].

  2. убедитесь, что вы разрешили пользователям без root указать параметр allow_other mount в /etc/fuse.conf

  3. убедитесь, что вы используете каждое монтирование sshfs хотя бы один раз вручную, а root, чтобы подпись хоста была добавлена .СШ/если вы файл.

    $ судо sshfs [пользователь]@[хост]:[remote_path] [local_path] - o allow_other, IdentityFile=[path_to_id_rsa]

REF:https://wiki.archlinux.org/index.php/SSHFS