sshfs multi usuários

3

Eu gostaria de usar o sshfs com muitos usuários.

sshfs [email protected]:/ root/

Com este comando recebo todo o sistema de arquivos na raiz do diretório /.

Existe alguma possibilidade de alterar o usuário de um arquivo quando este usuário existe na máquina remota?

Eu tentei:

chown myuser myfile

Quando faço ls -lah no controle remoto, obtenho:

-rw-r--r-- 1 otheruser   root       0 Jan 11 11:03 myfile
    
por Charles 11.01.2012 / 11:06

3 respostas

2

O problema vem do fato de que chown dará o arquivo ao usuário cujo UID local pertence a myuser .

Digamos, por exemplo, na máquina local, você tem myuser com o UID 1001, mas o UID 1001 pertence a otheruser na máquina de distância.

Se você quisesse dar para myuser no sistema remoto, você teria que:

  • Sincronizar contas / UID em ambas as máquinas (o uso de um gerenciador de configuração centralizado pode ajudar);
  • conheça o UID distante de myuser (usando, por exemplo, ssh root@distant id -u myuser ) e use chown com esse UID.

Usando a segunda opção, você pode fazer por exemplo (usando o bash):

uid=$(ssh root@distant id -u myuser)
[[ -n $uid ]] && chown $uid. myfile || echo "No uid found. Not chowning"
    
por 11.01.2012 / 11:13
2

Procure o sistema de arquivamento posixovl.

Assumindo que ~ / REMOTESITE é uma montagem sshfs do sistema remoto:

/usr/local/sbin/mount.posixovl -F -S ~/REMOTESITE/user-backups /REMOTESITE -- -o allow_other

(Não tenho certeza se o 'allow_other' é estritamente necessário, mas não dói.)

Os arquivos remotos são de propriedade de quem está logado na conta remota, mas no sistema local eles parecem pertencer a usuários locais.

(Você também pode querer encapsular o encfs por isso para não precisar confiar no site remoto)

Graham

    
por 05.07.2012 / 21:34
0

Não, você não pode fazer isso. Todos os arquivos no sistema remoto são acessados como o "usuário" que é usado durante a montagem. No seu caso, é raiz.

    
por 11.01.2012 / 11:10

Tags