Назад | Перейти на главную страницу

Неправильный владелец / группа с SSHFS

Я установил пульт с SSHFS, и все работает, как ожидалось, за исключением информации о владельце / группе. Независимо от того, какого владельца / группу файла я проверяю, всегда root:root.

Я монтирую пульт так (в моем fstab):

root@188.yyy.193.xxx:/var/www/clients/client1/  /mnt/ftp_remote  fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/root/.ssh/id_rsa,allow_other,default_permissions,uid=0,gid=0 0 0

Это почему? Как я могу заставить SSHFS отображать правильного владельца / группу файла?

Вы не можете. Это ограничение SSHFS / Fuse: все по умолчанию привязано к разрешению пользователя, которого вы используете для подключения к SSH.

Однако, похоже, вы можете немного обойти это с помощью idmap файлы, см. параметры -o idmap, -o uidfile, -o gidfile и -o nomap на странице руководства.

Это 4-летний пост, но он будет опубликован, чтобы сэкономить время кому-то еще. Это правильный результат: вы подключились к серверу как корень пользователь, используя свои учетные данные, следовательно, все будет выполняться от имени пользователя root. Это идентично входу в систему с именем пользователя foo и созданию файла с его помощью, все созданные файлы будут иметь право собственности на foo, а также ограничения пользователя foo (например, будут созданы только в том случае, если у этого пользователя есть разрешение).

Если вы действительно хотите иметь другое разрешение, необходимо выполнить действие с целевым пользователем. Это предложение:

**client1**@188.yyy.193.xxx:/var/www/clients/client1/  /mnt/ftp_remote  fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/root/.ssh/**client1_**id_rsa,allow_other,default_permissions 0 0

необходимо иметь client1 имя пользователя, и у него должна быть возможность войти.