hi,
Juste un complément d’information.
J’ai installé rssh, histoire d’apprendre à chrooter avec. j’ai ensuite vidé le fichier de conf pour y mettre :
logfacility = LOG_USER
allowsftp
umask = 022
L’idée étant d’accéder à un répertoire de test /home/test, pour l’instant.
J’ai donc fait un chrootpath="/home/test".
Puis, dans ce répertoire, j’y ai donc copié /usr/bin/rssh/usr/bin/sftp et /usr/bin/ssh.
En fait, c’est après que j’ai un doute : en principe, il faut copier rssh_chroot_helper et sftp-server dans le système de fichier (disons usr/bin) qui sera cloisonné dans le répertoire de connexion (futur répertoire racine). Il faut aussi faire pareil pour sftp, scp, rssh, mais pour ceux-là, ce n’est pas un souci.
Le truc, c’est que rssh_chroot_helper et sftp-server sont décrit comme faisant partie d’un /usr/lib/libexec, à la base. Moi, si je fais un slocate dessus :
sh-3.1# slocate sftp-server
/usr/share/man/man8/sftp-server.8.gz
/usr/lib/sftp-server
/usr/lib/openssh/sftp-server
/home/vsftpd/usr/lib/openssh/sftp-server
/home/test/usr/libexec/sftp-server
sh-3.1# slocate rssh_chroot_helper
/usr/lib/rssh/rssh_chroot_helper
/home/vsftpd/usr/lib/rssh/rssh_chroot_helper
/home/test/usr/libexec/rssh_chroot_helper
De plus :
sh-3.1# pwd
/usr/lib
sh-3.1# ls -l | grep sftp-server
lrwxrwxrwx 1 root root 19 2008-08-11 01:40 sftp-server -> openssh/sftp-server
Autrement dit: /usr/lib/sftpd-server est un lien symbolique qui pointe vers /usr/lib/openssh/sftp-server
Alors, je dois copier “quoi”, vers usr/bin? (pour ceux qui l’ont déjà fait). Personnellement, je suis parti sur une copie de /usr/lib/openssh/sftp-server et /usr/lib/rssh/rssh_chroot_helper.
Ensuite, il faut copier les dépendances dans le répertoire à chrooter. On s’en tire donc avec ldd pour les repérer :
Monstre:/home/test# ldd /usr/bin/sftp
linux-vdso.so.1 => (0x00007fff20ffe000)
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00002b4089e08000)
libutil.so.1 => /lib/libutil.so.1 (0x00002b408a1a3000)
libz.so.1 => /usr/lib/libz.so.1 (0x00002b408a3a6000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00002b408a4bd000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x00002b408a6d5000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00002b408a90d000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00002b408ab22000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00002b408ad4e000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00002b408afef000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00002b408b216000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00002b408b318000)
libedit.so.2 => /usr/lib/libedit.so.2 (0x00002b408b520000)
libncurses.so.5 => /lib/libncurses.so.5 (0x00002b408b644000)
libc.so.6 => /lib/libc.so.6 (0x00002b408b79f000)
libdl.so.2 => /lib/libdl.so.2 (0x00002b408baf2000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00002b408bcf7000)
/lib64/ld-linux-x86-64.so.2 (0x00002b4089beb000)
Pour copier les librairies, il faut utiliser ce résultat comme ceci: il faut copier les dépendances qui sont dans /lib dans /home/lib et celles de /usr/lib dans /home/usr/lib en respectant l’arborescence.
Ma question, cette fois, est : quesako de /lib64/ld-linux-x86-64.so.2 ou de linux-vdso.so.1??
Pour l’instant, je n’ai que des connexions closed, et d’après mes recherches, c’est parce que je n’aurais pas tout copié dans le répertoire d’arrivé.
Merci d’avance!


