Настройка Chroot окружения для использования с SSH

Автор Graf, 18 июля 2014, 10:49:39

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.


bormant

#1
Начал править стилистику, но пришёл к выводу, что эту статью проще переписать "по мотивам", прежде всего из-за примеров кода. Например, там, где автор объясняет про bash и его зависимости, можно было построить объяснение намного проще, в таком порядке:
-- потребуется bash, он расположен в /bin/bash
-- потребуются его зависимости, ldd /bin/bash
-- создадим необходимые каталоги и скопируем файлы:
# mkdir /chroot/bin /chroot/lib
# cp /bin/bash /chroot/bin/
# cd /lib
# cp libtermcap.so.2 libdl.so.2 libc.so.6 ld-linux.so.2 /chroot/lib
-- повторим для ls
# cp /bin/ls /chroot/lib
# cp librt.so.1 libcap.so.2 libacl.so.1 libpthread.so.0 libattr.so.1 /chroot/lib

Дальше как есть. Просто по одной команде cp на файл -- расточительство, куда проще при ручном вводе использовать по одной команде на каталог назначения ;-)

Можно оговориться, что для упрощения копирования зависимостей можно использовать что-то вроде (если каталоги уже созданы):
# ldd /bin/bash |\
  cut -d'>' -f2 | cut -d' ' -f2 | grep '^/' | while read f; do cp -n $f /chroot$f; done
или
# ldd /bin/bash |\
  awk '{if($3!="")print $3}' | while read f; do cp -n $f /chroot$f; done

Или с каталогами:
... do mkdir -p /chroot$(dirname $f); cp -n $f /chroot$f; done
[code]

Graf

Как говорится - "слов из песни не выкинешь", а эта статья, всего лишь перевод (возможно, не самый удачный)  :biggrin_mini:
То, что основной смысл можно вложить в пару-тройку абзацев - согласен.
Может возьмешься? ;)
Тогда перевод удалим и будет своя статья, причем самая свежайшая. :)