एक चेरोट जेल के अंदर / बिन और / देय प्रदान करना


11

मुझे चेरोट जेल के अंदर / बिन और / काम करने योग्य निर्देशिका प्रदान करने में सक्षम होना चाहिए ताकि प्रोग्राम गतिशील रूप से ठीक से लिंक कर सकें।

वहाँ एक तरह से पूरा करने का एक तरीका है / बिन और / लिबास की प्रतिलिपि चिरोट जेल में?

मैंने सहानुभूति की कोशिश की है, और वे चेरोट जेलों के अंदर से काम नहीं करते हैं, और निर्देशिकाओं को हार्डलिंक नहीं किया जा सकता है।

जवाबों:


14

आप 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

चीयर्स!


2
बहुत बहुत धन्यवाद। लिनक्स बस बेहतर और बेहतर हो रहा है जितना मैं इसके साथ खेलता हूं: पी
अनाम कायर

मुझे खुशी है कि इसने अच्छा काम किया! चीयर्स!
11

3

यदि आप निर्देशिकाओं को माउंट नहीं करना चाहते हैं जैसा कि jgr ने कहा है, तो आप cpनिर्देशिकाओं की प्रतिलिपि बनाने और सभी फ़ाइलों के लिए हार्डलिंक बनाने के लिए उपयोग कर सकते हैं :

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

इस तरह से अपने chroot की /binऔर /libमुख्य निर्देशिका की तुलना में थोड़ा अलग संरचना / सामग्री हो सकती है।


1
अच्छा विचार है, लेकिन अगर / chroot एक अलग डिवाइस पर है तो यह काम नहीं करेगा। आप डिवाइसों में हार्डलिंक नहीं कर सकते।
एलनकेल

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
ऐसा लगता है कि प्रश्न की मंशा मौजूदा फाइलों को चेरोट में कॉपी करने के बजाय एक्सेस प्रदान करने की है।
Psusi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.