Bonjour,
J’ai trouvé une solution pour chrooter un utilisateur qui se connecte en sftp via filezilla par exemple mais le résultat ne me conviens pas… je m’explique.
J’ai modifié le fichier de configuration sshd_config comme ceci sachant que le home de l’utilisateur est situé dans /public sur une autre partition:
PermitRootLogin no
Subsystem sftp internal-sftp
X11Forwarding no
Match Group sftpchrooted
ChrootDirectory /public/%u
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
J’ai créé l’utilisateur titi et l’ai ajouté au groupe sftpchrooted.
Puis j’ai changer les attribut du home de titi comme ceci:
chown root:root /public/titi
J’ai créé un dossier data dans son home et changer l’attribut utilisateur:
mkdir /public/titi/data
chown titi /public/titi/data
Enfin, j’ai créé un nouveau home dans le home de titi et y ai créé un liens symbolique vers data:
mkdir /public/titi/home
ln -s …/data /public/titi/home
Résultat:
ça fonctionne, titi est bien chrooté dans son home mais voici l’arborescence du répertoire de connexion:
/public/titi/
├── data
└── home
└── titi -> …/data
j’accède à tous les répertoires en dessous de /public/titi et pas au dessus, ça ça me va.
je ne peux pas créer de fichier dans /public/titi, pourquoi pas…
je peux créer un fichier dans /public/titi/data, ça ça me va.
Même si cela fonctionne, le problème est que je souhaite que l’utilisateur ne se connecte pas dans /public/titi mais directement dans data avec les droit actuels (rwx) et ne puisse pas remonter.