Всем привет! Я хочу, чтобы в chroot /home/user исполнялось ls . Надо для древнючего netkit ftpd, который одному товарищу хочется, потому как совместимо с живущим у него старинным FTP клиентом - а vsftpd с ним отваливается постоянно. Оный netkit ftpd по команде ls выполняет /bin/ls на машине, соответственно, если он сделал chroot юзеру - то в chrooted environment и выполняет.
Пытаемся разобраться какие файлы нужны ls. # ldd /bin/ls linux-vdso.so.1 (0x00007ffe82161000) libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f54dbf1a000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f54dbd46000) libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f54dbcae000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f54dbca8000) /lib64/ld-linux-x86-64.so.2 (0x00007f54dbf72000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f54dbc86000) Первый из файлов не находится нигде, остальные скопировал в /home/testuser/lib(или lib64)/дальше как указано, скопировал саму команду в /home/bin/ls . Не работает. Массовое копирование /usr/lib, /usr/lib64 и /usr/bin в /home/testuser/lib, /home/testuser/lib64, /home/testuser/bin помогает. Но как-то это грубовато и гигабайт диска коту под хвост. Как бы всё же выяснить нужный набор файлов для ls? Альтернатива - где-то взять статический ls. Взял busybox, который при переименовании в ls вроде бы изображает из себя ls. Положил в /home/testuser/bin под именем ls. Н работает он с netkit ftpd, уж не знаю почему. Более того, я положил его же как /home/testuser/bin/bash - но при вводе команды chroot /home/testuser получаю failed to run command ‘/bin/bash’: No such file or directory . Положил busybox как home/testuser/bin/sh , сделал home/testuser/bin/bash симлинком на него - та же ошибка. То есть почему-то в chroot этот busybox не воспринимается адекватно. -- Yours, Misha Ramendik Unless explicitly stated, all opinions in my mail are my own and do not reflect the views of any organization