Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
72 lines (54 sloc) 7.8 KB

ফাইল পারমিশন পরিবর্তন

বিভিন্ন প্রয়োজনে আপনাকে ফাইল পারমিশনে পরিবর্তন আনতে হতে পারে। আপনি সেটা chmod কমান্ড দিয়ে সহজেই করতে পারেন। একটা ফাইলের পারমিশন শুধু তার ওনার ও এবং সুপারইউজার চেঞ্জ করতে পারে।

chmod দুটি পদ্ধতিতে পারমিশন পরিবর্তন করার সুযোগ দেয়। অকটাল এবং সাংকেতিক পদ্ধতি।

অকটাল পদ্ধতি

অকটাল একধরনের গণনাপদ্ধতি। আমরা যেমন সাধারণ জীবনে দশভিত্তিক গণনা পদ্ধতি ব্যবহার করি, আবার যেমন দুই-ভিত্তিক বাইনারির কথা শুনেছি, অকটাল তেমনি ৮ ভিত্তিক। অর্থাৎ এতে ৭ এর পর আট না হয়ে হয় ১০। সেই দশ অবশ্যই অকটাল এর ক্ষেত্রে ১০, দশমিকে তার মান ৮ই। পদ্ধতিটা এরকম:

০, ১, ২, ৩, ৪, ৫, ৬, ৭, ১০, ১১, ১২, ১৩, ১৪, ১৫, ১৬, ১৭, ২০...

আমরা অকটালের 0-7 পর্যন্ত আটটি সংখ্যা ব্যবহার করে আটটি ফাইলমোড নির্ধারন করতে পারি এভাবে:

| অকটাল | ফাইল মোড | | :-: | | :---: | | 0 | --- | | 1 | --x | | 2 | -w- | | 3 | -wx | | 4 | r-- | | 5 | r-x | | 6 | rw- | | 7 | rwx |

এই মানগুলো ব্যবহার করে আমরা তিন সংখ্যার অকটাল নম্বর ব্যবহার করে ফাইলমোড চেঞ্জ করতে পারি। যার প্রথম সংখ্যা ওনার, দ্বিতীয় সংখ্যা গ্রুপ ও তৃতীয় সংখ্যা ওয়ার্ল্ড এর পারমিশন বোঝাবে একটা উদাহরণ দেখা যাক:

me@howtocode-pc:~$ > foo.txt
me@howtocode-pc:~$ ls -l foo.txt 
-rw-rw-r-- 1 nishadsingha portal 0 Sep 27 07:48 foo.txt
me@howtocode-pc:~$ chmod 600 foo.txt
me@howtocode-pc:~$ ls -l foo.txt 
-rw------- 1 nishadsingha portal 0 Sep 27 07:48 foo.txt

উদাহরণে আমরা প্রথমে foo.txt নামে একটি ফাইল তৈরী করেছি। ফাইলটির পারমিশন দেখেছি ls -l foo.txt কমান্ড দিয়ে। এরপর chmod কমান্ড দিয়ে ফাইল পারমিশন চেঞ্জ করেছি। আমরা chmod এর জন্য দুটি আর্গুমেন্ট ব্যবহার করেছি। প্রথমে নতুন পারমিশনজ্ঞাপক সংখ্যা 600 এবং তারপর যে ফাইলটার পারমিশন পরিবর্তন করতে হবে সেটি। এবং আমরা তারপর আবার চেক করে দেখেছি পারমিশন পরিবর্তিত হয়েছে।

সাংকেতিক পদ্ধতি

সাংকেতিক পদ্ধতি ফাইল পারমিশন পরিবর্তনের আরেকটি উপায়। আমাদের আগে চেনা রিড, রাইট, এবং এক্সিকিউশনের r, w ও x চিহ্নগুলোও এখানে কার্যকর। তাছাড়া আরও আছে u, g, o এবং a। আসুন এগুলোর অর্থ জেনে নেয়া যাক:

সংকেত অর্থ
u ইউজারের সংক্ষিপ্ত রূপ। এখানে ইউজার বলতে ফাইলের মালিক ইউজার।
g গ্রুপ। ফাইলের মালিক গ্রুপ।
o Other বা ওয়ার্ল্ড।
a অল বা উপরের সবাই।

এছাড়াও তিনটি গাণিতিক চিহ্নও ব্যবহার করা হয়। এগুলো হল:

চিহ্ন অর্থ
+ পারমিশন যোগ করা হবে।
- পারমিশন তুলে নেয়া হবে।
= যোগ-বিয়োগ প্রয়োজনমত করে একটি নির্দিষ্ট পারমিশন দেয়া হব।

সাংকেতিক উপায়ে পারমিশন দিতে তিনটি জিনিস যথাক্রমে লিখতে হয়:

  • প্রথমে লিখতে হয় কাকে পারমিশন দেয়া হচ্ছে। অর্থাৎ ইউজার হলে u, গ্রুপ ও ওয়ার্ল্ড হলে যথাক্রমে g ও o এবং সবাইকে পারমিশন দিতে a। তবে a এর ক্ষেত্রে কিছু না লিখলেও হয়।
  • পারমিশনে কীভাবে পরিবর্তন আনা হবে। অর্থাৎ আমরা কি '+' চিহ্নের মাধ্যমে পারমিশন যোগ করবো? নাকি কোনো পারমিশন বিয়োগ করবো '-' চিহ্ন দিয়ে? অথবা চাইলে নির্দিষ্ট পারমিশন চেঞ্জ করতে পারি '=' চিহ্ন দিয়ে।
  • কোন পারমিশনের পরিবর্তন ঘটাবো। এটা আমরা r, w, x দিয়ে বলতে পারি।

এবার সাংকেতিক পদ্ধতির কিছু উদাহরণ দেখা যাক:

সংকেত অর্থ
u+x মালিক ইউজারকে এক্সিকিউটের পারমিশন দেবে।
u-x মালিক ইউজারের এক্সিকিউশন পারমিশন উঠিয়ে নেওয়া হবে।
+x +x ও a+x একই কথা। অর্থাৎ সবাইকে এক্সিকিউশন পারমিশন দেয়া হলো।
o-rw ওয়ার্ল্ডের রিড এবং রাইট পারমিশন উঠিয়ে নেওয়া হবে।
go=rw গ্রুপ ও ওয়ার্ল্ডের শুধু রিড ও রাইট পারমিশন দেয়া হবে। এর কোনোটা আগে না থাকলে যোগ করা হবে এবং এক্সিকিউটেবল পারমিশন আগে থাকলে সেটা তুলে নেওয়া হবে।
u+x,go=rx এখানে কমা দিয়ে আলাদা করা দুটো সংকেত একত্রে ব্যবহৃত হয়েছে। প্রথমটি দিয়ে ইউজারকে এক্সিকিউশন পারমিশন দেওয়া হবে, পরেরটি দিয়ে গ্রুপ ও ওয়ার্ল্ডের শুধু রিড ও এক্সিকিউশন পারমিশন দেয়া হবে।
You can’t perform that action at this time.