কীভাবে লিনাক্সে chmod কমান্ড ব্যবহার করবেন

লিনাক্স ব্যবহার করে কে ফাইল, অনুসন্ধান ডিরেক্টরি এবং স্ক্রিপ্টগুলি অ্যাক্সেস করতে পারে তা নিয়ন্ত্রণ করুন chmod আদেশ এই কমান্ডটি লিনাক্স ফাইলের অনুমতিগুলি পরিবর্তন করে, যা প্রথম নজরে জটিল দেখায় তবে তারা কীভাবে কাজ করে তা আপনি জানার পরে আসলে খুব সহজ।

chmod ফাইল অনুমতিগুলি পরিবর্তন করে

লিনাক্সে, ফাইল বা ডিরেক্টরিতে কে কি করতে পারে অনুমতি সেটগুলির মাধ্যমে নিয়ন্ত্রণ করা হয়। অনুমতি তিন সেট আছে। ফাইলের মালিকের জন্য একটি সেট, ফাইলের গ্রুপের সদস্যদের জন্য আরেকটি সেট এবং অন্য সবার জন্য একটি চূড়ান্ত সেট।

অনুমতিগুলি ফাইল বা ডিরেক্টরিতে সম্পাদন করা যায় এমন ক্রিয়াগুলি নিয়ন্ত্রণ করে। তারা হয় অনুমতি দেয়, বা বাধা দেয়, কোনও ফাইল পড়ার, পরিবর্তিত হতে বা যদি এটি কোনও স্ক্রিপ্ট বা প্রোগ্রাম হয় তবে তা কার্যকর করা হয়। একটি ডিরেক্টরি জন্য, অনুমতিগুলি পরিচালনা করতে পারে যারা পারেন সিডি ডিরেক্টরিতে এবং কে ডিরেক্টরি তৈরি করতে পারে বা ফাইলগুলির মধ্যে পরিবর্তন করতে পারে।

আপনি ব্যবহারchmod এই অনুমতি প্রতিটি সেট করতে কমান্ড। কোনও ফাইল বা ডিরেক্টরিতে কী অনুমতি নির্ধারণ করা হয়েছে তা দেখতে, আমরা ব্যবহার করতে পারি ls.

ফাইল অনুমতিগুলি বোঝা এবং বোঝা

আমরা ব্যবহার করতে পারেন -লি (দীর্ঘ বিন্যাস) বিকল্প থাকতে হবে ls ফাইল এবং ডিরেক্টরিগুলির জন্য ফাইল অনুমতিগুলি তালিকাভুক্ত করুন।

ls -l

প্রতিটি লাইনে, প্রথম অক্ষরটি তালিকাবদ্ধ হচ্ছে এমন প্রবেশের ধরণ চিহ্নিত করে। যদি এটি কোনও ড্যাশ হয় (-) এটি একটি ফাইল। যদি তা চিঠি হয় d এটি একটি ডিরেক্টরি।

পরবর্তী নয়টি অক্ষর অনুমতিগুলির তিন সেটের জন্য সেটিংস উপস্থাপন করে।

  • প্রথম তিনটি অক্ষর ব্যবহারকারী যে ফাইলটির মালিক তাদের জন্য অনুমতিগুলি দেখায় (ব্যবহারকারীর অনুমতি).
  • মাঝের তিনটি অক্ষর ফাইলের গ্রুপের সদস্যদের জন্য অনুমতিগুলি দেখায় (গ্রুপ অনুমতি).
  • শেষ তিনটি অক্ষর প্রথম দুটি বিভাগে নয় এমন কারও জন্য অনুমতিগুলি দেখায় (অন্যান্য অনুমতি).

অনুমতিগুলির প্রতিটি সেটে তিনটি অক্ষর রয়েছে। চরিত্রগুলি হ'ল অনুমতিগুলির একটির উপস্থিতি বা অনুপস্থিতির জন্য সূচক। তারা হয় একটি ড্যাশ (-) বা একটি চিঠি। চরিত্রটি যদি কোনও ড্যাশ হয় তবে এর অর্থ হ'ল অনুমতি দেওয়া হয়নি। চরিত্রটি যদি একটি হয় r, ডাব্লু, বা একটি এক্স, যে অনুমতি দেওয়া হয়েছে।

চিঠিগুলি প্রতিনিধিত্ব করে:

  • r: অনুমতি পড়ুন। ফাইলটি খোলা যেতে পারে এবং এর সামগ্রীগুলি দেখা যায়।
  • ডাব্লু: অনুমতি লিখুন। ফাইলটি সম্পাদনা, সংশোধন এবং মুছতে পারে।
  • এক্স: অনুমতি কার্যকর করুন। ফাইলটি যদি কোনও স্ক্রিপ্ট বা কোনও প্রোগ্রাম হয় তবে এটি চালানো যেতে পারে (কার্যকর করা হবে)।

