Gostaria de criar dois níveis de usuários para restringir o acesso ao SFTP: usuários "pais" e usuários "filhos".
Preciso que os usuários pais possam acessar todos os diretórios pertencentes aos filhos, mas os filhos só devem poder usar seus próprios diretórios.
Como faço isso no CentOS 6?
Responder1
Como o SFTP é apenas FTP sobre SSH, você poderá fazer isso usando diretórios e grupos iniciais de usuários. Se você criou 3 usuários:
parent
childone
childtwo
Você poderia definir seus diretórios pessoais para uma estrutura como esta:
/home/parent
/home/parent/childone
/home/parent/childtwo
Com permissões:
#> chmod -R 771 /home/parent
#> chown parent:testftp /home/parent
#> chown childone:testftp /home/parent/childone
#> chown childtwo:testftp /home/parent/childtwo
Agora, se o parent
usuário estiver no testftp
grupo e os filhos não, eles parent
deverão ser capazes de ler e gravar arquivos em seus diretórios pessoais, mas os filhos só poderão modificar os seus próprios.
Acabei de fazer alguns testes rápidos em minha caixa e parece funcionar bem. Dê-me um minuto e postarei os comandos completos para configuração.
Saída de comando completa:
$> sudo -i
#> mkdir -p /home/parent/{childone,childtwo}
#> groupadd testftp
#> useradd -d /home/parent -M -G testftp parent
#> useradd -d /home/parent/childone -M childone
#> useradd -d /home/parent/childtwo -M childtwo
#> chmod -R 771 /home/parent/
#> chown parent:testftp /home/parent
#> chown childone:testftp /home/parent/childone
#> chown childtwo:testftp /home/parent/childtwo
Parece funcionar para mim!