User Tools

Site Tools


команда_chroot

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
команда_chroot [2017/12/05 11:07]
val [Ubuntu]
команда_chroot [2024/02/08 11:28]
val
Line 19: Line 19:
 # man file # man file
  
-# mkdir /​var/​www/​bin 
-# mkdir /​var/​www/​usr/​ 
-# mkdir /​var/​www/​usr/​bin 
  
-# mkdir -p /​var/​www/​usr/​share/misc+cat makechroot.sh 
 +</​code><​code>​ 
 +mkdir /​var/​www/​bin 
 +mkdir /​var/​www/​usr/​ 
 +mkdir /​var/​www/​usr/bin
  
-# cp /bin/bash /​var/​www/​bin/​ +mkdir -p /​var/​www/​usr/​share/misc
-# 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 /bin/bash /var/www/bin/ 
 +cp /​bin/​cat ​/var/www/bin/ 
 +cp /usr/bin/file /​var/​www/​usr/​bin/​ 
 +cp /​usr/​bin/​date /​var/​www/​usr/bin/
  
-# # For i386 Debian/Ubuntu+cp /​usr/​share/​misc/​magic.mgc /​var/​www/​usr/​share/​misc/
  
-mkdir /​var/​www/​lib +mkdir /​var/​www/​lib/ 
-mkdir /var/www/i386-linux-gnu/​ +mkdir /var/www/lib64 
-mkdir /​var/​www/​lib/​i386-linux-gnu/​ +mkdir /​var/​www/​lib/​x86_64-linux-gnu/​ 
-mkdir /​var/​www/​usr/​lib+mkdir -p /​var/​www/​usr/​lib/​x86_64-linux-gnu/​
  
-cp /lib/​ld-linux.so./var/www/lib+cp /lib64/ld-linux-x86-64.so./var/www/lib64
-cp /lib/i386-linux-gnu/​libtinfo.so./​var/​www/​lib/​i386-linux-gnu/​ +cp /lib/x86_64-linux-gnu/​libtinfo.so./​var/​www/​lib/​x86_64-linux-gnu/​ 
-cp /lib/i386-linux-gnu/​libdl.so./​var/​www/​lib/​i386-linux-gnu/​ +cp /lib/x86_64-linux-gnu/​libdl.so./​var/​www/​lib/​x86_64-linux-gnu/​ 
-cp /lib/i386-linux-gnu/​libc.so./​var/​www/​lib/​i386-linux-gnu/​ +cp /lib/x86_64-linux-gnu/​libc.so./​var/​www/​lib/​x86_64-linux-gnu/​ 
-cp /lib/i386-linux-gnu/​libz.so./​var/​www/​lib/​i386-linux-gnu/​ +cp /lib/x86_64-linux-gnu/​libz.so./​var/​www/​lib/​x86_64-linux-gnu/​ 
-# cp /usr/lib/i386-linux-gnu/​libmagic.so./​var/​www/​usr/​lib/​+#debian11 cp /​lib/​x86_64-linux-gnu/​libbz2.so.* /​var/​www/​lib/​x86_64-linux-gnu/​ 
 +cp /usr/lib/x86_64-linux-gnu/​libmagic.so./​var/​www/​usr/​lib/​x86_64-linux-gnu/​ 
 +</​code><​code>​ 
 +# sh makechroot.sh 
 +</​code>​
  
-# # For x86_64 Debian/​Ubuntu+=== Создание окружения через debootstrap ===
  
-# mkdir /var/www/lib/ +  * [[https://wiki.debian.org/ru/Debootstrap]]
-# 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/​ 
-</​code>​ 
- 
-=== Создание окружения через debootstrap === 
 <​code>​ <​code>​
-root@server:​~# apt install debootstrap+debian# apt install debootstrap
  
-ubuntu16debootstrap ​--variant=minbase --arch amd64 xenial /var/www/+debianlsb_release ​-a
  
-debian9# debootstrap --variant=minbase --arch ​i386 stretch ​/var/www/+debian# debootstrap --variant=minbase --arch ​amd64 buster ​/var/www/
 </​code>​ </​code>​
  
Line 73: Line 67:
   * [[http://​www.serverschool.com/​dedicated-servers/​how-to-build-a-chroot-environment-in-centos/​|How to Build a Chroot Environment in CentOS]]   * [[http://​www.serverschool.com/​dedicated-servers/​how-to-build-a-chroot-environment-in-centos/​|How to Build a Chroot Environment in CentOS]]
  
-==== FreeBSD ==== 
  
-=== Создание ​окружения "в ручную" ​===+==== Тестирование ​====
 <​code>​ <​code>​
-# ldd /bin/sh +# chroot /var/www/ /bin/bash
-# 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/​ +
-</​code>​ +
- +
-=== Создание окружения через make buildworld === +
- +
-[[Технология jail#​Создание "​мира"​]] +
- +
-==== Тестирование окружения ==== +
-<​code>​ +
-debian# chroot /var/www/ /bin/bash+
   или   или
-freebsdchroot ​/var/www/bin/sh+unshare -R /var/www /bin/bash
  
 # echo * # echo *
Line 124: Line 82:
 # cat /etc/passwd # cat /etc/passwd
 </​code>​ </​code>​
 +
  
 ===== shell inetd web сервер в chroot ===== ===== shell inetd web сервер в chroot =====
Line 129: Line 88:
   * [[Сервис INETD]]   * [[Сервис INETD]]
  
-==== Debian/​Ubuntu/​FreeBSD ​====+==== Debian/​Ubuntu====
  
 <​code>​ <​code>​
Line 140: Line 99:
 ... ...
 base=/ base=/
 +log=/​webd.log
 ... ...
 </​code>​ </​code>​
  
-==== Debian/​Ubuntu ​====+===== Поиск всех процессов в chroot ​===== 
 + 
 +  * [[https://​support.cpanel.net/​hc/​en-us/​articles/​1500012454701-How-To-Find-The-List-Of-All-The-Chroot-ed-Processes-On-The-System|How To Find The List Of All The Chroot-ed Processes On The System?]]
  
 <​code>​ <​code>​
-# cat /etc/inetd.conf +for file in `find /proc-type l -name "​root"​ -print 2> /dev/null | grep -Eiv /task2> /dev/null`; do PID=`ls -d $file 2> /dev/null| awk -F "/" '​{print $3}'` && printf "%s = %s = %s\n" "​$PID"​ `ps -p "​$PID"​ 2> /dev/null | tail -n1 | awk '​{print $4}'` `readlink $file 2> /dev/null` | grep -Eiv "​(= ​/$|^\s*=\s*$|^.*?​=\s*$)";​done
-</code><​code>​ +
-... +
-#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+
 </​code>​ </​code>​
  
-  * [[Сервис INETD#​Запуск]] inetd 
- 
-==== FreeBSD ==== 
- 
-<​code>​ 
-# cat /​etc/​inetd.conf 
-</​code><​code>​ 
-... 
-#http stream tcp nowait root /​usr/​local/​sbin/​webd webd 
-http stream tcp nowait root /​usr/​sbin/​chroot chroot /var/www/ /sbin/webd 
-</​code><​code>​ 
-# service inetd restart 
-</​code>​ 
команда_chroot.txt · Last modified: 2024/05/14 15:09 by val