Création compte sftp chrooté
Créer un groupe dédié :
# groupadd sftpusers
Créer le user (ici exemple avec le user toto) :
# useradd -g sftpusers -d /incoming -s /sbin/nologin toto # passwd toto
Vérification :
# grep toto /etc/passwdtoto:x:500:500::/incoming:/sbin/nologin
Modifier le subsystem dans /etc/ssh/sshd_config :
#Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp
Et rajouter à la fin :
Match Group sftpusers #mettre "Match User toto" pour matcher un user seulement ChrootDirectory /sftp/%u ForceCommand internal-sftp
Créer les répertoires :
# mkdir -p /sftp/toto/incoming
Pour que le chroot fonctionne, il faut appliquer les bons droits :
# chown toto:toto /sftp/toto/incoming # ls -ld /sftp/toto/incoming drwxr-xr-x 2 toto toto 4096 Dec 28 23:49 /sftp/toto/incoming
(il est possible de faire arriver le user directement à la racine du chroot, pour ce faire mettre simplement « / » en tant que home directory)
Root doit être le propriétaire de la racine du user (et 755 en droits) :
# ls -ld /sftp/toto drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp/toto # ls -ld /sftp drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp
Puis restart le service ssh :
# service sshd restart