Linux হলো multi-user operating system, মানে একাধিক ইউজার একসাথে কাজ করতে পারে। তাই প্রতিটি ফাইল, ডিরেক্টরি, এবং প্রোগ্রামের উপর ownership এবং permission থাকে।
1. ইউজার টাইপ
- Root User
- Superuser।
- সবকিছু করতে পারে, সিস্টেমে কোনো সীমাবদ্ধতা নেই।
- উদাহরণ: সফটওয়্যার install, config change, system reboot।
- Regular User
- সাধারণ ইউজার।
- নিজের ফাইল ও ডিরেক্টরিতে সম্পূর্ণ control।
- অন্য ইউজারের ফাইল access করতে পারবে না (যদি permission না দেওয়া হয়)।
2. Ownership (মালিকানা)
প্রতিটি ফাইল ও ডিরেক্টরির আছে তিনটি ownership field:
- User (Owner) → কার ফাইল
- Group → কোন গ্রুপের সদস্যরা access করতে পারে
- Others → বাকি সবাই
উদাহরণ:
-rw-r--r-- 1 tanvir developers 1024 Sep 20 10:00 file.txt
- Owner: tanvir
- Group: developers
- File size: 1024 bytes
- Permissions:
rw-
owner, r--
group, r--
others
3. Permissions (পড়া, লেখা, এক্সিকিউট)
Linux এ তিন ধরনের permission থাকে:
- r (read) → ফাইল পড়তে পারবে
- w (write) → ফাইল পরিবর্তন করতে পারবে
- x (execute) → ফাইল রান/এক্সিকিউট করতে পারবে
এগুলো তিন গ্রুপে ভাগ:
উদাহরণ:
-rwxr-xr-- file.sh
- Owner → read, write, execute
- Group → read, execute
- Others → read
4. Special Permissions (Optional)
- SUID (Set User ID) → ফাইল রান করলে owner permissions অনুযায়ী রান হবে
- SGID (Set Group ID) → ফাইল রান করলে group permissions অনুযায়ী রান হবে
- Sticky Bit → ডিরেক্টরিতে শুধু file owner মুছে দিতে পারবে (যেমন
/tmp
)
5. Command ধারণা (থিওরি)
- Changing ownership:
chown
- Changing group:
chgrp
- Changing permission:
chmod
- Checking permission:
ls -l
সারাংশ
Linux এ ইউজার ও permission system হলো:
- Multi-user environment।
- Root = সবকিছুর মালিক। Regular user = সীমিত।
- প্রতিটি ফাইল/ডিরেক্টরির ownership + permission থাকে।
- Permissions → read, write, execute → owner, group, others।
- Special permissions → SUID, SGID, Sticky Bit।