শুধু বাইন্ড-মাউন্ট পড়ুন?


9

আমি ক্রুটের অভ্যন্তরে ডিরেক্টরিগুলি মাউন্ট করার জন্য মাউন্ট-ই বাইন্ড ব্যবহার করি যা সত্যই ভাল কাজ করে। সমস্যাটি হ'ল আমি চাই যে এই বাইন্ড-মাউন্টেড ডিরেক্টরিগুলির মধ্যে কয়েকটি কেবল ক্রোটে পড়তে পারা যায়।

এটা কি সম্ভব? তা না হলে - এটি অর্জনের অন্য কোনও উপায়?

আমি লোকালহোস্ট মাউন্টগুলির জন্য এনএফএস ব্যবহার করার বিষয়ে ভাবছিলাম, তবে এটি ওভারকিলের মতো দেখাচ্ছে।

উত্তর:


6

এই নিবন্ধ অনুযায়ী এটি সম্ভব। আপনার একটি সাম্প্রতিক কার্নেল দরকার।

mount --bind -o ro /vital_data /untrusted_container/vital_data


4

স্কিজে এটি কেবলমাত্র কাজ করে:

mount --bind /src /dst

তারপর

mount -o remount,ro /dst

এখন ডেবিয়ান হুইজি তে আপনাকে করতে হবে:

mount -o remount,ro,bind /dst

পরিত্রাণ পেতে: রিসোর্স ব্যস্ত বার্তা।

সম্পাদনা করুন: এখন ডেবিয়ান জেসিতে, মাউন্টটি স্মার্ট হওয়ার চেষ্টা করে এবং সাব ডায়ারগুলি মাউন্ট করে, যা ইতিমধ্যে বাঁধাইয়ের সাথে মাউন্ট করা থাকলে পুনরাবৃত্ত হয় এবং খারাপ জিনিস ঘটে :)

একটি বিশেষ বিকল্প রয়েছে যা ব্যবহার-লিনাক্সকে আবার 'বোকা' হতে বাধ্য করে। সমাধানগুলি হ'ল:

mount --bind --make-rprivate /sbin/ $prefix/sbin/
mount -o remount,ro,bind $prefix/sbin/

এর পরে আপনি --bind $ উপসর্গ / sbin অন্য dir এ মাউন্ট করতে পারেন।

ম্যান পৃষ্ঠা থেকে:

ভাগ করা সাবট্রি অপারেশন। লিনাক্স ২.6.১৫ যেহেতু একটি মাউন্ট এবং এর সাবমোন্টগুলি ভাগ করা, ব্যক্তিগত, ক্রীতদাস বা অবিবাহযোগ্য হিসাবে চিহ্নিত করা সম্ভব। একটি ভাগ করা মাউন্ট সেই মাউন্টের আয়না তৈরি করার ক্ষমতা সরবরাহ করে যা কোনও আয়নাতে মাউন্ট এবং আনমাউন্টগুলি অন্য আয়নাতে প্রচার করে। একটি ক্রীতদাস মাউন্ট তার মাস্টারের কাছ থেকে বংশবৃদ্ধি গ্রহণ করে তবে বিপরীতে নয়। একটি ব্যক্তিগত মাউন্ট কোনও প্রচারের ক্ষমতা বহন করে না। আনবাইন্ডেবল মাউন্টটি একটি প্রাইভেট মাউন্ট যা বাইন্ড অপারেশনের মাধ্যমে ক্লোন করা যায় না। বিস্তৃত শব্দার্থকগুলি কার্নেল উত্স ট্রিতে ডকুমেন্টেশন / ফাইলসিসটেমস / শেয়ারডুবট্রি.টেক্সট ফাইলটিতে নথিভুক্ত করা হয়েছে। সমর্থিত ক্রিয়াকলাপগুলি হ'ল:

     mount --make-shared mountpoint
     mount --make-slave mountpoint
     mount --make-private mountpoint
     mount --make-unbindable mountpoint

নিম্নলিখিত কমান্ডগুলি একটি প্রদত্ত মাউন্টপয়েন্টের অধীনে সমস্ত মাউন্টগুলির ধরণের পুনরাবৃত্তভাবে পরিবর্তন করতে দেয়।

     mount --make-rshared mountpoint
     mount --make-rslave mountpoint
     mount --make-rprivate mountpoint
     mount --make-runbindable mountpoint

