ফাইল অনুমতি কীভাবে কাজ করে?


37

ফাইল অনুমতিগুলি পরিচালনার জন্য ব্যবহৃত প্রধান ধারণা এবং কমান্ড লাইন সরঞ্জামগুলি সংক্ষেপে ব্যাখ্যা করতে পারেন?

উত্তর:


23

প্রতিটি ফাইলের তিনটি পৃথক বিভাগের জন্য অধিকার রয়েছে:

  • ফাইলের মালিক,
  • ফাইলটির সাথে সম্পর্কিত গ্রুপ, এবং
  • প্রত্যেকে.

অধিকার বলতে ফাইলটি পড়ার অধিকার, ফাইলটিতে লেখার অধিকার বা স্ক্রিপ্ট বা প্রোগ্রামের ক্ষেত্রে ফাইলটি সম্পাদন করার অধিকারকে বোঝায়।

সিএলআই-তে আপনি হতে পারেন

  • chownযেমন এর সাথে মালিক পরিবর্তন করুনchown guillermooo
  • chgrpউদাহরণস্বরূপ, গ্রুপটি পরিবর্তন করুনchgrp root
  • এর সাথে অধিকারগুলি পরিবর্তন করুন chmod, যেমন chmod u+w filename.ext(ফাইলের মালিকের জন্য লেখার অনুমতি যুক্ত করুন filename.ext)

আপনি যদি এই সরঞ্জামগুলির প্রতিটি সম্পর্কে আরও জানতে চান তবে একটি টার্মিনাল খুলুন এবং টাইপ করুন man [tool], যেমন man chmod


8
ডিরেক্টরিগুলির সাথে এটি আরও জটিল এবং ডিরেক্টরিটির বিষয়বস্তুগুলি অ্যাক্সেস করার জন্য নির্বাহের অনুমতি প্রয়োজন। এর অর্থ (উদাহরণস্বরূপ) কোনও ফাইল পড়তে বা লিখতে আপনার এতে থাকা ডিরেক্টরিতে অ্যাক্সেস চালানোর পাশাপাশি ফাইলের উপযুক্ত অনুমতিগুলির প্রয়োজন হয়। এটি প্রায়শই কখনও আসে না, তবে সে কারণেই এটি খারাপভাবে নথিভুক্ত / বোঝা যায়!
অ্যাডামনফিশ

হাহ। তুমি ঠিক বলছো. আমি আগামীকাল এডিট করব, যখন আমার কম ঘুম হবে।
পারানোইপ্পি

1
chown guillermoooএই হওয়া উচিত নয় chown guillermooo filename?
জিনেল

32

সতর্কতা: ফাইল এবং ডিরেক্টরিগুলির অনুমতি পরিবর্তন করা সম্ভাব্য ক্ষতিকারক এবং আপনার সিস্টেমে অকেজো ব্যবহার করে। যখন ভুল পথে মূল হিসাবে পুনরাবৃত্তভাবে চালানো হয় তখন আমরা এমন একটি জায়গায় পৌঁছতে পারি যেখান থেকে উবুন্টুকে পুনরায় ইনস্টল করতে হবে। সুতরাং হোম ডিরেক্টরিগুলির বাইরে অনুমতিগুলি পরিবর্তন না করা এবং কমান্ডগুলি পুনরায় হিসাবে মূল হিসাবে চালানো যখনই সম্ভব এড়ানো উচিত idea

ফাইল অনুমতি

উবুন্টু ইউনিক্সের কাছ থেকে অনুমতিগুলির ধারণাটি উত্তরাধিকার সূত্রে প্রাপ্ত হয়েছে যখন ফাইল বা ডিরেক্টরিগুলির জন্য তিনটি কাজ অনুমোদিত বা আমরা অস্বীকার করতে পারি:

  • r (পড়ুন) ফাইল / ডিরেক্টরি পড়ার অ্যাক্সেসের জন্য খোলা হতে পারে।
  • ডাব্লু (লিখন) ফাইল / ডিরেক্টরি লিখতে / সম্পাদনা অ্যাক্সেসের জন্য খোলা হতে পারে।
  • এক্স (এক্সিকিউট) ফাইলটি কার্যকর করা হতে পারে কারণ একটি প্রোগ্রাম / ডিরেক্টরিটি ট্র্যাভারসড হতে পারে।

( কোনও ডিরেক্টরিতে ট্রান্সফারিংয়ের অর্থ মূলত এটি একটি পাথ নামের অংশ হিসাবে ব্যবহার করা more আরও ব্যাখ্যার জন্য https://unix.stackexchange.com/a/13891 বা https://unix.stackexchange.com/questions/21251 দেখুন))

এছাড়াও আমরা কাকে অনুমতি দিয়েছি সে সম্পর্কে আমাদের তিনটি মামলা রয়েছে:

  • u (ব্যবহারকারী) কোনও ফাইলের মালিককে যে কোনও অনুমতি দেওয়া হয়।
  • g (গ্রুপ) গ্রুপের ফাইলটি একটি অনুমোদিত মঞ্জুরিপ্রাপ্ত।
  • o (অন্যান্য) অন্য সকলকে অনুমতি দেওয়া হয়।

এখন এই বাছাইয়ের সংমিশ্রণ পেতে আমরা একটি বাইনারি সিস্টেম ব্যবহার করি যেখানে প্রতিটি বিট একটি অনুমতি নির্ধারণ করে। এটি নিম্নলিখিত সারণীতে সেরা প্রদর্শিত হতে পারে

    Permission | Binary | Octal  | User  | Group | Other |
    ======================================================
      r        |  100   |   4    |       |       |       |
      w        |  010   |   2    |       |       |       |
      x        |  001   |   1    |       |       |       |
    =======================================================
    Number

এখন আমরা উদাহরণস্বরূপ চাই

ক) কোনও ফাইলের (= ব্যবহারকারী) মালিকের r ead, w rite, এবং e x একিউট অনুমতি রয়েছে,
খ) ফাইলটির গ্রুপটি r ead এবং e x একিউট অনুমতি দিয়েছে, এবং
গ) অন্য সকলের কাছে কেবল r ead অ্যাক্সেস থাকা উচিত ।