উদাহরণ স্বরূপ:

  •  --- মানে কোনও অনুমতিই দেওয়া হয়নি।
  •  rwx মানে সম্পূর্ণ অনুমতি দেওয়া হয়েছে। পঠন, লেখার এবং সম্পাদনকারী সূচকগুলি উপস্থিত রয়েছে।

আমাদের স্ক্রিনশটে প্রথম লাইনটি একটি দিয়ে শুরু হয় d। এই লাইনটি "সংরক্ষণাগার" নামক ডিরেক্টরিকে বোঝায়। ডিরেক্টরিটির মালিক হ'ল "ডেভ", এবং যে গোষ্ঠীটির ডিরেক্টরিটি অন্তর্ভুক্ত তার নাম "ডেভ"।

পরবর্তী তিনটি অক্ষর হ'ল এই ডিরেক্টরিতে ব্যবহারকারীর অনুমতি। এগুলি দেখায় যে মালিকের সম্পূর্ণ অনুমতি রয়েছে। দ্য r, ডাব্লু, এবং এক্স অক্ষর সব উপস্থিত। এর অর্থ হল যে ব্যবহারকারী ডেভ সেই ডিরেক্টরিটির জন্য অনুমতিগুলি পড়ে, লিখতে এবং সম্পাদন করে।

তিনটি অক্ষরের দ্বিতীয় সেট হ'ল গ্রুপ অনুমতি, সেগুলি r-x। এগুলি দেখায় যে ডেভ গ্রুপটির সদস্যরা এই ডিরেক্টরিটির জন্য অনুমতিগুলি পড়ে এবং কার্যকর করেছে। এর অর্থ তারা ডিরেক্টরিতে ফাইল এবং তাদের বিষয়বস্তু তালিকাভুক্ত করতে পারে এবং তারা তা করতে পারে সিডি (চালনা) ডিরেক্টরিতে। তাদের লেখার অনুমতি নেই, তাই তারা ফাইল তৈরি করতে, সম্পাদনা করতে বা মুছতে পারে না।

তিনটি অক্ষরের চূড়ান্ত সেটটিওr-x। এই অনুমতিগুলি এমন দুটি ব্যক্তির ক্ষেত্রে প্রযোজ্য যারা অনুমতিগুলির প্রথম দুটি সেট দ্বারা পরিচালিত হয় না। এই ব্যক্তিরা ("অন্যদের" নামে পরিচিত) এই ডিরেক্টরিটিতে অনুমতিগুলি পড়ে এবং চালিত করে।

সুতরাং, সংক্ষেপে বলতে গেলে, গ্রুপের সদস্যরা এবং অন্যরা অনুমতিগুলি পড়ে এবং কার্যকর করে। ডেভ নামে পরিচিত একজন মালিকেরও লেখার অনুমতি রয়েছে।

অন্যান্য সমস্ত ফাইলের জন্য (mh.sh স্ক্রিপ্ট ফাইলটি বাদে) ডেভ এবং ডেভ গ্রুপটির সদস্যরা ফাইলগুলিতে বৈশিষ্ট্যগুলি পড়তে এবং লিখতে পারে এবং অন্যরা কেবল অনুমতি পড়তে পারে।

Mh.sh স্ক্রিপ্ট ফাইলটির বিশেষ ক্ষেত্রে, মালিক ডেভ এবং গোষ্ঠী সদস্যরা অনুমতিগুলি পড়ে, লিখতে এবং সম্পাদন করে এবং অন্যরা কেবল অনুমতিগুলি পড়ে এবং কার্যকর করে।

পারমিশন সিনট্যাক্স বোঝা

ব্যবহার করা chmod অনুমতি সেট করতে, আমাদের এটি জানাতে হবে:

  • WHO: আমরা কার জন্য অনুমতি নির্ধারণ করছি।
  • কি: আমরা কী পরিবর্তন আনছি? আমরা কি অনুমতি যুক্ত করছি বা মুছে ফেলছি?
  • যা: আমরা কোনটি অনুমতি নির্ধারণ করছি?

আমরা এই মানগুলি উপস্থাপন করতে সূচকগুলি ব্যবহার করি এবং সংক্ষিপ্ত "অনুমতি বিবৃতি" তৈরি করি u + x, যেখানে "আপনি" অর্থ "ব্যবহারকারী" (কে), "+" এর অর্থ অ্যাড (কী) এবং "এক্স" এর অর্থ এক্সিকিউট করার অনুমতি (যা)।

