Cet article décrit comment configurer une prison chroot en utilisant à la fois les distributions basées sur Debian® et RPM Package Manager (RPM).
Ces instructions créent la prison chroot en utilisant les exemples de noms de groupe et d'utilisateur suivants :
-
Groupe :sftonly
-
Utilisateur :ftpuploader
Créer un groupe pour les utilisateurs emprisonnés
Utilisez les instructions suivantes pour créer un groupe pour les utilisateurs emprisonnés :
-
Créez le groupe emprisonné à l'aide de la commande suivante :
groupadd sftponly
Remarque : Ce groupe est utilisé pour restreindre ou enfermer les utilisateurs dans leur répertoire personnel.
-
Ouvrez /etc/ssh/sshd_config dans un éditeur de texte et modifiez le fichier en procédant comme suit :
-
Commentez la ligne suivante en plaçant un signe dièse (
#
) avant la ligne :Avant :
Subsystem sftp /usr/libexec/openssh/sftp-server
Après :
#Subsystem sftp /usr/libexec/openssh/sftp-server
-
Ajoutez les lignes suivantes à la fin du fichier de configuration :
Subsystem sftp internal-sftp Match Group sftponly ChrootDirectory %h X11Forwarding no AllowTCPForwarding no ForceCommand internal-sftp`
-
-
Vérifiez que la syntaxe est correcte dans la nouvelle configuration et rechargez sshd en utilisant les commandes suivantes :
sshd –t service sshd reload
Créer un utilisateur du protocole de transfert de fichiers sécurisé
Utilisez les étapes suivantes pour créer un utilisateur SFTP (Secure File Transfer Protocol) :
-
Créez un répertoire personnel pour l'utilisateur SFTP à l'aide de la commande suivante :
mkdir -p /home/chroot/ftpuploader/public
-
Créez un nouvel utilisateur avec un répertoire personnel qui n'a pas d'accès au shell et ajoutez-le au groupe sftponly en utilisant la commande suivante :
useradd -d /home/chroot/ftpuploader -s /sbin/nologin -G sftponly ftpuploader
-
Si vous avez déjà créé un utilisateur SFTP, vous devez définir l'accès au shell de l'utilisateur sur /sbin/nologin et ajoutez-les au groupe sftponly en utilisant la commande suivante :
usermod -s /sbin/nologin -G sftponly ftpuploader
-
Maintenant, définissez un nouveau mot de passe pour l'utilisateur SFTP en utilisant la commande suivante :
Passwd ftpuploader
-
Modifiez les autorisations et la propriété du répertoire personnel à l'aide des distributions basées sur RPM et Debian, comme indiqué dans le code suivant :
chown root:root /home/chroot/ftpuploader/ chown ftpuploader:sftponly /home/chroot/ftpuploader/public chmod 711 /home/chroot/ chmod 755 /home/chroot/ftpuploader/ chmod 755 /home/chroot/ftpuploader/public
Remarque : Dans les commandes précédentes, le groupe est sftponly si l'utilisateur va faire partie du sftponly groupe.