chrooter sftp est une fonctionnalité fournie par le package OpenSSH sous Linux. Vous pouvez configurer un environnement chroot pour éviter les altérations indésirables du système, y compris les téléchargements dans des emplacements indésirables lorsque les utilisateurs utilisent sftp. Lorsque vous chrootez sftp pour un utilisateur spécifique ou pour tous les utilisateurs, les utilisateurs ne peuvent accéder qu'à leurs répertoires personnels et sous-répertoires.
Méthode 1 (par openssh nativement)
À partir de la version openssh-5.x, sftp peut chrooter vers un répertoire spécifique. Les étapes suivantes pourraient implémenter le chroot natif openssh pour sftp.
1. Créez le répertoire jail.
# mkdir /chroot/home
2. Montez-le sur /home comme suit :
# mount -o bind /home /chroot/home
3. Modifiez /etc/ssh/sshd_config comme suit :
# vi /etc/ssh/sshd_config ChrootDirectory /chroot Subsystem sftp internal-sftp
4. redémarrez le service sshd :
# service sshd restartRemarque :Veuillez vous assurer que le répertoire de la prison doit appartenir à la racine et ne peut être écrit par aucun autre utilisateur ou groupe.
Méthode 2 (en utilisant pam_chroot)
1. Ajoutez un chroot dans /etc/pam.d/sshd fichier :
# vi /etc/pam.d/sshd session required pam_chroot.so
2. Modifiez /etc/security/chroot.conf pour inclure le répertoire chroot.
# vi /etc/security/chroot.conf user /chroot_dir
3. Modifiez /etc/ssh/ssh_config
# vi /etc/ssh/ssh_config Subsystem sftp /usr/libexec/openssh/sftp-server
4. Redémarrez sshd pour appliquer la nouvelle configuration :
# service sshd restart