Chroot SSH
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Domaine | Cloisonnement SFTP/SSH |
| Directive | ChrootDirectory
|
| Voir aussi | Chrooting SFTP · Chroot · Umask |
Cloisonner un utilisateur SFTP dans un répertoire dont il ne peut pas sortir, à l'aide du
sous-système internal-sftp et de la directive ChrootDirectory.
Configuration rapide (exemple RHEL 6)
groupadd sftp-only
# créer l'utilisateur à la racine pour qu'il soit bien positionné après le chroot
useradd -g sftp-only -d /sftpdir -s /sbin/nologin sftp1
passwd sftp1
mkdir /var/www/sftpdir
chown apache:sftp-only /var/www/sftpdir
Dans /etc/ssh/sshd_config :
Subsystem sftp internal-sftp
Match group sftp
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /var/www/%u
ForceCommand internal-sftp
service sshd restart
less /var/log/secure # diagnostiquer les refus éventuels
Permissions du répertoire chrooté
Le répertoire racine du chroot doit appartenir à root et ne pas être inscriptible par le groupe/les autres ; on prévoit un sous-répertoire inscriptible pour l'utilisateur :
chown root /home/bob
chmod go-w /home/bob
mkdir /home/bob/writeable
chown bob:sftponly /home/bob/writeable
chmod ug+rwX /home/bob/writeable
Voir aussi
- Chrooting SFTP — procédure détaillée et test d'un utilisateur chrooté
- Chroot — principe général du chroot
- Umask — masque de permissions par défaut