This is an old revision of the document!
Примечание, в качестве исходных файлов здесь часто будут линки, превращающиеся в обычные файлы с такими же именами при копировании
# ldd /bin/bash # ldd /bin/cat # ldd /usr/bin/file # man file # mkdir /var/www/bin # mkdir /var/www/usr/ # mkdir /var/www/usr/bin # mkdir -p /var/www/usr/share/misc # cp /bin/bash /var/www/bin/ # cp /bin/cat /var/www/bin/ # cp /usr/bin/file /var/www/usr/bin/ # cp /usr/share/misc/magic.mgc /var/www/usr/share/misc/ # # For i386 Debian/Ubuntu # mkdir /var/www/lib # mkdir /var/www/i386-linux-gnu/ # mkdir /var/www/lib/i386-linux-gnu/ # mkdir /var/www/usr/lib # cp /lib/ld-linux.so.2 /var/www/lib/ # cp /lib/i386-linux-gnu/libtinfo.so.5 /var/www/lib/i386-linux-gnu/ # cp /lib/i386-linux-gnu/libdl.so.2 /var/www/lib/i386-linux-gnu/ # cp /lib/i386-linux-gnu/libc.so.6 /var/www/lib/i386-linux-gnu/ # cp /lib/i386-linux-gnu/libz.so.1 /var/www/lib/i386-linux-gnu/ # cp /usr/lib/i386-linux-gnu/libmagic.so.1 /var/www/usr/lib/ # # For x86_64 Debian/Ubuntu # mkdir /var/www/lib/ # mkdir /var/www/lib64 # mkdir /var/www/lib/x86_64-linux-gnu/ # mkdir -p /var/www/usr/lib/x86_64-linux-gnu/ # cp /lib64/ld-linux-x86-64.so.2 /var/www/lib64/ # cp /lib/x86_64-linux-gnu/libtinfo.so.5 /var/www/lib/x86_64-linux-gnu/ # cp /lib/x86_64-linux-gnu/libdl.so.2 /var/www/lib/x86_64-linux-gnu/ # cp /lib/x86_64-linux-gnu/libc.so.6 /var/www/lib/x86_64-linux-gnu/ # cp /lib/x86_64-linux-gnu/libz.so.1 /var/www/lib/x86_64-linux-gnu/ # cp /usr/lib/x86_64-linux-gnu/libmagic.so.1 /var/www/usr/lib/x86_64-linux-gnu/
root@server:~# apt install debootstrap ubuntu16# debootstrap --variant=minbase --arch amd64 xenial /var/www/ debian9# debootstrap --variant=minbase --arch i386 stretch /var/www/ debian9# debootstrap --variant=minbase --arch amd64 stretch /var/www/
# ldd /bin/sh # ldd /bin/cat # ldd /usr/bin/file # man file # mkdir /var/www/bin # mkdir /var/www/lib/ # mkdir /var/www/usr # mkdir /var/www/usr/bin # mkdir /var/www/usr/lib # mkdir /var/www/libexec/ # mkdir -p /var/www/usr/share/misc # cp /bin/sh /var/www/bin/ # cp /bin/cat /var/www/bin/ # cp /usr/bin/file /var/www/usr/bin/ # cp /usr/share/misc/magic.mgc /var/www/usr/share/misc/ # cp /lib/libedit.so.7 /var/www/lib/ # cp /lib/libncurses.so.8 /var/www/lib/ # cp /lib/libz.so.* /var/www/lib/ # cp /lib/libc.so.7 /var/www/lib/ # cp /usr/lib/libmagic.so.4 /var/www/usr/lib/ # cp /libexec/ld-elf.so.1 /var/www/libexec/
debian# chroot /var/www/ /bin/bash или freebsd# chroot /var/www/ /bin/sh # echo * # cat index.html # file -bi index.html # cat /etc/passwd
debian# mount --bind /proc /var/www/proc debian# chroot /var/www/ /bin/bash debian# apt install procps debian# ps ax
# mkdir /var/www/sbin # cp /usr/local/sbin/webd /var/www/sbin/ # cat /var/www/sbin/webd
... base=/ ...
# cat /etc/inetd.conf
... #www stream tcp nowait root /usr/local/sbin/webd webd #www stream tcp nowait nobody /usr/local/sbin/webd webd www stream tcp nowait root /usr/sbin/chroot chroot /var/www/ /sbin/webd
# cat /etc/inetd.conf
... #http stream tcp nowait root /usr/local/sbin/webd webd http stream tcp nowait root /usr/sbin/chroot chroot /var/www/ /sbin/webd
# service inetd restart