Estou tentando dar a um SFTP apenas acesso ao seu diretório pessoal para um usuário.
Esta é a linha / etc / passwd para o usuário:
bob:x:1003:1003::/home/bob:/bin/false
Eu editei o arquivo / etc / ssh / sshd_config assim:
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
Match user bob
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp
Então eu reinicio o ssh: sudo service ssh restart
Se eu tentar sftp [email protected]
, tudo funcionará bem.
Então eu tento Chroot bob na casa dele, então eu adiciono ChrootDirectory /home/bob
no lugar certo:
Match user bob
ChrootDirectory /home/bob
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp
Eu mudei a permissão para voltar para casa:
drwxr-xr-x 3 root root 4096 2014-02-27 13:13 bob
Agora, quando eu tento o sftp [email protected], a resposta é:
Write failed: Broken pipe
Connection closed
minha versão do OpenSSH é 1: 5.5p1-4ubuntu6
Onde estou errado ??? Onde posso procurar resolver o meu problema?
EDITAR:
depois de um pouco de depuração, encontrei esta mensagem de erro:
bad ownership or modes for chroot directory component "/"