মাউন্ট (8) fstab (5) পড়বে না যখন - - মেক- * অপারেশন অনুরোধ করা হয়। সমস্ত প্রয়োজনীয় তথ্য কমান্ড লাইনে নির্দিষ্ট করতে হবে। নোট করুন যে লিনাক্স কার্নেল একক মাউন্ট (2) সিস্কেল সহ একাধিক প্রচারের পতাকা পরিবর্তন করতে দেয় না এবং পতাকাগুলি অন্যান্য মাউন্ট বিকল্পের সাথে মিশ্রিত করা যায় না।

ইউজ-লিনাক্স ২.২৩ যেহেতু মাউন্ট কমান্ডটি একসাথে এবং অন্যান্য মাউন্ট অপারেশনের সাথে একসাথে বেশ কিছু প্রচার পতাকা ব্যবহার করতে দেয়। এই বৈশিষ্ট্যটি এক্সপেরিমেন্টাল। পূর্ববর্তী মাউন্ট ক্রিয়াকলাপ সফল হওয়ার পরে অতিরিক্ত মাউন্ট (2) সাইস্কেল দ্বারা প্রচার পতাকাগুলি প্রয়োগ করা হয়। নোট করুন যে এই ব্যবহারের কেসটি পারমাণবিক নয়। মাউন্ট অপশন (প্রাইভেট, স্লেভ, শেয়ার্ড, আনবাইন্ডেবল, আরপ্রাইভেট, আরএস্লেভ, রিচার্ড, রানবাইন্ডেবল) হিসাবে fstab (5) এ প্রচারের পতাকাগুলি নির্দিষ্ট করা সম্ভব।


2

মাউন্ট - বাইন্ড / ভিভিলি_ডাটা / অবিশ্বস্ত_কন্টেইনার / হিউভিল_ডাটা

মাউন্ট -o রিমাউন্ট, রো, বাঁধাই / অবিশ্বস্ত_কন্টেইনার / জৈব_ডাটা

দ্বিতীয় মাউন্টে আপনাকে "রিমাউন্ট, রো, বাইন্ড" ব্যবহার করতে হবে অন্যথায় / ভিভিলিটিডাটা-র অন্যান্য সমস্ত দর্শনগুলি কেবল পঠনযোগ্য হয়ে উঠবে।


না, আপনি (কমপক্ষে লিনাক্স 3.19 এ না) not bindবিকল্পটি যুক্ত করার প্রয়োজনীয়তা আপনি কোথায় অনুভব করেছেন ?
কার্ল রিখটার

1
@ কার্ল রিখটার - আমি এটি পরীক্ষা করে দেখিনি, তবে এটি প্রয়োজনীয় প্রয়োজন man 2 mountনির্দেশ করে bind: "লিনাক্স ২.6.২6 থেকে, MS_REMOUNTপতাকাটি MS_BINDকেবলমাত্র প্রতি-মাউন্ট-পয়েন্ট ফ্ল্যাগগুলি সংশোধন করতে ব্যবহার করা যেতে পারে read এটি" পঠন "সেট বা পরিষ্কার করার জন্য বিশেষভাবে কার্যকর -only "এ পতাকা একটি অন্তর্নিহিত ফাইলসিস্টেম পরিবর্তন না করে বিন্দু মাউন্ট যেমন mountflags নির্দিষ্ট করা। MS_REMOUNT | MS_BIND | MS_RDONLY, শুধুমাত্র পাঠযোগ্য এই mountpoint মাধ্যমে প্রবেশের সুযোগ সৃষ্টি হবে অন্যান্য পয়েন্ট মাউন্ট প্রভাবিত না করেই।" (উবুন্টু 19.10 থেকে, লিনাক্স man-pages5.0.2, তারিখ 2019-08-02 প্রকাশ করেছে
এমপিবি

1
@ কার্লরিচটার - আপডেট: unix.stackexchange.com/a/128388 অনুসারে , প্রোগ্রামটির একক অনুরোধকালে নতুন সংস্করণ দুটি বার libmountকল করে mount()call /usr/bin/mountসুতরাং এটি libmountকার্নেল সংস্করণের পরিবর্তে এর সংস্করণ, এটি নির্ধারণ করবে যে দুটি অনুরোধের /usr/bin/mountপ্রয়োজন আছে কিনা ।
এমপিবি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.