ঠিক আছে, আমি ম্যাক ওএস এক্স, বিএসডি, এবং লিনাক্সের জন্য "chmod" ম্যান পেজগুলি আবার পড়েছি এবং কয়েকটি পরীক্ষা-নিরীক্ষা করেছি। প্রতীকী মোড সম্পর্কে আমি যা শিখেছি তা এখানে। এটি জটিল হতে পারে তবে এটি বোঝার মতো:
- সাধারণ ফর্মটি হ'ল ধারা [, ধারা …] যেখানে:
- ধারা : = [উগোয়া] [+ - =] [rwxXstugo]
- [ugoa] ( যিনি ) (একাধিক নির্দিষ্ট করুন) এর অর্থ ব্যবহারকারী, গোষ্ঠী, অন্যান্য, বা সকলের জন্য অনুমতি সেট করুন। নির্দিষ্ট না করা থাকলে ডিফল্টটি 'এ' হয় তবে উমাস্ক কার্যকর হয়।
- [+ - =] ( ক্রিয়া ) (একটি নির্দিষ্ট করুন) এর অর্থ:
- + এর অর্থ ইতিমধ্যে কার্যকরভাবে থাকা অনুমতিগুলিতে নির্দিষ্ট অনুমতিগুলি যুক্ত করুন
- - এর অর্থ ইতিমধ্যে কার্যকরভাবে থাকা অনুমতিগুলি থেকে নির্দিষ্ট অনুমতিগুলি সরান
- = এর অর্থ হ'ল নির্দিষ্ট অনুমতিগুলিতে অনুমতিগুলি সেট করুন, সমস্ত অন্যান্য পরিষ্কার করে
- [rwxXstugo] ( অনুমতি ) (rwxXst এর একাধিক বা ugo এর মধ্যে একটি নির্দিষ্ট করে) নির্দিষ্ট ব্যবহারকারী (গুলি) এর জন্য নিম্নলিখিত হিসাবে অনুমতি নির্ধারণ করে:
- r - পড়ুন
- ডাব্লু - লিখুন
- এক্স - এক্সিকিউট / অনুসন্ধান
- এক্স - এক্সিকিউট / অনুসন্ধান iff ডিরেক্টরি বা কোনও এক্সিকিউট বিট ইতিমধ্যে সেট করা ছিল।
- s - suid বা sgid
- t - স্টিকি
- u - ব্যবহারকারীর অনুমতি অনুলিপি করুন
- g - গ্রুপের অনুমতি অনুলিপি করুন
- ও - অন্যান্য অনুমতি অনুলিপি
সুতরাং উদাহরণস্বরূপ, a+x
প্রত্যেকের দ্বারা একটি ফাইল সম্পাদনযোগ্য করা হবে। a+X
প্রত্যেকের দ্বারা এটি সম্পাদনযোগ্য একটি ফাইল তৈরি করে যদি এটি কারও দ্বারা কার্যকর করা হত।
a+x
প্রত্যেককে ডিরেক্টরি অনুসন্ধানযোগ্য করে তুলবে। a+X
প্রত্যেককে ডিরেক্টরি অনুসন্ধানযোগ্য করে তুলবে।
বিএসডি এবং লিনাক্সের মধ্যে মূল পার্থক্যটি হ'ল বিএসডি এর সাথে, chmod কার্যকর করার আগে ফাইলের অনুমতিগুলির উপর ভিত্তি করে সংকল্পটি করা হয়। লিনাক্সের সাথে থাকাকালীন, + এক্স ক্লজটি কার্যকর হওয়ার আগেই সংকল্পটি করা হয়।
সুতরাং বিএসডি-র সাথে সংমিশ্রণটি a-x,a+X
কার্যকর / অনুসন্ধানের অনুমতি সরিয়ে ফেলবে এবং তারপরে প্রত্যেকের দ্বারা ডিরেক্টরি অনুসন্ধানযোগ্য হবে এবং এটি যদি কারও দ্বারা প্রকৃতপক্ষে নির্বাহযোগ্য হয় তবে ফাইল দ্বারা প্রত্যেকের দ্বারা সম্পাদনযোগ্য করে তোলে make
লিনাক্সের সাহায্যে a-x,a+X
এক্সিকিউট / অনুসন্ধানের অনুমতি সরিয়ে ফেলবে এবং তারপরে প্রত্যেকের দ্বারা ডিরেক্টরি অনুসন্ধানযোগ্য হবে, যখন কোনও ফাইলই কারও দ্বারা এক্সিকিউটেবল হয় না।
এখানে একটি কংক্রিটের উদাহরণ রয়েছে: বিএসডি মেশিনে: একটি ডিরেক্টরি, একটি এক্সিকিউটেবল ফাইল এবং একটি এক্সিকিউটেবল ফাইল:
drwxr-x--- 2 falk staff 68 Jul 19 18:01 fee/
-rwxr-x--- 1 falk staff 0 Jul 19 18:01 fie*
-rw-r----- 1 falk staff 0 Jul 19 18:01 foe
লক্ষ্য করুন যে ডিরেক্টরি এবং "fie" উভয়ই এক্সিকিউটেবল / ব্যবহারকারী দ্বারা অনুসন্ধানযোগ্য, তবে অন্যের দ্বারা নয়।
এখন আমরা মৃত্যুদণ্ড কার্যকর করি chmod a-x,a+X *
। প্রথম ধারাটি সমস্ত ফাইলের জন্য সমস্ত ব্যবহারকারীর কাছ থেকে এক্সিকিউট / অনুসন্ধান বিটটি ছিনিয়ে নেবে, তবে দ্বিতীয় ধারাটি "ফি" এবং "ফি" উভয়ের জন্য এটিকে আবার যুক্ত করবে। "ফি" কারণ এটি একটি ডিরেক্টরি, এবং "ফাই" কারণ এটিতে কমপক্ষে একটি নির্বাহযোগ্য বিট শুরু হয়েছিল had
drwxr-x--x 2 falk staff 68 Jul 19 18:01 fee/
-rwxr-x--x 1 falk staff 0 Jul 19 18:01 fie*
-rw-r----- 1 falk staff 0 Jul 19 18:01 foe
আমি একই ফলাফল কার্যকর ছিল chmod -x+X
।
উপসংহার: জ্যাক গীবের সমাধান লিনাক্সে কাজ করবে, তবে বিএসডি-র জন্য আপনার দুটি পাস করতে হবে।
আমি এটি এসভিআর 4 বা অন্যান্য ইউনিক্স ভেরিয়েন্টে পরীক্ষা করিনি।