রানিং unshare -m
কলিং প্রক্রিয়াটিকে তার মাউন্ট নেমস্পেসের একটি ব্যক্তিগত অনুলিপি দেয় এবং ফাইল সিস্টেমের বৈশিষ্ট্যগুলিও ভাগ করে না দেয় যাতে এটি আর রুট ডিরেক্টরি, বর্তমান ডিরেক্টরি বা অন্য কোনও প্রক্রিয়ার সাথে উমাস্ক বৈশিষ্ট্যগুলি ভাগ করে না।
তাহলে উপরের অনুচ্ছেদটি কী বলে? আসুন একটি সাধারণ উদাহরণ ব্যবহার করে বোঝার চেষ্টা করি।
বন্দর 1:
আমি প্রথম টার্মিনালে নীচের কমান্ডগুলি করি।
#Creating a new process
unshare -m /bin/bash
#creating a new mount point
secret_dir=`mktemp -d --tmpdir=/tmp`
#creating a new mount point for the above created directory.
mount -n -o size=1m -t tmpfs tmpfs $secret_dir
#checking the available mount points.
grep /tmp /proc/mounts
শেষ কমান্ডটি আমাকে এইভাবে আউটপুট দেয়,
tmpfs /tmp/tmp.7KtrAsd9lx tmpfs rw,relatime,size=1024k 0 0
এখন, আমি নিম্নলিখিত কমান্ডগুলিও করেছি।
cd /tmp/tmp.7KtrAsd9lx
touch hello
touch helloagain
ls - lFa
ls
কমান্ডের আউটপুট হ'ল
ls -lFa
total 4
drwxrwxrwt 2 root root 80 Sep 3 22:23 ./
drwxrwxrwt. 16 root root 4096 Sep 3 22:22 ../
-rw-r--r-- 1 root root 0 Sep 3 22:23 hello
-rw-r--r-- 1 root root 0 Sep 3 22:23 helloagain
সুতরাং এই সব করতে বড় জিনিস কি? আমি এটা কেন করব?
আমি এখন অন্য টার্মিনালটি খুলি ( টার্মিনাল 2 ) এবং নীচের কমান্ডগুলি করি।
cd /tmp/tmp.7KtrAsd9lx
ls - lFa
আউটপুট নীচের হিসাবে হয়।
ls -lFa
total 8
drwx------ 2 root root 4096 Sep 3 22:22 ./
drwxrwxrwt. 16 root root 4096 Sep 3 22:22 ../
ফাইল hello
এবং helloagain
দৃশ্যমান নয় এবং আমি এমনকি এই ফাইল চেক রুট হিসেবে লগ ইন। সুতরাং সুবিধাটি হ'ল এই বৈশিষ্ট্যটি আমাদের পক্ষে একটি ব্যক্তিগত অস্থায়ী ফাইল সিস্টেম তৈরি করা সম্ভব করে তোলে যা এমনকি অন্যান্য মূলের মালিকানাধীন প্রক্রিয়াগুলি দেখতে বা ব্রাউজ করতে পারে না।
ম্যান পেজ থেকে unshare
,
মাউন্ট নেমস্পেস মাউন্টিং এবং আন-মাউন্ট করা ফাইল সিস্টেমগুলি সিস্টেমের বাকি অংশগুলিকে (CLONE_NEWNS পতাকা) প্রভাবিত করবে না, স্পষ্টভাবে ভাগ করা হিসাবে চিহ্নিত (যেমন - মাউন্ট-শেয়ার্ড সহ; ভাগ করা ফ্ল্যাগগুলির জন্য / প্রোকে / স্ব / মাউন্টিনফো) দেখুন yste
নতুন নেমস্পেসের মাউন্টপয়েন্টগুলি প্যারেন্টাল নেমস্পেস থেকে সত্যই ভাগ করা যায় না তা নিশ্চিত করার জন্য আন-শেয়ার - মাউন্টের পরে মাউন্ট --make-rprivate বা মাউন্ট --make-rslave ব্যবহার করার পরামর্শ দেওয়া হয়।
নেমস্পেসের জন্য ব্যবহৃত মেমরিটি হ'ল ভিএফএস যা কার্নেল থেকে আসে। এবং - যদি আমরা এটি প্রথম স্থানে সেট আপ করি - আমরা সম্পূর্ণ ভার্চুয়াল পরিবেশ তৈরি করতে পারি যেখানে আমরা রুট অনুমতি ছাড়াই মূল ব্যবহারকারী।
তথ্যসূত্র:
উদাহরণটি এই ব্লগ পোস্টের বিবরণ ব্যবহার করে তৈরি করা হয়েছে । এছাড়াও, এই উত্তরের উদ্ধৃতিগুলি মাইকের এই দুর্দান্ত ব্যাখ্যা থেকে এসেছে । এ সম্পর্কিত আরও একটি দুর্দান্ত পঠন উত্তর থেকে পাওয়া যাবে ।