ক্রুট জেলের ভিতরে / বিন এবং / লিবিব সরবরাহ করা


11

ক্রোট জেলের অভ্যন্তরে / বিন এবং / lib ডিরেক্টরিগুলি সরবরাহ করতে আমার সক্ষম হওয়া দরকার যাতে প্রোগ্রামগুলি গতিশীলভাবে সঠিকভাবে লিঙ্ক করতে পারে।

ক্রুট কারাগারে / বিন এবং / লিব ডায়ারদের একটি অনুলিপি না তৈরি করে এটি সম্পাদনের কোনও উপায় আছে কি?

আমি প্রতিলিঙ্ক চেষ্টা করেছি, এবং তারা ক্রুট জেলের অভ্যন্তর থেকে কাজ করে না, এবং ডিরেক্টরিগুলি হার্ডলিঙ্ক করা যায় না।

উত্তর:


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
অনেক ধন্যবাদ. লিনাক্স আরও ভাল করে যাচ্ছি এটির সাথে আমি আরও খেলে যাচ্ছি: পি
বেনাম কাপুরুষ

আমি আনন্দিত এটি ভাল কাজ করেছে! চিয়ার্স!
jgr

3

আপনি যদি জিজিআর বলেছিলেন ডিরেক্টরিগুলি মাউন্ট করতে না চান, আপনি cpপুনরাবৃত্তভাবে ডিরেক্টরিগুলি অনুলিপি করতে এবং সমস্ত ফাইলের জন্য হার্ডলিঙ্ক তৈরি করতে পারেন :

cp -alf /bin /chroot/bin
cp -alf /lib /chroot/lib
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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.