« -: Apr 22, 2005, 13:18 »
Имам Debian Woody 2.2.20 kernel и на него последна (и пачната) версия на wu-ftpd. Сам го компилирах и за момента работи, но не мога да chroot-на в home директорията на потребителя и същевременно да виждам директориите и файловете.
Опитвам се да направя guest login а не anonymous както е описано в How-to. Обаче нещо явно бъркам. Проблемът е, че за да работи това трябва да се копира ls в ~/bin и сътветно да се копират библиотеките които са и необходими в директория ~/lib. Директорията ~/bin изглежда ето така:
d--x--x--x 2 root daemon 4096 Apr 12 15:51 .
drwxr-xr-x 6 sasho ftpclien 4096 Apr 12 21:32 ..
---x--x--x 1 root bin 43784 Mar 8 00:52 ls
За да разбера кои са необходимите библиотеки използвам командата ldd ls и ето го изхода от нея:
root# ldd ls
librt.so.1 => /lib/librt.so.1 (0x40016000)
libc.so.6 => /lib/libc.so.6 (0x40027000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40145000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
След това правя директория /home/lib
mkdir lib
chmod 111 lib
както си е описано в ръководството и насипвам вътре библиотеките и създавам символните връзки за да изглежда ето така:
d--x--x--x 2 root root 4096 Mar 23 14:29 .
drwxr-xr-x 6 sasho ftpclien 4096 Apr 12 21:32 ..
---x--x--x 1 root root 90210 Mar 23 14:09 ld-2.2.5.so
lrwxrwxrwx 1 root root 11 Mar 23 14:12 ld-linux.so.2 -> ld-2.2.5.so
-r-xr-xr-x 1 root root 1153784 Mar 23 14:09 libc-2.2.5.so
lrwxrwxrwx 1 root root 13 Mar 23 14:12 libc.so.6 -> libc-2.2.5.so
-r-xr-xr-x 1 root root 102172 Mar 23 14:21 libpthread-0.9.so
lrwxrwxrwx 1 root root 17 Mar 23 14:23 libpthread.so.0 -> libpthread-0.9.so
-r-xr-xr-x 1 root root 23388 Mar 23 14:28 librt-2.2.5.so
lrwxrwxrwx 1 root root 14 Mar 23 14:29 librt.so.1 -> librt-2.2.5.so
При така създадената ситуация ако искам да се chroot-не guest-а добавям guestgroup ftpclient на която е и член потребителя който се логва (в случая sasho) във /etc/ftpaccess файла. ОК chroot-ва се обаче не се виждат директориите и файловете, а ако го махна всичко си работи, но вече потребителя може да излиза в роот директорията, а това вече не го искам.
Пробвах и със статично компилиранa ls но не става пак нищо не се вижда. Дали нещо не съм компилирал демона с необходимия prefix или кернела нещо не е наред с ldd-loader-a просто не знам. Моля ви помагайте.
:)