যে "কারা" মানগুলি আমরা ব্যবহার করতে পারি সেগুলি হ'ল:

  • u: ব্যবহারকারী, অর্থ ফাইলের মালিক।
  • : গ্রুপ, ফাইলটির অন্তর্ভুক্ত গ্রুপের সদস্যরা meaning
  • : অন্যরা, যার অর্থ লোকেরা সরকার দ্বারা পরিচালিত হয় না u এবং অনুমতি।
  • : সমস্ত, উপরোক্ত সমস্ত অর্থ।

যদি এগুলির কোনওটি ব্যবহার না করা হয়, chmod আচরণ করে যেন “”ব্যবহার করা হয়েছে।

আমরা "কী" মানগুলি ব্যবহার করতে পারি তা হ'ল:

  • : ঋণচিহ্ন. অনুমতি সরিয়ে দেয়।
  • +: প্লাস চিহ্ন। অনুমতি দেয়। অনুমতিটি বিদ্যমান অনুমতিগুলিতে যুক্ত করা হয়। আপনি যদি এই অনুমতি চান এবং কেবল এই অনুমতি সেট করতে চান তবে এটি ব্যবহার করুন = বিকল্প, নীচে বর্ণিত।
  • =: সমান চিহ্ন। একটি অনুমতি সেট করুন এবং অন্যদের সরান।

আমরা "যে" মানগুলি ব্যবহার করতে পারি তা হ'ল:

  • r: পড়ার অনুমতি।
  • ডাব্লু: লেখার অনুমতি।
  • এক্স: অনুমতি কার্যকর।

অনুমতি নির্ধারণ এবং সংশোধন

ধরা যাক আমাদের একটি ফাইল আছে যেখানে প্রত্যেকের কাছে এর সম্পূর্ণ অনুমতি রয়েছে।

ls -l new_ file.txt

আমরা চাই যে ব্যবহারকারী ডেভের অনুমতি পড়ার এবং লেখার এবং গ্রুপ এবং অন্যান্য ব্যবহারকারীদের কেবল পড়ার অনুমতি থাকতে পারে। আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করে করতে পারি:

chmod u = rw, og = r new_file.txt

"=" অপারেটরটি ব্যবহার করার অর্থ আমরা বিদ্যমান বিদ্যমান অনুমতিগুলি মুছে ফেলি এবং তারপরে নির্দিষ্টগুলি সেট করে থাকি।

এই ফাইলটিতে নতুন অনুমতি যাচাই করা যাক:

ls -l new_file.txt

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

কিভাবে অনুমতি যুক্ত করবেন ছাড়া বিদ্যমান অনুমতি সেটিংস অপসারণ? আমরা এটি খুব সহজেই করতে পারি।

ধরা যাক আমাদের একটি স্ক্রিপ্ট ফাইল রয়েছে যা আমরা সম্পাদনা শেষ করেছি। আমাদের এটি সমস্ত ব্যবহারকারীর জন্য কার্যকর করা দরকার। এর বর্তমান অনুমতিগুলি দেখতে এরকম দেখাচ্ছে:

ls -l new_script.sh

নিম্নলিখিত কমান্ডের সাথে আমরা প্রত্যেকের জন্য মৃত্যুদন্ড কার্যকর করার অনুমতি যুক্ত করতে পারি:

chmod a + x new_script.sh

যদি আমরা অনুমতিগুলি একবার দেখে নিই, তবে আমরা দেখতে পাব যে মৃত্যুদন্ড কার্যকর করার অনুমতি এখন প্রত্যেককে দেওয়া হয়েছে এবং বিদ্যমান অনুমতিগুলি এখনও রয়েছে।

ls -l new_script.sh

আমরা "a + x" বিবৃতিতে "a" না করে একই জিনিস অর্জন করতে পারতাম। নিম্নলিখিত কমান্ড ঠিক পাশাপাশি কাজ করতে হবে।

chmod + x new_script.sh

একাধিক ফাইলের জন্য অনুমতি সেট করা হচ্ছে

আমরা একসাথে একাধিক ফাইলে অনুমতি প্রয়োগ করতে পারি।

এই বর্তমান ডিরেক্টরি ফাইলগুলি:

ls -l

ধরা যাক আমরা "অন্য পৃষ্ঠা" ব্যবহারকারীদের রাইনের অনুমতিগুলি ফাইলগুলিতে ".পেজ" এক্সটেনশানটি সরাতে চাই। আমরা নিম্নলিখিত কমান্ড দিয়ে এটি করতে পারি:

chmod ও-আর * .পৃষ্ঠা

এর কী প্রভাব ফেলেছিল তা যাচাই করে দেখি:

ls -l

আমরা দেখতে পাচ্ছি, ব্যবহারকারীদের "অন্যান্য" বিভাগের জন্য ".পেজ" ফাইলগুলি থেকে পঠন অনুমতিটি সরিয়ে দেওয়া হয়েছে। অন্য কোনও ফাইল প্রভাবিত হয়নি।

