রিদওয়ান বিন শামীম
ফাইল ওনারশিপ ইউনিক্সের একটি গুরুত্বপূর্ণ উপাদান যা ফাইল ষ্টোরের নিরাপদ উপায় হিসেবে প্রয়োজন। ইউনিক্সের প্রত্যেকটি ফাইলে যে এট্রিবিউটগুলো থাকে সেগুলো হল,
- ওনারের পারমিশন,
- গ্রুপ পারমিশন,
- অন্যান্য পারমিশন
পারমিশন ইনডিকেটর
ls -l কম্যান্ড ব্যবহার করে পারমিশন সংক্রান্ত অনেক তথ্য দেখা যায়,
$ls -l /home/amrood
-rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfile
drwxr-xr--- 1 amrood users 1024 Nov 2 00:10 mydir
read (r), write (w), execute (x) এই অর্ডার ফলো করে
- প্রথম তিন ক্যারেক্টার ফাইল ওনারের পারমিশন,
- দ্বিতীয় তিন ক্যারেক্টার গ্রুপ পারমিশন আর
- শেষ তিন ক্যারেক্টার বাকি সব পারমিশন
ফাইল এক্সেস মোড
ইউনিক্সে পারমিশনের বিল্ডিং ব্লক হল এই তিনটি,
- লেখা
- পড়া
- এক্সেকিউট করা
ডিরেক্টরি এক্সেস মোড
অন্যান্য ফাইলের মত এদেরও বিল্ডিং ব্লক এগুলোঃ
- লেখা
- পড়া
- এক্সেকিউট করা
যদিও এদের ক্ষেত্রে কিছু মৌলিক পার্থক্য আছে।
পারমিশন চেঞ্জ করা
দুটি উপায়ে chmod কম্যান্ড ব্যবহার করে এটি করা যায়,
সিম্বোলিক মোডে chmod কম্যান্ড ব্যবহার করেঃ টেস্টফাইলে ls -1 ব্যবহার করে ফাইলের পারমিশন,
$ls-l testfile -rwxrwxr--1 amrood users1024Nov200:10 testfile
যার ফলে পারমিশন চেঞ্জ দেখতে পাব,
$chmod o+wx testfile $ls -l testfile -rwxrwxrwx 1 amrood users 1024 Nov 2 00:10 testfile $chmod u-x testfile $ls -l testfile -rw-rwxrwx 1 amrood users 1024 Nov 2 00:10 testfile $chmod g=rx testfile $ls -l testfile -rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile
সিঙ্গেল লাইনের কম্যান্ড সমন্বয়ের ক্ষেত্রে,
$chmod o+wx,u-x,g=rx testfile $ls -l testfile -rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile
এবসলিউট পারমিশন হিসেবে chmod কম্যান্ড ব্যবহার করে
প্রত্যেকটি পারমিশন একটি করে এসাইনড ভ্যালু ধারণ করে, এগুলো মোটামুটি এরকম,
নাম্বার | অক্টাল পারমিশন রিপ্রেজেন্টেশন | রেফারেন্স |
0 | No permission | --- |
1 | Execute permission | --x |
2 | Write permission | -w- |
3 | Execute and write permission: 1 (execute) + 2 (write) = 3 | -wx |
4 | Read permission | r-- |
5 | Read and execute permission: 4 (read) + 1 (execute) = 5 | r-x |
6 | Read and write permission: 4 (read) + 2 (write) = 6 | rw- |
7 | All permissions: 4 (read) + 2 (write) + 1 (execute) = 7 | rwx |
টেস্ট ফাইল ব্যবহারের উদাহরণ,
$ls -l testfile -rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
এরফলে আমরা যে পারমিশন চেঞ্জ দেখতে পাব,
$ chmod 755 testfile $ls -l testfile -rwxr-xr-x 1 amrood users 1024 Nov 2 00:10 testfile $chmod 743 testfile $ls -l testfile -rwxr---wx 1 amrood users 1024 Nov 2 00:10 testfile $chmod 043 testfile $ls -l testfile ----r---wx 1 amrood users 1024 Nov 2 00:10 testfile
ওনার পরিবর্তন
chown কম্যান্ড ব্যবহার করে ফাইলের ওনারশিপ পরিবর্তন করতে,
$ chown user filelist
উদাহরণ,
$ chown amrood testfile $
এটি প্রদত্ত ফাইলের ওনারকে amrood নামে পরিবর্তিত করে।
গ্রুপ ওনার পরিবর্তন
এটির জন্য যে সিনট্যাক্স ব্যবহার করতে হয়,
$ chgrpgroup filelist
উদাহরণ,
$ chgrp special testfile $
যেটিতে প্রদত্ত ফাইলের গ্রুপ special গ্রুপে পরিবর্তিত হয়ে যায়।
SUID ও SGID ফাইল পারমিশনঃ
এধরনের কম্যান্ড ব্যবহার করে এ ধরণের পারমিশন সম্পর্কে জানা যায়,
$ ls -l /usr/bin/passwd -r-sr-xr-x 1 root bin 19031 Feb 7 13:47 /usr/bin/passwd* $
এখানে SUID বিট সেট আর এর কম্যান্ড রুট থেকে আসে।
যেকোনো ডিরেক্টরির জন্য SUID ও SGID bits সেট করতে নিচের সিনট্যাক্স প্রয়োগ করা যেতে পারে,
$ chmod ug+s dirname $ ls -l drwsr-sr-x 2 root root 4096 Jun 19 06:45 dirname $