Para chroot corretamente um membro do grupo sftponly, você precisa definir essas opções em /etc/ssh/sshd_config
:
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory /srv/chroot/%u
ForceCommand internal-sftp
É um requisito que o diretório inicial, e os diretórios até a raiz do sistema, dos usuários chroot devem pertencer a root:root
Dados os seguintes valores para um usuário:
$ id user001
uid=1003(user001) gid=1003(user001) groups=1006(sftponly)
$ grep user001 /etc/passwd
user001:x:1003:1003::/input:/sbin/nologin
Você precisa de uma estrutura de diretórios como esta:
$ tree /srv/chroot
/srv/chroot
├── user001
│ └── input
Como o diretório HOME do user001 é avaliado após a chamada chroot, ele entra no diretório input
, onde as permissões de gravação são válidas:
$ ls -lrtd /srv/chroot/user001/input
drwxrwx--- 2 user001 sftponly 4.0K Apr 07 17:55 /srv/chroot/user001/input