তারপরে ফলাফল ফাইলের অনুমতিটি হ'ল:

 u   g   o
rwx r-x r--

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

    Permission | Binary | Octal  | User  | Group | Other |
    ======================================================
      r        |  100   |   4    |   4   |   4   |   4   |
      w        |  010   |   2    |   2   |   0   |   0   |
      x        |  001   |   1    |   1   |   1   |   0   |
    ======================================================
    Numbers add to                   7       5       4     

প্রতিটি ব্যবহারকারীর সংখ্যা (4 + 2 + 1 = 7), গোষ্ঠী (4 + 0 + 1 = 5) এবং অন্যান্য (4 + 0 + 0 = 4) যোগ করতে প্রতিটি অনুমতি নম্বর যোগ করা প্রয়োজন needs ফলস্বরূপ সংখ্যাটি হ'ল:

 u   g   o
 7   5   4

অনুমতি বিট পরিবর্তন করার জন্য আমাদের কাছে এখন দুটি বিকল্প রয়েছে chmod:

chmod u+rwx g+rx o+r filename

বা আরও সহজ সঙ্গে

chmod 751 filename

উভয় কমান্ড একই কাজ করবে।

আমাদের বাড়ীতে নতুন নির্মিত ফাইলটির ডিফল্ট অনুমতিটি হবে 664 (-rw-rw-r--)।

আমরা যদি ফাইলগুলি প্রোগ্রাম হিসাবে সম্পাদনযোগ্য হতে চাই তবে আমাদের এই অনুমতিটি পরিবর্তন করতে হবে।

  • নোট করুন যে এই নির্বাহযোগ্য ডিরেক্টরিতে থাকতে পারে সেই ডিরেক্টরিটিরও আমাদের পরিবর্তন করতে হবে Only কেবলমাত্র যদি ফাইল , ডিরেক্টরি এবং ডিরেক্টরিটির এক্সিকিউটেবল বিট সেট করা থাকে তবে আমাদের প্রোগ্রাম হিসাবে এই ফাইলটি চালানোর অনুমতি দেওয়া হবে।

  • আমাদের বাড়িতে কোনও ফাইল অনুলিপি করার সময় এটির অনুমতিগুলি হারাবে যা আমাদের নিজস্ব ডিফল্ট অনুমতিগুলি দ্বারা প্রতিস্থাপন করা হবে (যদি না আমরা উন্নত বিকল্পগুলি যেমন একটি সংরক্ষণাগার বিকল্প ব্যবহার করে অনুলিপি করি না)।

  • এছাড়াও নোট করুন যে ফাইলটি তাদের মাউন্ট পয়েন্ট, রেসপন্স থেকে তাদের অনুমতি পেতে পারে। মাউন্ট অপশন। উইন্ডোজ ফর্ম্যাটেড ড্রাইভগুলি মাউন্ট করার সময় এটি গুরুত্বপূর্ণ যা ইউনিক্স অনুমতিগুলি সমর্থন করে না।

ব্যবহারকারী এবং গোষ্ঠী

আমরা শীঘ্রই বুঝতে পারি যে এটি গল্পের অর্ধেক ছিল। আমাদের জিনিসপত্র বাছাই করাও দরকার। এটি করতে প্রতিটি ফাইল বা ফোল্ডারের একটি সংজ্ঞায়িত মালিক এবং একটি সংজ্ঞায়িত গ্রুপ সদস্যতা থাকে।

প্রতিবার আমরা একটি ফাইল তৈরি করার সময় আমরা কোনও ফাইলের মালিক হব এবং ফাইলটির গোষ্ঠীটিও আমাদের হবে। সঙ্গে ls -lআমরা অনুমতি, মালিকানা, এবং গ্রুপ নিম্নলিখিত উদাহরণে আউটপুট থেকে দেখা দেখতে পারেন:

-rw-rw-r--  1 takkat takkat    4096 Sep 12 20:25 test
  • আমাদের কেবল আমাদের ফাইলগুলির অনুমতি, গোষ্ঠী বা মালিকানা পরিবর্তন করার অনুমতি রয়েছে।

আমরা যদি ফাইলের মালিক না হই তবে আমরা একটি Permission deniedত্রুটি পেয়ে যাব । সমস্ত রুটের জন্য কেবল রুট এটি পরিবর্তন করতে পারে। sudoআমাদের নন এমন ফাইলগুলির অনুমতি সম্পাদনার সময় আমাদের ব্যবহার করতে হয়। chownব্যবহারকারী এবং chgrpগোষ্ঠীগুলির পক্ষে এটি করার জন্য দুটি বিল্ট-ইন কমান্ড রয়েছে ।

কারও কাছ থেকে কোনও ফাইলের মালিকানা পরিবর্তন করতে takkatআমরা এই আদেশটি দিতে পারি:

sudo chown takkat testfile

takkatআমরা ইস্যু করে একটি ফাইলের গ্রুপ পরিবর্তন করতে

sudo chgrp takkat testfile

আরও বিশদ এবং বিকল্পগুলির জন্য কমান্ডগুলির ম্যান্যাপগুলি পড়ুন। আরও পড়ার জন্য সুপারিশ করা এই দুর্দান্ত আরও বিস্তৃত গাইড রয়েছে:

এছাড়াও কিছু সম্পর্কিত প্রশ্ন এখানে পান:

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.