বাংলায় শেল ও শেলস্ক্রিপ্টিং শেখার কোর্স
  • শুরুর কথা
  • প্রথম খন্ড - শেল বেসিক
    • প্রথম অধ্যায় - শেল বেসিক
      • শেল ও প্রম্পট
      • কমান্ড
      • নেভিগেশন
      • আরো একটু ls
      • ফাইল
      • লিঙ্ক
      • লিনাক্স ফাইলসিস্টেম
    • দ্বিতীয় অধ্যায় - ম্যানিপুলেশন
      • ওয়াইল্ডকার্ড
      • ফাইল ও ডিরেক্টরি তৈরি করা
      • ফাইল ও ডিরেক্টরি কপি করা
      • ফাইল ও ডিরেক্টরি মুভ করা
      • ফাইল ও ডিরেক্টরি রিমুভ করা:
      • হার্ডলিঙ্ক ও সফ্টলিঙ্ক তৈরি করা
      • অনুশীলন
    • তৃতীয় অধ্যায় - রিডিরেকশন
      • স্ট্যান্ডার্ড ইনপুট, আউটপুট এবং এরর
      • স্ট্যান্ডার্ড আউটপুট রিডিরেকশন
      • স্ট্যান্ডার্ড এরর রিডিরেকশন
      • স্ট্যান্ডার্ড আউটপুট ও এরর একত্রে রিডিরেকশন
      • ফাইল সংযুক্তিকরণ
      • পাইপলাইন
    • চতুর্থ অধ্যায় - শেলের চোখে দেখা
      • এক্সপ্যানসন
      • পাথনেম এক্সপ্যানসন
      • গানিতিক এক্সপ্যানসন
      • ব্রেস এক্সপ্যানসন
      • প্যারামিটার এক্সপ্যানসন
      • কমান্ড সাবস্টিটিউশন
      • ক্যোটিং
      • স্কেইপিং ক্যারেক্টার
    • পঞ্চম অধ্যায় - কীবোর্ড ট্রিক্স
      • কমান্ডলাইন এডিটিং
      • কমপ্লিশন
      • কমান্ড হিস্ট্রি
    • ষষ্ঠ অধ্যায় - পারমিশন
      • ওনার, গ্রুপ এবং অন্যান্য
      • এক্সেস রাইট
      • ফাইল পারমিশন পরিবর্তন
      • ফাইল পারমিশন মাস্কিং
      • বিশেষ পারমিশন
      • ওনার ইউজার ও গ্রুপ পরিবর্তন
      • পরিচয় পরিবর্তন
      • পাসওয়ার্ড পরিবর্তন
    • সপ্তম অধ্যায় - প্রসেস
      • প্রসেস এর প্রাথমিক ধারণা
      • প্রসেস দেখা
      • প্রসেস নিয়ন্ত্রণ
      • সিগন্যাল
  • দ্বিতীয় খন্ড - কনফিগারেশন ও এনভায়রনমেন্ট
    • প্রথম অধ্যায় - এনভায়রনমেন্ট
      • এনভায়রনমেন্টের ভিতরে দেখা
      • যেভাবে এনভায়রনমেন্ট তৈরী হয়
      • এনভায়রনমেন্ট পরিবর্তন
    • দ্বিতীয় অধ্যায় - প্রম্পট সম্পাদনা
      • প্রম্পট কাস্টমাইজেশন
      • প্রম্পট রঙ করা
      • কার্সরের অবস্থান পরিবর্তন
  • তৃতীয় খন্ড - আটপৌরে কমান্ডলাইন
    • প্রথম অধ্যায় - প্যাকেজ ম্যানেজমেন্ট
    • দ্বিতীয় অধ্যায় - টেক্সট এডিটর
      • ন্যানো
        • ন্যানোর প্রাথমিক ব্যবহার
        • ন্যানো - এডিটিং এবং নেভিগেশন
        • ন্যানো কনফিগারেশন
      • ভিম
        • ভিম-এর এডিটিং মোড
        • ভিম-এর বেসিক এডিটিং
        • ভিম: সার্চ এ্যান্ড রিপ্লেস
        • ভিম: একাধিক ফাইল নিয়ে কাজ করা
      • ইম্যাকস্
        • ইম্যাকস্: প্রথম ধাপ
        • ইম্যাকস্: ক্যারেক্টার, কী এবং কমান্ড
        • ইম্যাকস্: বেসিক এডিটিং
        • ইম্যাকস্: সার্চ এ্যান্ড রিপ্লেস
        • ইম্যাকস্: একাধিক ফাইল এডিট করা
    • তৃতীয় অধ্যায় - স্টোরেজ মিডিয়া
      • লিনাক্সের চোখে স্টোরেজ ডিভাইস
      • মাউন্ট এবং আনমাউন্ট
      • পার্টিশন এবং ফরম্যাট করা
      • ফাইলসিস্টেম টেস্ট এবং রিপেয়ার করা
      • ডিভাইস ক্লোনিং
      • ইমেজ তৈরী
      • অপটিক্যাল মিডিয়ায় রাইট করা
    • চতুর্থ অধ্যায় - নেটওয়ার্কিং
      • নেটওয়ার্ক পরীক্ষণ এবং পর্যবেক্ষন
      • ফাইল ট্রান্সফার
      • নিরাপদ যোগাযোগ
    • পঞ্চম অধ্যায় - ফাইল সার্চ
      • Locate: নাম দিয়ে ফাইল সার্চ
      • find: শক্তিশালী সার্চ
        • find: টেস্ট
        • find: অপারেটর
        • find: একশন
        • find: অপশন
        • অনুশীলন
    • ষষ্ঠ অধ্যায় - আর্কাইভ ও ব্যাকআপ
      • ডাটা কম্প্রেশন
      • ডাটা আর্কাইভিং
      • dtrx
      • সিনক্রোনাইজেশন
    • সপ্তম অধ্যায় - আটপৌরে টুলস
      • রেঞ্জার(Ranger): ফাইল ম্যানেজার
      • মাট (Mutt): ইমেইল ক্লায়েন্ট
      • সিমিউজ(cmus): মিউজিক প্লেয়ার
      • ইলিঙ্কস (elinks): ওয়েব ব্রাউজার
      • উইচ্যাট (weechat) : আইআরসি ক্লায়েন্ট
      • ফিঞ্চ (finch) : চ্যাট ক্লায়েন্ট
    • অষ্টম অধ্যায় - প্রোগ্রাম কম্পাইলেশন
  • চতুর্থ খন্ড - টেক্সট ম্যানিপুলেশন
    • প্রথম অধ্যায় - রেগুলার এক্সপ্রেশন
      • গ্রেপ (grep)