আমরা যদি উপ-ডিরেক্টরিগুলিতে ফাইলগুলি অন্তর্ভুক্ত করতে চাইতাম তবে আমরা এটি ব্যবহার করতে পারতাম -আর (পুনরাবৃত্ত) বিকল্প।

chmod -R o-r *। পৃষ্ঠা

সংখ্যার শর্টহ্যান্ড

ব্যবহারের অন্য উপায় chmod মালিক, গোষ্ঠী এবং অন্যকে তিন অঙ্কের নম্বর হিসাবে আপনি যে অনুমতিগুলি দিতে চান তা সরবরাহ করা। বামতমতম সংখ্যাটি মালিকের জন্য অনুমতিগুলি উপস্থাপন করে। মাঝারি সংখ্যাটি গ্রুপ সদস্যদের জন্য অনুমতিগুলি উপস্থাপন করে। ডানদিকের অঙ্কটি অন্যদের জন্য অনুমতিগুলি উপস্থাপন করে।

আপনি যে ডিজিটগুলি ব্যবহার করতে পারবেন এবং সেগুলি উপস্থাপন করে তা এখানে তালিকাভুক্ত করা হয়েছে:

  • 0: (000) অনুমতি নেই।
  • 1: (001) অনুমতি কার্যকর করুন।
  • 2: (010) অনুমতি লিখুন।
  • 3: (011) অনুমতি লিখুন এবং সম্পাদন করুন।
  • 4: (100) অনুমতি পড়ুন।
  • 5: (101) অনুমতি পড়ুন এবং সম্পাদন করুন।
  • 6: (110) পড়ুন এবং লেখার অনুমতিগুলি।
  • 7: (111) পড়ুন, লিখুন এবং অনুমতিগুলি কার্যকর করুন।

তিনটি অনুমতিের প্রত্যেকটির দশমিক সংখ্যার বাইনারি সমতুল্য বিটের একটি দ্বারা প্রতিনিধিত্ব করা হয়। 5, যা বাইনারি 101 হয় মানে পড়ুন এবং সম্পাদন করুন। 2, যা বাইনারি 010 হয়, এর অর্থ লেখার অনুমতি।

এই পদ্ধতিটি ব্যবহার করে, আপনি যে অনুমতিগুলি চান তা সেট করেছেন; আপনি এই অনুমতিগুলি বিদ্যমান অনুমতিগুলিতে যুক্ত করবেন না। সুতরাং যদি পড়া এবং লেখার অনুমতিগুলি ইতিমধ্যে স্থানে থাকে তবে এক্সিকিউট করার অনুমতিগুলি যুক্ত করতে আপনাকে 7 (111) ব্যবহার করতে হবে। 1 (001) ব্যবহার করে পড়ার এবং লেখার অনুমতিগুলি মুছে ফেলা হবে এবং সম্পাদনের অনুমতি যুক্ত হবে।

আসুন, অন্য বিভাগের ব্যবহারকারীদের জন্য ".পৃষ্ঠা" ফাইলগুলিতে পুনরায় পড়ার অনুমতি যুক্ত করা যাক। আমাদের অবশ্যই ব্যবহারকারী এবং গোষ্ঠী অনুমতিগুলি সেট করতে হবে, সুতরাং সেগুলি ইতিমধ্যে যা আছে সেগুলিতে আমাদের সেটিং করা দরকার। এই ব্যবহারকারীদের ইতিমধ্যে 6 টি (110) পড়ার এবং লেখার অনুমতি রয়েছে। আমরা "অন্যদের" পড়তে এবং অনুমতি পেতে চাই, তাই তাদের 4 (100) এ সেট করা দরকার।

নিম্নলিখিত আদেশটি এটি সম্পাদন করবে:

chmod 664 *। পৃষ্ঠা

এটি ব্যবহারকারী, গোষ্ঠী সদস্য এবং অন্যদের জন্য আমাদের যা প্রয়োজন আমাদের প্রয়োজনীয় অনুমতি সেট করে sets ব্যবহারকারী এবং গোষ্ঠী সদস্যদের তাদের অনুমতিগুলি যা তারা ইতিমধ্যে ছিল তা পুনরায় সেট করে এবং অন্যদের পড়ার অনুমতি পুনরুদ্ধার করে।

ls -l

উন্নত বিকল্প

আপনি যদি ম্যান পেজ পড়েন chmod আপনি দেখতে পাবেন যে সেখানে কিছু উন্নত বিকল্প রয়েছে যা SETUID এবং SETGID বিট এবং সীমাবদ্ধ মুছে ফেলা বা "স্টিকি" বিটের সাথে সম্পর্কিত।

আপনার প্রয়োজন 99% ক্ষেত্রে chmod কারণ, এখানে বর্ণিত বিকল্পগুলি আপনাকে কভার করবে।