Cung cấp / bin và / lib trong nhà tù chroot


11

Tôi cần có khả năng cung cấp các thư mục / bin và / lib bên trong nhà tù chroot để các chương trình có thể tự động liên kết chính xác.

Có cách nào để thực hiện điều này mà không cần sao chép các thư mục / bin và / lib vào nhà tù chroot không?

Tôi đã thử các liên kết tượng trưng và chúng không hoạt động từ bên trong các nhà tù chroot và các thư mục không thể được liên kết cứng.

Câu trả lời:


14

Bạn có thể sử dụng mountđể kể lại các thư mục bạn cần trong tù:

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

Để sử dụng trong /etc/fstab:

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

Chúc mừng!


2
Cảm ơn rất nhiều. Linux càng ngày càng tốt hơn khi tôi chơi với nó nhiều hơn: p
kẻ hèn nhát ẩn danh

Tôi rất vui vì nó hoạt động tốt! Chúc mừng!
JGR

3

Nếu bạn không muốn gắn kết các thư mục như jgr đã nói, bạn có thể sử dụng cpđể sao chép đệ quy các thư mục và tạo liên kết cứng cho tất cả các tệp:

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

Bằng cách này, chroot của bạn /bin/libcó thể có cấu trúc / nội dung hơi khác so với các thư mục chính.


1
Ý tưởng tốt, nhưng nếu / chroot trên một thiết bị khác thì điều này sẽ không hoạt động. Bạn không thể liên kết cứng trên các thiết bị.
AllenKll

1
#!/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
Mục đích của câu hỏi dường như là cung cấp quyền truy cập vào các tệp hiện có thay vì sao chép chúng vào chroot.
psusi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.