en effet, n’importe quel fichier corrompu dans lib ou lib64 du chroot donne aussi ce résultat, je me souviens qu’avec libnss_files.so.2 j’avais été enmerdé avec le même log que toi.
regarde aussi dans /var/log/user.log, il donne des indications sur la séquence du chroot.
[quote=« nykoos »]en effet, n’importe quel fichier corrompu dans lib ou lib64 du chroot donne aussi ce résultat, je me souviens qu’avec libnss_files.so.2 j’avais été enmerdé avec le même log que toi.
regarde aussi dans /var/log/user.log, il donne des indications sur la séquence du chroot.[/quote]
Merci pour ce log qui est plus « causant ». on y voit une erreur, en effet.
[mono]Feb 21 12:34:25 ricardo rssh[7779]: allowing sftp to all users
Feb 21 12:34:25 ricardo rssh[7779]: setting umask to 066
Feb 21 12:34:25 ricardo rssh[7779]: chrooting all users to /home/sftp
Feb 21 12:34:25 ricardo rssh[7779]: chroot cmd line: /usr/lib/rssh/rssh_chroot_helper 2 « /usr/lib/openssh/sftp-server -f LOCAL7 -l INFO »
Feb 21 12:34:25 ricardo rssh_chroot_helper[7779]: new session for cesar, UID=1002
Feb 21 12:34:25 ricardo rssh_chroot_helper[7779]: user’s home dir is /home/cesar
Feb 21 12:34:25 ricardo rssh_chroot_helper[7779]: couldn’t find /home/cesar in chroot jail
Feb 21 12:34:25 ricardo rssh_chroot_helper[7779]: chrooted to /home/sftp
Feb 21 12:34:25 ricardo rssh_chroot_helper[7779]: changing working directory to / (inside jail)[/mono]
Par contre, je ne comprends pas la dernière ligne (en rouge)
la dernière ligne que tu as mis en rouge est normal, je l’ai aussi mais par contre là, c’est pas bon:
Feb 21 12:34:25 ricardo rssh_chroot_helper[7779]: user’s home dir is /home/cesar
Feb 21 12:34:25 ricardo rssh_chroot_helper[7779]: couldn’t find /home/cesar in chroot jail
Feb 21 12:34:25 ricardo rssh_chroot_helper[7779]: chrooted to /home/sftp
tu devrais avoir tout les 2 /home/sftp, chez moi ces 2 lignes indique le même endroit du chroot.
que donne cat /etc/passwd | grep cesar
root@ricardo:~# ls -l /home/sftp/etc
-rw-r–r-- 1 root root 103 févr. 21 00:42 passwd
… cesar est bien présent dans ‘passwd’ avec /home/cesar:/usr/bin/rssh
Alors, j’ai modifié ‘a la mano’ dans
/etc/passwd
& dans
/home/sftp/etc/passwd
ainsi :
cesar:x:1002:1002:cesar,:/home/sftp/cesar:/usr/bin/rssh
Même résultat négatif :
[mono]cesar@serveur’s password:
Connection closed[/mono]
Je regarde le log et je le recopie ici en EDIT
EDIT :
[mono]root@ricardo:~# tail /var/log/user.log
Feb 21 15:02:23 ricardo rssh_chroot_helper[7918]: could not cd to user’s home dir: /cesar
Feb 21 15:04:10 ricardo rssh[7952]: allowing sftp to all users
Feb 21 15:04:10 ricardo rssh[7952]: setting umask to 066
Feb 21 15:04:10 ricardo rssh[7952]: chrooting all users to /home/sftp
Feb 21 15:04:10 ricardo rssh[7952]: chroot cmd line: /usr/lib/rssh/rssh_chroot_helper 2 "/usr/lib/openssh/sftp-server -f LOCAL7 -l INFO"
Feb 21 15:04:10 ricardo rssh_chroot_helper[7952]: new session for cesar, UID=1002
Feb 21 15:04:10 ricardo rssh_chroot_helper[7952]: user’s home dir is /home/sftp/cesar
Feb 21 15:04:10 ricardo rssh_chroot_helper[7952]: chrooted to /home/sftp
Feb 21 15:04:10 ricardo rssh_chroot_helper[7952]: changing working directory to /cesar (inside jail)
Feb 21 15:04:10 ricardo rssh_chroot_helper[7952]: could not cd to user’s home dir: /cesar[/mono]
bon je t’ai indiqué une mauvaise piste alors, tu peux remettre ton /etc/passwd comme il l’était, si je me souviens bien j’avais du modifié le mien pour changer le chemin de dossier par défaut dans le chroot.
là je vois plus trop, et c’est exactement pareil si tu recréais un nouvel utilisateur ?
dans ce tuto: #adduser machin --shell /usr/bin/rssh #grep ‘^machin:’ /etc/passwd >> /home/sftp/etc/passwd
Ça, j’ai déjà essayé plusieurs fois, donc inutile de retester.
J’avais replacé déjà les pass comme avant.
Par contre, je viens d’essayer d’entrer de nouveau dans mon ancien serveur et, contrairement à ce que je pensais, il est encore exploitable en interne,
ET,
je viens de le tester avec un « machin » qui aboutit correctement.
Bien sûr, c’est en interne 192.168.0.X mais ça va me servir pour comparer tous les fichiers et dossiers concernés.
Je reviendrai bientôt pour donner des nouvelles.
Merci encore de l’aide
Affaire règlée : je suis dans l’impossibilité de le faire;
Mon serveur est déjà dans un univers chrooté et on ne peut pas faire un chroot dans un chroot.
ce n’est pas grave, ce sftp ne sert que rarement et je peux le faire par l’intermédiaire d’une autre machine si besoin s’en fait sentir.
Je suis quand même rassuré, je n’avais pas fait d’erreur.
Merci de l’aide quand même.
[quote=“ricardo”]Affaire règlée : je suis dans l’impossibilité de le faire;
Mon serveur est déjà dans un univers chrooté et on ne peut pas faire un chroot dans un chroot.
[/quote]
pas très clair, si c’est par exemple sur un vps, cela devrait être tansparent puisque tu as accès à un système à part entière, c’est pareil qu’une virtual box non ?
et si tu essayais un chroot sftp sans passer par rssh:
j’aimerais avoir ton avis, j’envisage d’utiliser un vps.
#le répertoire de chroot doit appartenir à root:sftp impérativement avec droits 750 sinon “Write failed: Broken pipe”
création de l'utilisateur invite (sans shell,il ne pourra faire que du sftp)
adduser --shell /bin/false invite
addgroup sftp
#on ajoute invite dans le groupe sftp
adduser invite sftp
#le répertoire du chroot doit appartenir à root:sftp impérativement avec droits 750 sinon message d'erreur "Write failed: Broken pipe"
mkdir /sftp
chown root:sftp sftp
chmod 750 /sftp
ajouter dans sshd_config
AllowUsers invite
AllowGroups sftp
Subsystem sftp internal-sftp -f AUTH -l VERBOSE
Match Group sftp
ChrootDirectory /sftp
ne pas oublier de commenter la ligne: #Subsystem sftp /usr/lib/openssh/sftp-server -f LOCAL7 -l INFO
et bien sûr créer un répertoire partage dans le chroot avec les droits écritures pour les utilisateurs sftp.
Tout ce que tu décris, je l’ai vérifié mais j’ai eu l’assurance qu’il m’était impossible de faire un chroot dans mon serveur qui est dans un conteneur LXC lui-même chrooté.
Il s’agissait pour moi d’installer ce sftp sans en avoir vraiment l’utilité, par simple plaisir de tester
D’ailleurs, si j’en avais véritablement besoin, je pourrais me servir de mon ancien serveur qui fonctionne encore. Il me suffirait de le laisser branché le temps du transfert.
Pour ton futur VPS, je pense qu’il en va différemment et que tu devrais pouvoir lui installer un sftp “chrooté”.
[quote=“ricardo”]Affaire règlée : je suis dans l’impossibilité de le faire;
Mon serveur est déjà dans un univers chrooté et on ne peut pas faire un chroot dans un chroot.[/quote]root@portos:/home/francois# chroot /tmp/temporoot/mnt
root@TEMPORAIRE:/ # ls
bin emul home lib64 mnt proc sbin sys usr
boot etc lib lost+found mnt2 root selinux TEMPO var
dev hercule lib32 media opt run srv tmp
root@TEMPORAIRE:/ # chroot /
root@TEMPORAIRE:/ # exit
root@TEMPORAIRE:/ # exit
root@portos:/home/francois#
Ben si, c’est possible la preuve ci dessus
Juste un petit plus : comment faire pour que l’utilisateur ne voit pas les répertoires « dev etc lib lib64 usr » lorsqu’il se connecte via son client ( Filezilla ) ?