Eu tenho acesso remoto a um servidor. Lá eu tenho meu umask
definido como 0007. Eu me refiro ao nome do meu servidor como "sme", meu nome local como "lme". Então eu faço o seguinte:
sme@server$ touch f1
sme@server$ ls -l f1
-rw-rw---- 1 sme 0 Jun 16 18:46 f1
Agora vou ao meu computador local:
lme@local$ umask
0007
lme@local$ mkdir server
lme@local$ sshfs sme@server /home/sme /server/ -o umask=0000
lme@local$ touch server/f2
lme@local$ ls -l server/f2
-rwxrwxrwx 1 lme 1001 0B Jun 16 18:48 server/f2
Primeiro, percebo que qualquer usuário do meu local tem permissões completas para f2. Por quê? Eu tenho um umask
para outros usuários definidos como 7, então a permissão de arquivo deve ser 0 para eles.
Verificação no lado do servidor:
sme@server$ ls f2
-rw-r----- 1 sme 0 Jun 16 18:48 f2
Com o meu loggin no servidor, não tenho o conjunto de permissões de execução. Meu grupo de servidores não pode gravar o arquivo. Além disso, o proprietário do arquivo não é o usuário local "lme", mas o servidor um, "sme".
Em seguida, tentei especificar o uid e o gid do usuário do meu servidor para sshfs
depois de verificá-los:
# Get server user's id and group id
sme@server$ id
uid=1059(sme) gid=1001(server-group) groups=1001(server-group)
# Remount the server's root
lme@local$ umount server/
lme@local$ sshfs sme@server /home/sme /server/ -o umask=0000 -o uid=1059 -o gid=1001
lme@local$ touch server/f3
lme@local$ ls -l server/f3
-rwxrwxrwx 1 lme 1001 0B Jun 16 18:50 server/f3
Mas:
sme@server$ ls -l
-rw-r----- 1 sme 0 Jun 16 18:50 f3
A especificação de uid
e gid
to sshfs
não alterou nada em relação às permissões do arquivo. Além disso, o proprietário do grupo é 0 no servidor, enquanto é 1001 ao listá-lo do ponto montado no local. Paradoxalmente, meu usuário local vê todos os direitos de arquivo definidos para todos os arquivos criados pelo usuário do meu servidor.
No entanto, vejo que, em primeiro lugar, verificando o arquivo criado do local para o servidor, que o nome do proprietário é alterado: verificação do local na pasta montada, o usuário local "lme" é o proprietário do arquivo, mas a verificação do servidor, o usuário "sme" tem a propriedade.
Em segundo lugar, o conjunto de permissões de grupo do local não segue no lado do servidor. O grupo de servidores não possui permissão de gravação.
Em terceiro lugar, a máscara passada em argumento para sshfs
não corresponde nem ao usuário local nem ao usuário do servidor.
Eu quero que o usuário e o grupo do meu servidor consigam acessar qualquer arquivo e pasta criados pelo usuário local.
Eu gostaria de saber como fazer isso e, acima de tudo, qualquer explicação e / ou documentação explicando como o umask
trabalha com sshfs
. Até agora, o pequeno documento que encontrei (outros tópicos do fórum) foi mais confuso do que qualquer outra coisa.