Provavelmente você está procurando a opção ChrootDirectory
para sshd_config
.
For each user user_i, there is a folder named user_i. The user_i should have writing and reading permissions on his directory and all the files/directories in it.
Isso não é possível com chroot
. Os usuários não podem ter acesso de gravação ao diretório em que estão chroot
-ed, porque seria uma vulnerabilidade de segurança (CVE-2009-2904). Todo usuário precisa de seu próprio diretório dentro do chroot
em que ele pode escrever. A hierarquia do sistema de arquivos pode ser assim:
directory -- owner:group permissions
/chroots/ -- root:root 700
user_i/ -- root:root 700
data/ -- user_i:chroot_users 700
O sshd_config
pode ser assim:
Match Group chroot_users
ChrootDirectory /chroots/%u/
Isso separará os usuários. Mas observe que esses usuários não têm nenhum programa para executar em seus diretórios separados! Você pode conceder a eles somente acesso via SFTP:
Subsystem sftp internal-sftp
ou copie os programas necessários em cada chroot, por exemplo, para simples bash
:
cp --parents /bin/bash /chroots/user_i/
cp --parents 'ldd /bin/bash | cut -d'>' -f2 | awk '{print $1}'' /chroots/user_i/