লগ ইন করার সময়, আমি নিম্নলিখিতগুলি করতে পারি:
mkdir foo
touch foo/bar
chmod 400 foo/bar
chmod 500 foo
তারপরে আমি ভিম (হিসাবে নয় root
) খুলতে পারি , সম্পাদনা করতে পারি bar
, একটি জোর দিয়ে লিখতে পারি w!
এবং ফাইলটি সংশোধিত হয়।
আমি কীভাবে অপারেটিং সিস্টেমকে কোনও ফাইল সংশোধন নিষিদ্ধ করতে পারি?
আপডেট 02 মার্চ 2017
chmod 500 foo
একটি লাল হেরিং: কোনও ডিরেক্টরিতে লেখার অনুমতি কোনও ফাইলের বিষয়বস্তু সংশোধন করার ক্ষমতা নিয়ে কিছুই করতে পারে না - কেবল ফাইল তৈরি ও মুছার ক্ষমতা।chmod 400 foo/bar
আসলে ফাইলের বিষয়বস্তু পরিবর্তন হতে বাধা দেয়। তবে এটি কোনও ফাইলের অনুমতি পরিবর্তন হতে বাধা দেয় না - কোনও ফাইলের মালিক সর্বদা তার ফাইলের অনুমতিগুলি পরিবর্তন করতে পারেন (ধরে নিলে তারা ফাইলটি অ্যাক্সেস করতে পারে অর্থাৎ সমস্ত পূর্বপুরুষের ডিরেক্টরিতে অনুমতি কার্যকর করতে পারে)। প্রকৃতপক্ষে, স্ট্রেস (1) প্রকাশ করে যে ভিএম (7.4.576 দেবিয়ান জেসি) এটি করছে - ভিএম chmod (2) কে অস্থায়ীভাবে ফাইলের মালিকের জন্য লেখার অনুমতি যুক্ত করতে, ফাইলটি সংশোধন করে এবং chmod কল করে ( 2) আবার লেখার অনুমতি সরাতে। এই কারণেইchattr +i
কাজ করে - শুধুমাত্র রুট কল করতে পারেchattr -i
। তাত্ত্বিকভাবে, ভিম (বা যে কোনও প্রোগ্রাম) চ্যাটারের সাথে একই জিনিস করতে পারে যেমন এটি চিটমোডের সাথে অপরিবর্তনীয় ফাইলে যেমন রুট হিসাবে চালানো হয় তেমন করে।
root
?
vim
আসলে অনুমতিগুলি পরিবর্তন করে এবং আবার এটি ফিরিয়ে দেওয়া হয়।