Eu tenho uma versão 6.4 do CentOs com a Digital Ocean e gostaria de criar com sucesso usuários SFTP e prendê-los no diretório home chroot do próprio usuário, mas temo estar fazendo uma bagunça nisso.
Eu tentei muitas coisas, muitas para listar aqui, na verdade a maioria provavelmente está incorreta ou não fará muito sentido, mas o que eu acho que deve ser o processo correto e o que eu tentei é: -
Crie um grupo para sftp
: -
groupadd sftp
Crie um usuário e defina seu diretório inicial: -
useradd -d /var/www/vhosts/domain.com dummyuser
Defina uma senha para o usuário: -
passwd dummyuser
Mude o grupo de usuários para 'sftp': -
usermod -g sftp dummyuser
Defina o shell do usuário para /bin/false
: -
usermod -s /bin/false dummyuser
Editar subsistema em sshd_config
( /etc/ssh/
): -
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Adicione o seguinte na parte inferior do sshd_config
arquivo: -
Match group sftp
X11Forwarding no
ChrootDirectory %h
AllowTcpForwarding no
ForceCommand internal-sftp
Verifique se todos os seguintes diretórios são root:root
: -
/var
/var/www
/var/www/vhosts
/var/www/vhosts/domain.com
Se eu tentar fazer logon no servidor via SFTP com o usuário dummyuser
(no WinSCP), obtenho o seguinte: -
Authentication log (see session log for details):
Using username "dummyuser".
Authentication failed.
Tudo o que quero alcançar é prender um usuário ao diretório inicial. Eu também tenho o vsftpd instalado e configurado. Os usuários podiam fazer login corretamente, mas teriam acesso a todo o servidor - eu simplesmente não consegui fazer com que a prisão funcionasse.
Editar
Esqueci de mencionar, então reiniciei sshd
também: -
service sshd restart
Quando o erro é produzido no WinSCP, sua página de ajuda está aqui .
Resultados do registro
/var/log/secure
Substituí o nome do servidor real por server_name
.
Apr 28 14:20:56 server_name sshd[9944]: Accepted password for dummyuser from 80.194.255.4 port 44402 ssh2
Apr 28 14:20:56 server_name sshd[9944]: pam_unix(sshd:session): session opened for user dummyuser by (uid=0)
Apr 28 14:20:56 server_name sshd[9946]: fatal: bad ownership or modes for chroot directory component "/var/www/vhosts/"
Apr 28 14:20:56 server_name sshd[9944]: pam_unix(sshd:session): session closed for user dummyuser
/var/log/secure
.
vhosts
é root:root
.
sshd
? O que há nos arquivos de log no servidor?