Инструменты пользователя

Инструменты сайта


команда_chroot

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
команда_chroot [2018/02/07 08:15]
val [Debian/Ubuntu]
команда_chroot [2020/07/21 11:37] (текущий)
val [Тестирование изоляции процессов]
Строка 19: Строка 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/
  
-# # 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/​+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/​ 
- 
- 
-# # For x86_64 Gentoo 
- 
-# mkdir /​var/​www/​lib/​ 
-# mkdir /​var/​www/​lib64 
-# mkdir -p /​var/​www/​usr/​lib64/​ 
- 
-# cp /​lib64/​libreadline.so.6 /​var/​www/​lib64/​ 
-# cp /​lib64/​libncurses.so.6 /​var/​www/​lib64/​ 
-# cp /​lib64/​libc.so.6 /​var/​www/​lib64/​ 
-# cp /​lib64/​ld-linux-x86-64.so.2 /​var/​www/​lib64/​ 
-# cp /​usr/​lib64/​libmagic.so.1 /​var/​www/​usr/​lib64/​ 
-</​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/
-debian9# debootstrap --variant=minbase --arch amd64 stretch ​/var/www/+
 </​code>​ </​code>​
  
Строка 87: Строка 65:
   * [[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>​ 
-# 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/​ 
-</​code>​ 
- 
-=== Создание окружения через make buildworld === 
- 
-[[Технология jail#​Создание "​мира"​]] 
  
 ==== Тестирование ==== ==== Тестирование ====
 <​code>​ <​code>​
-debian# chroot /var/www/ /bin/bash +# chroot /var/www/ /bin/bash
-  или +
-freebsd# chroot /var/www/ /bin/sh+
  
 # echo * # echo *
Строка 139: Строка 79:
 </​code>​ </​code>​
  
-==== Тестирование изоляции процессов ==== 
-<​code>​ 
-debian# mount --bind /proc /​var/​www/​proc 
  
-debian# chroot /var/www/ /bin/bash 
- 
-debian# apt install procps 
- 
-debian# ps ax 
-</​code>​ 
 ===== shell inetd web сервер в chroot ===== ===== shell inetd web сервер в chroot =====
  
   * [[Сервис INETD]]   * [[Сервис INETD]]
  
-==== Debian/​Ubuntu/​FreeBSD ​====+==== Debian/​Ubuntu====
  
 <​code>​ <​code>​
Строка 167: Строка 98:
 </​code>​ </​code>​
  
-==== Debian/​Ubuntu ==== 
  
-<​code>​ 
-# cat /​etc/​inetd.conf 
-</​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>​ 
- 
-  * [[Сервис 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.1517980526.txt.gz · Последние изменения: 2018/02/07 08:15 — val