Powered by GitBook
On this page
  1. প্রথম খন্ড - শেল বেসিক
  2. ষষ্ঠ অধ্যায় - পারমিশন

ফাইল পারমিশন মাস্কিং

মাস্ক বা মুখোশের সাথে আমরা সবাই পরিচিত। মুখোশের মূল কাজটা কি? মূল কাজ হলো মুখ ঢেকে রাখা। সব মুখোশই মুখ ঢাকে। কোনোটা পুরোপুরি কোনোটা আংশিক। umask কমান্ডটি ফাইল পারমিশনের ক্ষেত্রে এরকম মাস্কের কাজ করে। এটি দিয়ে আপনি অকটাল পদ্ধতির একটা মাস্ক পরিয়ে দিতে পারেন ফাইলকে। একটা ফাইল তৈরী হওয়ার সময় ডিফল্টভাবে যে পারমিশন পায়, এই মাস্ক পরলে তার খানিকটা ঢাকা পরবে অর্থাৎ বাদ যাবে। মাস্কিং কিন্তু পুরোনো ফাইল বা ডিরেক্টরির জন্য না। কোনো মাস্ক সেট করলে তা এরপর তৈরী করা নতুন ফাইলগুলোর উপর কার্যকর হয়। একটি উদাহরণ দেখা যাক:

