Я установил пульт с 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 имя пользователя, и у него должна быть возможность войти.