![SFTP Chroot escreve em chroot /](https://rvso.com/image/760619/SFTP%20Chroot%20escreve%20em%20chroot%20%2F.png)
Ei,
Gostaria de escrever com o usuário chroot em seu / mas não consigo.
Exemplo: eu tenho /home/sftponly/
como ChrootDirectory
Dentro deve haver outro diretório com permissões para este usuário, caso contrário não consigo me conectar.
Quero que seja gravável enquanto o usuário que se conecta não vê nenhum subdiretório. Alguma dica sobre o que estou fazendo de errado?
Meu sshd_config
Match User sftponly
ChrootDirectory /home/sftponly
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Responder1
Se bem entendi, você deseja que seu usuário possa gravar em seu diretório pessoal enquanto estiver em chroot.
O que acontece quando você se conecta usando sftp com chroot habilitado é assim:
- o usuário está chroot no diretório principal "chroot" (aqui,
/home/sftponly
)- o chroot principal deve pertencer ao root e ser somente leitura para os usuários.
- o usuário é então chrootde novoem seu diretório inicial, conforme descrito em
/etc/passwd
começando pelo chroot principal.Esseo diretório inicial pode ser gravável para o usuário.
Então, se em /etc/passwd você tiver uma linha como esta:
sftponly:x:1002:1002:,,,:/home/sftponly:/bin/bash
sshd tentará fazer o chroot do seu usuário em /home/sftponly/home/sftponly
.
Então, se vocêabsolutamente necessáriopara fazer chroot neste caminho preciso, /home/sftponly
você deve definir seu chroot principal sshd_config
como, por exemplo /home
,:
ChrootDirectory /home
Em seguida, defina o diretório inicial desftponlyem :/etc/passwd
/sftponly
sftponly:x:1002:1002::/sftponly:/bin/bash
Então /home/sftponly
pode ser gravável para o usuário sftponly, sem problemas.