Chrooting SFTP
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Domaine | Cloisonnement SFTP |
| Objectif | confiner un utilisateur à un répertoire |
| Voir aussi | Chroot SSH · Chroot · Umask |
Objectif : l'utilisateur ftpuser ne doit pas pouvoir sortir de /srv/ftp.
Configuration du serveur
Sauvegarder puis modifier /etc/ssh/sshd_config :
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Subsystem sftp internal-sftp
Match user ftpuser
ChrootDirectory /srv/ftp
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
/etc/init.d/ssh restart
Créer l'utilisateur chrooté
ls -l /srv/ # /srv/ftp appartient à root:ftp
useradd ftpuser -g ftp -s /bin/nologin
passwd ftpuser
cd /srv/ftp/
touch You_are_chrooted
Note : le répertoire chrooté doit appartenir à root, et le groupe/les autres ne doivent pas y avoir le droit d'écriture — sinon SSH refuse le chroot.
Test
lftp sftp://ftpuser@localhost
# l'utilisateur reste confiné : « cd .. » ne remonte pas au-dessus de /srv/ftp
Sous-répertoire inscriptible partagé
mkdir /shared
chgrp ftpuser /shared/ -R
ls -l / | grep shared
Voir aussi
- Chroot SSH — configuration rapide du chroot SFTP
- Chroot — principe général du chroot
- Umask — masque de permissions par défaut