me@howtocode-pc:~$ umask
0002
me@howtocode-pc:~$ > foo.txt
me@howtocode-pc:~$ ls -l foo.txt
-rw-rw-r-- 1 me me 0 Oct  7 10:49 foo.txt

প্রথমে আমরা কোনো আর্গুমেন্ট ছাড়া umask কমান্ডটি দিয়েছি। এতে আমরা কোনো মাস্ক তৈরী করিনি, বরং আগে থেকে থাকা মাস্কটি দেখলাম। এবং সেই মাস্কের মান ছিল 0002। এরপর আমরা > foo.txt কমান্ড দিয়ে foo.txt নামে একটা ফাইল তৈরী করলাম এবং `ls -l foo.txt দিয়ে এর পারমিশন দেখে নিলাম। এবার আমরা প্রথম পুরনো foo.txt ফাইলটি মুছে দেবো। তারপর 0000 মাস্ক সেট করবো বা বলতে পারি মাস্কিং বন্ধ করবো এবং নতুন করে foo.txt ফাইলটি তৈরী করে এর পারমিশন দেখবো:

me@howtocode-pc:~$ rm foo.txt
me@howtocode-pc:~$ umask 0000
me@howtocode-pc:~$ > foo.txt
me@howtocode-pc:~$ ls -l foo.txt
-rw-rw-rw- 1 me me 0 Oct  7 11:01 foo.txt

এবার আমরা দেখেছি প্রথমবার 0002 মাস্কের জন্য ওয়ার্ল্ডের জন্য রাইট পারমিশন বাদ গিয়েছিল। কিন্তু এবার মাস্কিং অফ করায় ডিফল্টভাবে সেটি আছে। আসুন দেখা যাক:

ধাপ

বিস্তারিত

মূল ফাইল মোড

--- rw- rw- rw-

মাস্ক

0 0 0 2

বাইনারি

000 000 000 010

ফলাফল

--- rw- rw- r--

আমরা ফাইলমোডের প্রথম অংশটা অর্থাৎ প্রথম তিন অংক এখন আমলে আনবো না। পরের লেসনে সেটি নিয়ে কথা হবে। তারপরেই আমরা দেখছি ওনার ইউজার ও গ্রুপের এবং ওয়ার্ল্ড সবার জন্য ডিফল্ট পারমিশন rw-। এরপর আমরা 0002 মাস্ক ব্যবহার করেছি। এটি অকটাল নাম্বার। আমরা যদি এর প্রতিটি অংককে তিন অংকের বাইনারিতে রূপান্ত করি তাহলে 0 হবে 000 এবং 2 হবে 10। এভাবে আমরা পেয়েছি: 000 000 000 010। এবার হিসেবটা সোজা। ডিফল্ট ফাইলমোডে যার নীচে 1 থাকবে সেটি বাদ যাবে। এখানে ওয়ার্ল্ডের রাইট পারমিশনের নীচে এক ছিল ফলে এটি বাদ গিয়েছে। একইভাবে 0022 ব্যবহার করলে ওয়ার্ল্ডের সাথে গ্রুপেরও রাইট পারমিশন বাদ যাবে।

সাধারণত আপনার মাস্কিং পরিবর্তনের দরকার পরবে না। তবে কখনো কখনো উচ্চপর্যায়ের নিরাপত্তা নিশ্চিত করতে প্রয়োজন হতে পারে। আপনি আরো কয়েকটা মাস্কিং ভ্যালু নিয়ে টেস্ট করতে পারেন। সবশেষে আপনার ডিফল্ট মাস্কিং ভ্যালুতে(যেমন আমার ক্ষেত্রে 0002) ফিরে যেতে ভুলবেন না।

Previousফাইল পারমিশন পরিবর্তনNextবিশেষ পারমিশন

Last updated 6 years ago