Я хотел бы использовать sshfs со многими пользователями.
sshfs root@192.168.56.100:/ root/
С помощью этой команды я получаю всю файловую систему в каталоге root /.
Есть ли возможность изменить пользователя файла, когда этот пользователь просто существует на удаленном компьютере?
Я попытался:
chown myuser myfile
Когда я делаю ls -lah
на пульте получаю:
-rw-r--r-- 1 otheruser root 0 Jan 11 11:03 myfile
Ищите файловую систему posixovl.
Предполагая, что ~ / REMOTESITE - это sshfs-монтирование удаленной системы:
/usr/local/sbin/mount.posixovl -F -S ~/REMOTESITE/user-backups /REMOTESITE -- -o allow_other
(Я не уверен, что 'allow_other' строго необходим, но это не повредит.)
Удаленные файлы остаются собственностью того, кто вошел в систему с удаленной учетной записью, но для локальной системы они кажутся принадлежащими локальным пользователям.
(Возможно, вы также захотите наложить на это слои encfs, чтобы не доверять удаленному сайту)
Грэм
Проблема в том, что chown
передаст файл пользователю, чей местный UID принадлежит myuser
.
Скажем, например, на локальном компьютере у вас есть myuser
с UID 1001, но UID 1001 принадлежит otheruser
на дистанционной машине.
Если бы ты хотел отдать это myuser
в удаленной системе вам необходимо либо:
myuser
(используя, например, ssh root@distant id -u myuser
) и используйте chown
с этим UID.Используя второй вариант, вы могли бы сделать, например (используя bash):
uid=$(ssh root@distant id -u myuser)
[[ -n $uid ]] && chown $uid. myfile || echo "No uid found. Not chowning"
Нет, ты не можешь этого сделать. Все файлы в удаленной системе доступны как «пользователь», который используется при ее монтировании. В вашем случае это root.