Обеспечение / мусорное ведро и / lib в chroot тюрьме

Пакет Исходного выделения поставляется с esc.outlang определением выходного языка, которое выделяется с escape-последовательностями ANSI.

Удобная обертка src-hilite-lesspipe.sh также включен в пакет, так отображение выделенного вывода в терминале справедливо src-hilite-lesspipe.sh source.file.

На самом деле src-hilite-lesspipe.shосновная причина должна помочь автоматизации использования source-highlight с less. Вы просто устанавливаете:

export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '

Затем любой less source.file покажет выделенный исходный код. (Код на неизвестном языке пройдет неизменный. Выделение будет также пропущено в случае перенаправленного содержания, как less < source.file.)

11
16.12.2010, 14:15
3 ответа

Вы могли использовать mount для перемонтирования каталогов, Вам нужно в Вашей тюрьме:

# mount --bind /bin /chroot/bin
# mount --bind /lib /chroot/lib
# chroot /chroot

Для использования в /etc/fstab:

/bin /chroot/bin none bind
/lib /chroot/lib none bind

Удачи!

14
27.01.2020, 19:58
  • 1
    Большое спасибо. Linux просто сохраняет улучшение и лучше больше я играю с ним Примечание :p –  anonymous coward 17.12.2010, 04:17
  • 2
    я рад, что он удался хорошо!Удачи! –  jgr 17.12.2010, 13:00

Если Вы не хотели монтировать каталоги, как jgr сказал, можно использовать cp к recursivly копируют каталоги и создают hardlinks для всех файлов:

cp -alf /bin /chroot/bin
cp -alf /lib /chroot/lib
chroot /chroot

Таким образом, Ваш chroot's /bin и /lib может иметь немного отличающуюся структуру / содержание, чем основные каталоги.

3
27.01.2020, 19:58
  • 1
    Хорошая идея, но если/chroot находится на другом устройстве, это не будет работать. Вы не можете hardlink через устройства. –  AllenKll 06.05.2016, 21:23
#!/bin/bash

copy_file_and_dependencies() {
    PROGRAM="$1"
    DEPENDENCIES="$(ldd "$PROGRAM" | awk '{ print $3 }' | grep -v '(' | grep -v 'not a dynamic executable')"

    mkdir -p "${JAIL}$(dirname $PROGRAM)"
    cp -Lv "$PROGRAM" "${JAIL}${PROGRAM}"

    for f in $DEPENDENCIES; do
        mkdir -p "${JAIL}$(dirname $f)"
        cp -Lv "$f" "${JAIL}${f}"
    done
}

export -f copy_file_and_dependencies

copy_file_and_dependencies /etc/ld.so.cache
copy_file_and_dependencies /bin/sh
# ...
1
27.01.2020, 19:58

Теги

Похожие вопросы