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

বিশেষ পারমিশন

Previousফাইল পারমিশন মাস্কিংNextওনার ইউজার ও গ্রুপ পরিবর্তন

Last updated 6 years ago

আমরা আগের দেখেছি, মাস্কিং এর সময় চার অঙ্কের অকটাল সংখ্যা ব্যবহার করেছি। এর প্রথম অংকটি কিছু স্পেশাল পারমিশন নির্দেশ করতে কাজে লাগে। প্রথম অংক বা বিটকে ব্যবহার করে তিনটি স্পেশাল পারমিশন দেয়া হয়:

  • setuid: এর অকটাল বিট 4000 এবং কোনো প্রোগ্রামকে এই পারমিশন দিতে আমরা লিখতে পারি:

chmod u+s program_name

কমান্ডটি দিলে দেখা যাবে ইউজারের এক্সিকিউশন পারমিশনের জায়গায় যে x ছিল সেটি বদলে s হয়ে গেছে।

এই পারমিশন দিলে সিস্টেম দেখবে প্রোগ্রামটার আসল ওনার বা মালিক ইউজার কে। এবং তার সব পারমিশন সুদ্ধ প্রোগ্রামটি চালাতে দেবে। এর একটা বাস্তব ব্যবহার দেখলে প্রয়োজনীয়তা বুঝতে পারবেন। যেমন মনে করুন 'passwd' কমান্ডটির কথা। এই কমান্ডটি দিয়ে কেউ তার পাসওয়ার্ড পরিবর্তন করতে পারবেন। কিন্তু পাসওয়ার্ডগুলো কোথায় সংরক্ষিত থাকে? এটা থাকে /etc/shadow ফাইলে। এই ফাইলটার মালিক রুট। এখন ভাবুন আপনি আপনার পাসওয়ার্ড পরিবর্তন করতে চাচ্ছেন। কিন্তু কিভাবে করবেন যদি ওই ফাইলে আপনার অধিকার না থাকে? সিক্যুরিটির জন্য একজন সাধারন ইউজারকে সেই ফাইলে অধিকার দেওয়া নিরাপদ না। তারচেয়ে আপনাকে যদি passwd কমান্ডটি এভাবে ব্যবহার করতে দেয়া হয় যে আপনি ওটা এমনভাবে ব্যবহার করতে পারবেন যে ওটা ব্যবহারের সময় আপনি রুটের মতই সবকিছু করতে পারবেন। তাহলে বরং সুবিধা হয়। আপনি তখন নিজের পাসওয়ার্ড চেঞ্জ ছাড়া আর কোনো কারনে /etc/shadow ব্যবহার করতে পারবেন। না। এজন্য প্রায় সব লিনাক্স সিস্টেমে passwd কমান্ডটিকে setuid পারমিশন দিয়ে রাখা হয়। ফলে যখন সাধারন ইউজার ওই কমান্ডটি ব্যবহার করে সুপারইউজার বা রুটের মতই ব্যবহার করতে পারে, প্রয়োজনীয় ফাইলে এক্সেস নিতে পারে অন্যসময় পারে না।

বুঝতেই পারছেন এটি একটি সাংঘাতিক পারমিশন। খুব সামান্য কিছু প্রোগ্রাম ছাড়া মোটেই এই পারমিশন দেয়া হয় না।

  • setgid: এর অকটাল বিট 2000 এবং এটি গ্রুপের উপর কার্যকর হয়। এবং এটি প্রোগ্রাম নয় বরং ডিরেক্টরির ক্ষেত্রে প্রযোজ্য। আপনি এই পারমিশন দিতে পারেন এভাবে:

chmod g+s directory

কমান্ডটি দিলে গ্রুপের এক্সিকিউশন পারমিশনের x পরিবর্তিত হয়ে s হয়ে যাবে।

আপনি যখন কোথাও কোনো ফাইল বা ডিরেক্টরি তৈরী করেন, সেটি আপনার নামের একটি গ্রুপের মালিকানায় থাকে। কিন্তু আপনি একটা ডিরেক্টরি তৈরি করলেন আর তার ওনার গ্রুপের নাম মনে করুন shared। এবার এটিকে আপনি setgid পারমিশন দিলেন। ফলে হবে কি, এর মধ্যে আপনি যখন নতুন কোনো ফাইল তৈরী করবেন এটি কিন্তু আর আপনার নামের গ্রুপে থাকবে না, বরং ওই ডিরেক্টরির মালিক অর্থাৎ shared গ্রুপের অধীনে থাকবে। সাধারনত একাধিক ইউজার নিজেদের মধ্যে ফাইল শেয়ারিং এর পারমিশন এর ঝামেলা এড়াতে এটি ব্যবহার করে।

  • sticky bit: এই পারমিশনটিও ডিরেক্টরির উপর কার্যকর হয়। এই পারমিশন কোনো ডিরেক্টরিকে দিতে ব্যবহার করুন:

chmod +t directory

এটি দিলে দেখবে ওয়ার্ল্ডের এক্সিকিউশন পারমিশনের x এর জায়গায় t এসেছে।

কোনো ডিরেক্টরিকে এই পারমিশন দিলে তার মধ্যের কোন ফাইল ডিলিট বা তার নাম পরিবর্তন করতে পারবে না সবাই। ডিলিট বা নাম পরিবর্তন করতে হয় তাকে এই ডিরেক্টরির মালিক হতে হবে, অথবা ওই ফাইলটির মালিক হতে হবে অথবা হতে হবে একজন সুপারইউজার। শেয়ারড ফোল্ডারে অনাকাঙ্খিত অনুপ্রবেশ ম্যানিপুলেশন ঠেকাতে এটি ব্যবহার করা হয়।

লেসনে