chroot jail

Thank you for reading this post, don't forget to subscribe!

Как использовать chroot jail

В этом при­ме­ре пока­за­но, как создать и настро­ить chroot jail, что­бы он мог запус­кать коман­ды bash и ls.

Если мы попы­та­ем­ся вой­ти в новый ката­лог, мы полу­чим сле­ду­ю­щий вывод:

1. Создай­те новый ката­лог с име­нем chroot_jail:

Вы долж­ны вклю­чить коман­ду bash, преж­де чем смо­же­те выпол­нить chroot в новый каталог.

Для это­го необ­хо­ди­мо ско­пи­ро­вать команд­ный файл и все свя­зан­ные биб­лио­те­ки в новый кор­не­вой каталог.

2. Создай­те новое дере­во под­ка­та­ло­гов внут­ри chroot_jail:

В этих под­ка­та­ло­гах будут хра­нить­ся все необ­хо­ди­мые эле­мен­ты команд bash и ls.

3. Исполь­зо­ва­ние коман­ды cp с коман­дой which поз­во­ля­ет копи­ро­вать коман­ды bash и ls без ука­за­ния пути, из кото­ро­го вы копируете.

Для это­го используйте:

При­ме­ча­ние. Если ваша коман­да bash или ls име­ет али­ас, вам необ­хо­ди­мо снять его перед копи­ро­ва­ни­ем. Исполь­зуй­те unalias [коман­да], где [command] – это имя коман­ды, кото­рую вы хоти­те удалить.

4. Что­бы bash и ls рабо­та­ли в новой кор­не­вой пап­ке, добавь­те все свя­зан­ные биб­лио­те­ки в chroot_jail/libraries.

Исполь­зуй­те коман­ду ldd, что­бы узнать, какие биб­лио­те­ки свя­за­ны с какой командой:

5. Ско­пи­руй­те соот­вет­ству­ю­щие биб­лио­те­ки в под­ка­та­ло­ги chroot_jail lib и lib64.

Для коман­ды bash:

Для коман­ды ls:

Исполь­зуй­те коман­ду ls, что­бы выве­сти спи­сок всех фай­лов и ката­ло­гов в новом кор­не­вом дере­ве каталогов:

ls -R

7. Как толь­ко вы закон­чи­те исполь­зо­вать новую кор­не­вую пап­ку, вый­ди­те из оболочки: