Posté par
herodiade() le 23/02/2008 à 00:00. (lien). Évalué à 6.
> l'utilisateur se connecte dans le répertoire /var/www/users/son_login mais il apparait comme racine / pour lui.
Non, sftp va se chrooter dans ChrootDir, puis va faire un chdir() dans la home de l'user (telle qu'indiquée dans /etc/passwd, mais relative à la chroot).
Autrement dit, si la home de toto indiquée dans /etc/passwd est "/home/toto", que le ChrootDir indiqué dans sshd_config est est "/chroot", alors sftp :
1- se chrootera dans /chroot
2- puis se déplacera dans /home/toto, relativement à sa chroot (donc en vrai, dans /chroot/home/toto).
3- l'utilisateur toto pourra voir les répertoires contigus à sa home (c'est à dire tout ceux en dessous du répertoire /chroot, y compris /chroot/home/pouet/, s'il existe).
Ce qui me fait penser, au passage et pour compléter la réponse que j'ai donné juste au-dessus, que si on veux garder une arborescence des homes du type /home/user1, /home/user2, alors on doit pouvoir faire :
Match Group sftpusers
ChrootDirectory /home/%u
ForceCommand internal-sftp
Et dans /etc/passwd, indiquer "/" comme path de toutes les homes des utilisateurs qu'on veut chrooter.
Re: Plus précisément
> l'utilisateur se connecte dans le répertoire /var/www/users/son_login mais il apparait comme racine / pour lui.
Non, sftp va se chrooter dans ChrootDir, puis va faire un chdir() dans la home de l'user (telle qu'indiquée dans /etc/passwd, mais relative à la chroot).
Autrement dit, si la home de toto indiquée dans /etc/passwd est "/home/toto", que le ChrootDir indiqué dans sshd_config est est "/chroot", alors sftp :
1- se chrootera dans /chroot
2- puis se déplacera dans /home/toto, relativement à sa chroot (donc en vrai, dans /chroot/home/toto).
3- l'utilisateur toto pourra voir les répertoires contigus à sa home (c'est à dire tout ceux en dessous du répertoire /chroot, y compris /chroot/home/pouet/, s'il existe).
Ce qui me fait penser, au passage et pour compléter la réponse que j'ai donné juste au-dessus, que si on veux garder une arborescence des homes du type /home/user1, /home/user2, alors on doit pouvoir faire :
Et dans /etc/passwd, indiquer "/" comme path de toutes les homes des utilisateurs qu'on veut chrooter.
[ Répondre ]