[résolu] chroot sftp

Salut à tous,
bon ben voilà le problème, j’ai tester une méthode pour chrooter un utilisateur via sftp et scp.
Après avoir copier les librairies et les binaires nécessaires pour l’environnment, ainsi que adapter les chemins pour Debian, je me retrouve avec une erreur de connexion que je n’arrive pas à résoudre, j’ai regardé dans le syslog et voici ce que j’ai :

Oct 26 18:13:05 vmetch rssh[5006]: setting log facility to LOG_USER Oct 26 18:13:05 vmetch rssh[5006]: allowing sftp to all users Oct 26 18:13:05 vmetch rssh[5006]: allowing scp to all users Oct 26 18:13:05 vmetch rssh[5006]: setting umask to 022 Oct 26 18:13:05 vmetch rssh[5006]: chrooting all users to /home Oct 26 18:13:05 vmetch rssh[5006]: chroot cmd line: /usr/lib/rssh/rssh_chroot_helper 2 "/usr/lib/openssh/sftp-server" Oct 26 18:13:05 vmetch rssh_chroot_helper[5006]: new session for toto, UID=1001 Oct 26 18:13:05 vmetch rssh_chroot_helper[5006]: chroot() failed, 2: Operation not permitted

Une operation non permitted me bloque la connexion via sftp !
J’ai beau cherché sur le net, je n’ai rien trouvé sauf des utilisateurs qui avaient le mêm problème que moi mais sans avoir trouvé de solution.

Et d’ailleurs sur le site ou j’ai trouvé le tutorial, il y a aussi un utilisateur qui a le même problème que moi mais son poste est resté sans réponses.

Voici le tutorial : trustonme.net/didactels/318.html

tu as vérifié les differents droits (répertoires /home/bin /home/lib, etc ET fichiers, en particulier les suid) pour voir s’ils étaient identiques dans ta debian et dans ton chroot ?

mais en fait je ne sait pas quoi mettre comme utilisateur et groupe pour les dossiers.

exactement comme leur original hors du chroot:
/bin -> mêmes droits sur /home/bin
/usr -> mêmes droits sur /home/usr
.
.
.

ok j’ai mi les même droits que leur original et j’ai pareille.
Mais je viens de remarqué que lorsque j’ai fait un :

j’ai ça :

vmetch:~# ldd /usr/bin/sftp linux-gate.so.1 => (0xffffe000) libresolv.so.2 => /lib/tls/libresolv.so.2 (0xa7f42000) libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xa7e08000) libutil.so.1 => /lib/tls/libutil.so.1 (0xa7e03000) libz.so.1 => /usr/lib/libz.so.1 (0xa7def000) libnsl.so.1 => /lib/tls/libnsl.so.1 (0xa7dd9000) libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xa7dab000) libselinux.so.1 => /lib/libselinux.so.1 (0xa7d96000) libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xa7d7a000) libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xa7cfd000) libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xa7cd8000) libcom_err.so.2 => /lib/libcom_err.so.2 (0xa7cd5000) libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xa7cd0000) libedit.so.2 => /usr/lib/libedit.so.2 (0xa7cb5000) libncurses.so.5 => /lib/libncurses.so.5 (0xa7c74000) libc.so.6 => /lib/tls/libc.so.6 (0xa7b41000) libdl.so.2 => /lib/tls/libdl.so.2 (0xa7b3d000) libsepol.so.1 => /lib/libsepol.so.1 (0xa7afd000) /lib/ld-linux.so.2 (0xa7f5c000)

mais le problème c que ce sont pour la plupart des lien symboliques.

Et si je fais un :

et il me copie dans le chroot les liens symboliques !! c normal ?

en fait /lib/tls/libc.so.6 est lié à /lib/tls/libc-2.3.6.so

je sais pas si ça a un rapport?

Ben tu as trouvé le problême, je crois.
Recopies les fichiers vers lequel ils pointent au lieu des liens et AMA c’est bon.
En tout cas ça ne peut pas marcher avec des liens symboliques, sauf s’ils pointent, dans le chroot, vers des vrais fichiers situés dans le chroot au même endroit relatif.

Arrf obligé de me le tappé à la mano !
Bon je laisse tombé pour aujourd’hui, je fait un ‘init 0’ et je continuerais demain.
@+

[quote=“dexmon”]Arrf obligé de me le tappé à la mano !
Bon je laisse tombé pour aujourd’hui, je fait un ‘init 0’ et je continuerais demain.
@+[/quote]Pour info, sous linux, c’est équivalent, mais en unix de manière générale, il faut impérativement passer par shutdown (pas par halt).
C’est une bonne habitude à prendre.

Une methode “simple” dans ce genre de problème c’est d’utiliser strace comme expliqué ici:
hsc.fr/ressources/breves/chr … sh.html.fr
Avec strace et ldd tu aura le strict minimum.