ড্রপবিয়ার getpwnam
ব্যবহারকারীর অ্যাকাউন্ট সম্পর্কে তথ্য পেতে স্ট্যান্ডার্ড লাইব্রেরি ফাংশনটি কল করে । GNU libc (অ-এম্বেডেড লিনাক্স সিস্টেমের জন্য স্ট্যান্ডার্ড লাইব্রেরি) সহ সিস্টেমে, এই ফাংশনটি এনএসএস প্রক্রিয়া সহ বিভিন্ন ধরণের ডাটাবেসগুলি জিজ্ঞাসা করতে পারে /etc/passwd
। এম্বেড থাকা সিস্টেমগুলি বিভিন্ন ধরণের libc (uClibc, ডায়েটলিবিসি,…) চালাতে পারে এবং এগুলির মধ্যে পথটি /etc/passwd
বেকড হওয়ার ঝোঁক থাকে।
ড্রপবিয়ার (বা আপনার libc) প্যাচিং এবং পুনরায় সংশ্লেষের সংক্ষিপ্ততা, আপনাকে /etc/passwd
কোনওরকম সেই ফাইল সরবরাহ করতে হবে। কেবলমাত্র পঠনযোগ্য ফাইল সিস্টেমের উপরে অতিরিক্ত ফাইল উপস্থিত হওয়ার উপায় রয়েছে, ফাইল সিস্টেম পরিবর্তন করে নয়, পরিবর্তে কার্নেলকে এই স্থানগুলিতে একটি পৃথক ফাইল সিস্টেম থেকে ফাইল সরবরাহ করার নির্দেশ দিয়ে। জেনেরিক প্রক্রিয়াটি ইউনিয়ন মাউন্ট , তবে এম্বেডড লিনাক্স সিস্টেমগুলির প্রায়শই ভাল ইউনিয়ন মাউন্ট বৈশিষ্ট্যের অভাব থাকে।
বিভিন্ন বিষয়বস্তু সহ একটি ফাইল সিস্টেমের অবস্থানকে ওভাররাইড করার অপেক্ষাকৃত সহজ উপায় mount --bind
। কমান্ডটি চালানোর পরে mount --bind /else/where
/ কিছু / কোথায় , any access to a file
/ কিছু / যেখানে / কিছু / যেখানে / কিছু / actually accesses the file
ফাইল ; any file in the “true”
/ অন্য / যেখানে is hidden. However, you cannot directly make a file appear this way: both
/ অন্যথায় / যেখানে and
/ কিছু / যেখানে have to exist (although they don't have to be directories). So you can't make
/ ইত্যাদি come into existence, but you can override
/ পাসডউইডি / ইত্যাদি `
এমন একটি ডিরেক্টরি তৈরি করুন যার জন্য আপনার প্রতিস্থাপন থাকবে /etc
। আসুন এটি বলা যাক /custom/etc
।
mkdir /custom/etc
একটি মাউন্ট পয়েন্ট তৈরি করুন যেখানে আপনি আসলটি স্থানান্তর করবেন /etc/
।
mkdir /custom/original-etc
etc
আসল ফাইলগুলির প্রতিস্থাপনে প্রতীকী লিঙ্কগুলি তৈরি করুন ।
cd /etc
for x in *; do ln -s "../original-etc/$x" "/custom/etc/$x"; done
passwd
আপনার প্রতিস্থাপন etc
শ্রেণিবিন্যাসে একটি ফাইল তৈরি করুন ।
echo "root:x:0:0:root:/:/bin/sh" >/custom/etc/passwd
বুট করার সময়, প্রথমে একটি বাঁধাই করা মূল একটি দৃশ্য তৈরি করতে মাউন্ট সঞ্চালন /etc
এ অনুক্রমের /custom/original-etc
, তারপর বেঁধে আপনার প্রতিস্থাপন একটি দৃশ্য তৈরি করতে মাউন্ট সঞ্চালন /etc
এ /etc
। এই কমান্ডগুলি এমন একটি স্ক্রিপ্টে রাখুন যা প্রারম্ভকালে কার্যকর হয় (একই স্ক্রিপ্ট যেখানে আপনি ড্রপবার সার্ভার শুরু করেন, স্পষ্টতই ড্রপবার শুরু করার আগে)।
mount --bind /etc /custom/original-etc
mount --bind /custom/etc /etc