মডিউল পাঠ (1/2)
অনুমতি ব্যবস্থাপনা (chmod)
লিনাক্সে, ফাইল এবং ডিরেক্টরিগুলিতে অ্যাক্সেস একটি অনুমতি সিস্টেম দ্বারা নিয়ন্ত্রিত হয়। প্রতিটি ফাইল/ডিরেক্টরি একজন মালিক ব্যবহারকারী এবং ব্যবহারকারীদের একটি গ্রুপ এর অন্তর্গত।
অনুমতি প্রাপকদের তিনটি বিভাগে বিভক্ত:
- **ব্যবহারকারী (u): ফাইলের মালিক।
- **গ্রুপ (g): ফাইলের সাথে যুক্ত গ্রুপের সদস্যরা।
- অন্যান্য (ও): সিস্টেমের বাকি সবাই।
প্রতিটি বিভাগের জন্য, অনুমোদিত বা অস্বীকৃত তিন ধরনের ক্রিয়া রয়েছে:
- পড়ুন (r): ফাইলের বিষয়বস্তু দেখুন বা ডিরেক্টরি বিষয়বস্তু তালিকাভুক্ত করুন।
- **লিখুন (w): ফাইলটি সম্পাদনা করুন বা একটি ডিরেক্টরিতে ফাইল তৈরি/মুছুন।
- Execute (x): একটি ফাইল চালান (যেমন একটি স্ক্রিপ্ট) বা একটি ডিরেক্টরি লিখুন।
ls -l দ্বারা দেখানো সাধারণ স্বরলিপি: -rwxr-xr-x।
প্রথম অক্ষরটি টাইপ নির্দেশ করে (যেমন ফাইলের জন্য -, ডিরেক্টরির জন্য d), তারপরে user, group এবং others এর জন্য তিনটি ট্রিপলেট।
অনুমতি পরিবর্তন করা হচ্ছে: chmod
chmod (পরিবর্তন মোড) কমান্ড আপনাকে ফাইলের অনুমতি পরিবর্তন করতে দেয়। তাদের নির্দিষ্ট করার দুটি প্রধান উপায় আছে:
1. প্রতীকী মোড
অনুমতি যোগ করতে, সরাতে বা সেট করতে অক্ষর এবং অপারেটর (+, -, =) ব্যবহার করে:
chmod u+x script.sh # Adds execute permission (x) to the owner (u)
chmod g-w file.txt # Removes write permission (w) from the group (g)
chmod a+r file.txt # Makes the file readable by everyone (all: u, g, o)2. অক্টাল মোড (সাংখ্যিক)
0 থেকে 7 পর্যন্ত তিনটি অক্টাল ডিজিট ব্যবহার করে, যেখানে প্রতিটি ডিজিট ক্যাটাগরির অনুমতির যোগফলকে প্রতিনিধিত্ব করে (r=4, w=2, x=1):
7=rwx(4 + 2 + 1)6=rw-(4 + 2)5=r-x(4 + 1)4=r--(4)0=---(কোন অনুমতি নেই)
chmod 755 script.sh # Owner: rwx (7), Group: r-x (5), Others: r-x (5)
chmod 600 private.key # Owner: rw- (6), Group: --- (0), Others: --- (0)নিজে চেষ্টা করে দেখুন
অনুশীলনী 1: মানসম্মত অনুমতি সেট করুন
'script.sh'-এ অনুমতি সেট করুন যাতে মালিক পড়তে, লিখতে এবং চালাতে পারে (rwx), যখন গ্রুপ এবং অন্যরা শুধুমাত্র পড়তে এবং চালাতে পারে (r-x)। অক্টাল মোড ব্যবহার করুন।
ইঙ্গিত দেখান
rwx এর জন্য অক্টাল কোড হল 7 (4+2+1), আর r-x এর জন্য হল 5 (4+1)। সুতরাং chmod 755 ব্যবহার করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
অনুশীলনী 2: একটি ব্যক্তিগত কী রক্ষা করুন
'private.key' ফাইলটির অনুমতি পরিবর্তন করুন যাতে এটি শুধুমাত্র মালিকের দ্বারা পঠনযোগ্য এবং লেখার যোগ্য (rw-) করে, গ্রুপ এবং অন্যদের (---) সমস্ত অ্যাক্সেস সরিয়ে দেয়।
ইঙ্গিত দেখান
অক্টাল কোড 600 সহ chmod ব্যবহার করুন (মালিকের 4+2, গ্রুপ 0, অন্যান্য 0 আছে)।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
অনুশীলন 3: একটি ফাইলকে সকলের জন্য নির্বাহযোগ্য করুন
সিম্বলিক মোড (a+x) ব্যবহার করে সকল ব্যবহারকারী বিভাগের জন্য 'runner.sh' ফাইলটিকে এক্সিকিউটেবল করুন।
ইঙ্গিত দেখান
ফাইলের নাম অনুসরণ করে সিনট্যাক্স chmod a+x ব্যবহার করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