ইউনিক্স অনুমতি এবং ফাইলের ধরণগুলি বোঝা


68

chmodআজ অবধি আমি কীভাবে কাজ করেছি তা সত্যিই পাইনি । আমি একটি টিউটোরিয়াল অনুসরণ করেছি যা আমাকে একটি বড় বিষয় ব্যাখ্যা করেছিল।

উদাহরণস্বরূপ, আমি পড়েছি যে আপনি তিনটি পৃথক অনুমতি গ্রুপ পেয়েছেন:

  • মালিক ( u)
  • গোষ্ঠী ( g)
  • প্রত্যেকে ( o)

এই তিনটি গোষ্ঠীর উপর ভিত্তি করে, আমি এখন জানি যে:

  • যদি ফাইলটি ব্যবহারকারীর মালিকানাধীন থাকে তবে ব্যবহারকারীর অনুমতিগুলি অ্যাক্সেস নির্ধারণ করে।
  • যদি ফাইলটির গ্রুপটি ব্যবহারকারীর গ্রুপের মতো হয় তবে গ্রুপের অনুমতি অ্যাক্সেস নির্ধারণ করে।
  • যদি ব্যবহারকারী ফাইলের মালিক না হন এবং গ্রুপে না থাকেন তবে অন্য অনুমতি ব্যবহার করা হয়।

আমি আরও শিখেছি যে আপনি নিম্নলিখিত অনুমতি পেয়েছেন:

  • পড়ুন ( r)
  • লিখুন ( w)
  • কার্যকর করা ( x)

আমি আমার নতুন অর্জিত জ্ঞান পরীক্ষা করার জন্য একটি ডিরেক্টরি তৈরি করেছি:

mkdir test

তারপরে আমি কিছু পরীক্ষা করেছি:

chmod u+rwx test/
# drwx------
chmod g+rx test/
# drwxr-x---
chmod u-x test/
# drw-r-x---

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


কিন্তু ...

আমার এখনও কয়েকটি প্রশ্ন রয়েছে:

  • dশুরুতে কী দাঁড়াবে?
  • থাকা স্লটটির নাম এবং ব্যবহার কী এবং এটি কী অন্যান্য মান ধারণ করতে পারে?
  • আমি কীভাবে এটি সেট এবং আনসেট করতে পারি?
  • এর মূল্য কী d? (যেমন আপনার কেবল 7 = 4 + 2 + 1 7 = 4 + 2 + 1 7 = 4 + 2 + 1)
  • লোকেরা কেন কখনও কখনও তাদের অনুমতি সেট করার 0777পরিবর্তে ব্যবহার করে 777?

তবে আমার একাধিক প্রশ্ন জিজ্ঞাসা করা উচিত নয়, আমি এটি একটি প্রশ্নে জিজ্ঞাসা করার চেষ্টা করব।

এমন সব লিনাক্স ডিস্ট্রিবিউশন হিসাবে ইউনিক্স ভিত্তিক সিস্টেমের, অনুমতি বিষয়ে সালে প্রথম অংশ (নেই d) জন্য দাঁড়ানো ও অনুমতি এই অংশ জন্য ব্যবহারে কি?


3
দয়া করে পরের বার কেবল একটি প্রশ্ন জিজ্ঞাসা করার চেষ্টা করুন, একাধিক প্রশ্ন সাধারণত উল্লেখ করার জন্য খারাপ হয় এবং প্রায় একই সাথে সবসময় সম্বোধন করা হয় না।
কিউই

1
@ কিউই আমি দুঃখিত, আমি ভেবেছিলাম আমি এটি এটি করব কারণ এটি একই বিষয় নিয়ে উদ্বেগ প্রকাশ করেছে। আপনি যদি চান তবে আমার প্রশ্নের উত্স উন্নয়নের জন্য আরও ভাল শিরোনামের পরামর্শ দিতে পারেন।
পিটার

1
ঘটনাচক্রে, "d" এর মান 040000 - এটি নাম অনুসারে শিরোনাম ফাইলগুলিতে পাওয়া যেতে পারে S_IFDIR। ফাইল মোড সেট করার সময় আপনি এটি ব্যবহার করবেন না, তবে stat()ফাংশনটি আসলে 040750 এর জন্য মানটি দেয় drwxr-x---
র্যান্ডম 832

2
@ জামেস্কেফ আসলে, এখন আমি বুঝতে পারি যে কীভাবে অষ্টাল কোডগুলি মানচিত্র করে, সেভাবে আমার পক্ষে চিন্তা করা সহজ।
হ্যালোগোস্ট

4
@ পিটার: কোনও বোকা প্রশ্ন নেই - কেবল বোকা যারা শিখেন না কারণ তারা জিজ্ঞাসা করতে ভয় পান।
mgarciaisaia

উত্তর:


117

আমি আপনার প্রশ্নের উত্তর তিনটি অংশে দেব: ফাইলের ধরন, অনুমতি এবং এর বিভিন্ন ধরণের ক্ষেত্রে ক্ষেত্রে ব্যবহার করুন chmod

নথির ধরণ

ls -lআউটপুট মধ্যে প্রথম অক্ষর ফাইল টাইপ প্রতিনিধিত্ব করে; dমানে এটি একটি ডিরেক্টরি। এটি সেট বা আনসেট করা যায় না, এটি ফাইলটি কীভাবে তৈরি হয়েছিল তার উপর নির্ভর করে। আপনি ls ডকুমেন্টেশনে ফাইল ধরণের সম্পূর্ণ তালিকা খুঁজে পেতে পারেন ; আপনি সম্ভবত আসতে পারে

  • -: "নিয়মিত" ফাইল, এমন কোনও প্রোগ্রাম দিয়ে তৈরি যা কোনও ফাইল লিখতে পারে
  • b: বিশেষ ফাইলটি ব্লক করুন, সাধারণত ডিস্ক বা পার্টিশন ডিভাইসগুলি দিয়ে তৈরি করা যেতে পারে mknod
  • c: অক্ষর বিশেষ ফাইল, এছাড়াও দিয়ে তৈরি করা যেতে পারে mknod(উদাহরণস্বরূপ দেখুন /dev)
  • d: ডিরেক্টরি, দিয়ে তৈরি করা যেতে পারে mkdir
  • l: প্রতীকী লিঙ্কটি দিয়ে তৈরি করা যায় ln -s
  • p: নামক পাইপ, দিয়ে তৈরি করা যেতে পারে mkfifo
  • s: সকেট, দিয়ে তৈরি করা যেতে পারে nc -U
  • D: দরজা , সোলারিস / ওপেনইন্ডিয়ানাতে কিছু সার্ভার প্রক্রিয়া দ্বারা নির্মিত।

অনুমতিসমূহ

chmod 0777chmodপরিবর্তনের সাথে একত্রিত না হয়ে একের প্রয়োগে সমস্ত অনুমতি সেট করার জন্য ব্যবহৃত হয় u+চারটি অঙ্কের প্রত্যেকটিরই একটি সেটগুলির প্রতিনিধিত্ব করে একটি অষ্টাল মান:

  • suid, sgidএবং "স্টিকি" (নীচে দেখুন)
  • ব্যবহারকারীর অনুমতি
  • গ্রুপ অনুমতি
  • "অন্যান্য" অনুমতি

অষ্টাল মান পারমিশনের যোগফল হিসাবে গণনা করা হয়:

  • "পড়া" 4 হয়
  • "লিখুন" 2
  • "এক্সিকিউট" হ'ল 1

প্রথম অঙ্কের জন্য:

  • suid4 হয়; এই বিট সেট সহ বাইনারিগুলি তাদের মালিক ব্যবহারকারী হিসাবে চালিত হয় (সাধারণত root)
  • sgid2; এই বিট সেট সহ বাইনারিগুলি তাদের মালিক গ্রুপ হিসাবে চালিত হয় (এটি গেমগুলির জন্য উচ্চ স্কোরগুলি ভাগ করে নেওয়া যায় তবে গেমগুলির দুর্বলতার সাথে একত্রিত হলে এটি প্রায়শই সুরক্ষা ঝুঁকিপূর্ণ হয়) এবং এই বিট সেটটি সহ ডিরেক্টরিতে নির্মিত ফাইলগুলি অন্তর্ভুক্ত ডিরেক্টরিটির মালিক গ্রুপ ডিফল্টরূপে (এটি ভাগ করা ফোল্ডার তৈরির জন্য কার্যকর)
  • "স্টিকি" (বা "সীমাবদ্ধ মুছে ফেলা") 1; এই বিট সেট সহ ডিরেক্টরিগুলিতে থাকা ফাইলগুলি কেবল তাদের মালিক, ডিরেক্টরির মালিক বা root(এটির /tmpসাধারণ উদাহরণ দেখুন) দ্বারা মুছতে পারে ।

দেখুন র manpage বিস্তারিত জানার জন্য। মনে রাখবেন যে এই সমস্ত ক্ষেত্রে আমি অন্যান্য সুরক্ষা বৈশিষ্ট্যগুলি উপেক্ষা করছি যা ব্যবহারকারীদের ফাইলগুলিতে অনুমতিগুলি (SELinux, ACL গুলি ফাইল ...) পরিবর্তন করতে পারে।chmod

ফাইলের ধরণের (নিয়মিত ফাইল বা ডিরেক্টরি) এবং অন্তর্নিহিত সিস্টেমের উপর নির্ভর করে বিশেষ বিটগুলি আলাদাভাবে পরিচালনা করা হয়। (এটি chmodম্যানপেজে উল্লেখ করা হয়েছে ।) যে সিস্টেমে আমি এটি পরীক্ষা করতাম ( coreutilsএকটি ext4ফাইল সিস্টেমে ৮.২৩ সহ লিনাক্স কার্নেল ৩.১16..7-সিকিটি ২ চালাচ্ছি), আচরণটি নিম্নরূপ। একটি ফাইলের জন্য, বিশেষ বিটগুলি সর্বদা পরিষ্কার করা হয় যদি না স্পষ্টভাবে সেট করা থাকে, তবে chmod 0777এটি সমান হয় chmod 777এবং উভয় কমান্ডই বিশেষ বিটগুলি সাফ করে এবং ফাইলটিতে প্রত্যেককে সম্পূর্ণ অনুমতি দেয়। কোনও ডিরেক্টরিতে, বিশেষ বিটগুলি চার অঙ্কের সংখ্যাসূচক ফর্মটি ব্যবহার করে কখনই পুরোপুরি সাফ হয় না, ফলস্বরূপ কার্যকরভাবে chmod 0777এটিও এর সমতুল্যchmod 777তবে এটি বিভ্রান্তিকর কারণ কিছু বিশেষ বিট যেমন রয়েছে তেমন থাকবে। (এই উত্তর এর একটি পূর্ববর্তী সংস্করণ এই ভুল পেয়েছিলাম।) ডিরেক্টরি আপনি ব্যবহার করতে হবে বিশেষ বিট সাফ করতে u-s, g-sএবং / অথবা o-tস্পষ্টভাবে বা নেতিবাচক সাংখ্যিক মান উল্লেখ, তাই chmod -7000একটি ডিরেক্টরি সমস্ত বিশেষ বিট সাফ করবে।

ইন ls -lআউটপুট, suid, sgidএবং "স্টিকি" স্থানে প্রদর্শিত xএন্ট্রি: suidহয় sবা Sব্যবহারকারীর পরিবর্তে x, sgidহয় sবা Sগ্রুপ এর পরিবর্তে x, এবং "চটচটে" হয় tবা Tঅন্যদের পরিবর্তে ' x। একটি নিম্ন-অক্ষর চিঠি নির্দেশ করে যে বিশেষ বিট এবং এক্সিকিউটেবল বিট উভয়ই সেট করা আছে; একটি বড় হাতের অক্ষর নির্দেশ করে যে কেবলমাত্র বিশেষ বিট সেট করা আছে।

বিভিন্ন ধরণের chmod

উপরে বর্ণিত আচরণের কারণে, পূর্ণ চারটি সংখ্যা ব্যবহার করে chmodবিভ্রান্তিকর হতে পারে (কমপক্ষে এটি দেখা দেয় যে আমি বিভ্রান্ত হয়ে পড়েছিলাম)। এটি কার্যকর যখন আপনি বিশেষ বিট পাশাপাশি অনুমতি বিট সেট করতে চান; অন্যথায় বিটগুলি সাফ হয়ে যায় যদি আপনি কোনও ফাইল ম্যানিপুলেট করছেন, আপনি যদি কোনও ডিরেক্টরি পরিচালনা করছেন তবে সংরক্ষণ করা হবে। সুতরাং chmod 2750আপনি কমপক্ষে sgidএবং ঠিক পাবেন তা নিশ্চিত করে u=rwx,g=rx,o=; তবে chmod 0750অগত্যা বিশেষ বিটগুলি সাফ করবেন না।

টেক্সট কমান্ডের পরিবর্তে সংখ্যাযুক্ত মোড ব্যবহার করা ( [ugo][=+-][rwxXst]) সম্ভবত অভ্যাসের একটি বিষয় এবং কমান্ডের লক্ষ্য। আপনি একবার সংখ্যার মোড ব্যবহার করতে অভ্যস্ত হয়ে ওঠেন, কেবল সেইভাবে পুরো মোডটি নির্দিষ্ট করা প্রায়শই সহজ হয়; এবং অন্যান্য সংখ্যা কমান্ড এগুলি ( install, mknod...) ব্যবহার করতে পারে বলে সংখ্যাসূচক পদ্ধতি ব্যবহার করে অনুমতিগুলি সম্পর্কে চিন্তা করতে সক্ষম হওয়াই দরকারী ।

কিছু পাঠ্য রূপগুলি কাজে আসতে পারে: আপনি যদি সহজেই ফাইলটি যে কারও দ্বারা সম্পাদিত হতে পারে তা নিশ্চিত করতে চান chmod a+xতবে অন্যান্য অনুমতিগুলি কী তা বিবেচনা না করেই তা করবে। অনুরূপভাবে, +Xকেবলমাত্র এক্সিকিউটিভের অনুমতিগুলির মধ্যে একটি ইতিমধ্যে সেট করা থাকলে বা ফাইলটি ডিরেক্টরি থাকে তবেই এক্সিকিউট অনুমতিটি যুক্ত করে; বিশেষ কেস ফাইল বনাম ডিরেক্টরি না রেখে বিশ্বব্যাপী অনুমতিগুলি পুনরুদ্ধার করার জন্য এটি কার্যকর হতে পারে। সুতরাং, সমস্ত ডিরেক্টরি এবং এক্সিকিউটেবল ফাইল এবং অন্যান্য সমস্ত ফাইলে chmod -R ug=rX,u+w,o=প্রয়োগ chmod -R 750করার সমতুল্য chmod -R 640


যদিও, অন্যান্য উত্তরগুলি বেশ ভাল ছিল, আপনি সত্যই এই প্রশ্নের উত্তর দেওয়ার জন্য কিছুটা সময় ব্যয় করেছিলেন। ধন্যবাদ।
পিটার

* বিএসডি ডিরেক্টরিগুলি sgidএর প্রকৃত মান নির্বিশেষে এমনভাবে আচরণ করে যেন তাদের বিট সর্বদা সেট করা থাকে। ফ্রিবিএসডি-তে suidবিটটি অ্যানালগলিভাবে কাজ করার জন্য কনফিগার করা যেতে পারে sgid(যেমন অভ্যন্তরীণভাবে তৈরি করা ফাইল এবং সাব-ডিরেক্টরিগুলি ডিরেক্টরিতে একই মালিক হবে), তবে শর্ত থাকে যে অন্তর্নিহিত ফাইল সিস্টেম এটি সমর্থন করে এবং suiddirবিকল্পটি মাউন্ট করা থাকে ।
lcd047

" +Xকেবলমাত্র মৃত্যুদন্ড কার্যকর করার অনুমতি যুক্ত করা হয় যদি এক্সিকিউটিভের অনুমতিগুলির মধ্যে একটি ইতিমধ্যে সেট হয়ে থাকে বা ফাইলটি ডিরেক্টরি থাকে" আপনাকে ধন্যবাদ @ স্টিফেন-কিট অনুপস্থিত "ইতিমধ্যে সেট করা আছে" ডকুমেন্টেশন আমাকে সত্যিই একটি লুপের জন্য ফেলেছিল!
রায়ান ফিশার

39

সুতরাং, লিনাক্সে অনুমতিগুলি অত্যন্ত গুরুত্বপূর্ণ। আমি একটি সংক্ষিপ্ত ব্যাখ্যা করার চেষ্টা করব।

একটি ফাইল মোডের টুকরা জন্য

প্রতিটি ইউনিক্স ফাইলের একধরণের অনুমতি রয়েছে যা আপনি ফাইলটি পড়তে, লিখতে বা চালাতে পারবেন কিনা তা নির্ধারণ করে। Ls -l চালানো অনুমতিগুলি প্রদর্শন করে। এই জাতীয় প্রদর্শনীর উদাহরণ এখানে:

-rw-r--r-- 1 user somegroup 7041 Mar 26 19:34 somefile

আমি একটি ফাইল মোডের টুকরাগুলির একটি চিত্র সংযুক্ত করি:

এখানে চিত্র বর্ণনা লিখুন

টাইপ আলাদা জিনিস হতে পারে। উদাহরণ স্বরূপ:

  • ডি (ডিরেক্টরি)
  • সি (অক্ষর ডিভাইস)
  • l (syMLink)
  • পি (নামযুক্ত পাইপ)
  • গুলি (সকেট)
  • খ (ব্লক ডিভাইস)
  • ডি (দরজা, লিনাক্স সিস্টেমে সাধারণ নয়, তবে পোর্ট করা হয়েছে)

আপনি যদি সমস্ত ডিরেক্টরিতে কিছু অনুমতি সেট করতে চান তবে আপনি আর অ্যাট্রিবিউট ব্যবহার করতে পারেন, উদাহরণস্বরূপ:

chmod -R 777 /some/directory/

Chmod 777 বনাম 0777 এর জন্য

chmodকমান্ড সাধারণত আশা ইনপুট একটি অকট্যাল সংখ্যাকে হতে, শূন্য চটচটে / sgid / SUID বিট ত্রয়ী মান বোঝায়। তবে সি তে এটি একটি তাত্পর্যপূর্ণ 777হবে , যেহেতু 01411(অষ্টাল) এ অনুবাদ করা হবে , সুতরাং এটি স্টিকি বিট সেট করে ( chmod(2)ম্যান পৃষ্ঠাটি দেখুন), মালিকের জন্য অনুমতি পড়ুন এবং গ্রুপ এবং অন্যদের জন্য এক্সিকিউটেবল বিট (যা একটি বিস্ময়কর সংমিশ্রণ) ।

সম্পাদনা 1

আমি লিনাক্স অনুমতি সম্পর্কে অন্যান্য ছবি পেয়েছি এবং আরও সহজ বোঝার জন্য আমি সংযুক্ত করব: ইউনিক্স ফাইল অনুমতি


5
আপনি 77 vs7 বনাম 0777 সম্পর্কে ভুল Both
অরিওশন

3
@ অরিওন মাঝেমধ্যে এটি সত্য, উদাহরণস্বরূপ সি-জাতীয় কোডে chmod(777)আসলে চলার সমতুল্য হবে chmod 1411(অর্থাত্ chmodযুক্তি সহ কমান্ড 1411)।
পিটার্ফ

2
... যা সিস্কেল (বা এর মোড়ক) এবং বাইনারি একই নাম বহন করার ক্ষেত্রে কিছুটা বিভ্রান্তিকর হতে পারে।
পিটার্ফ

3
পাইথন মাস্টার রেস 0 দিয়ে শুরু হওয়া সমস্ত "সংখ্যা" নিষিদ্ধ করে এই পিছনের সমস্যাটি সমাধান করেছে, ব্যবহারকারীকে দশমিক, যেমন হেক্স :, 0x1FFবাইনারি: 0b111111111বা অষ্টাল: ব্যতীত অন্য কিছু চাইলে তারা স্পষ্ট হতে বাধ্য করে 0o777। অজগর শক্তি
নিক টি

ছবির উত্স?
রাগক

10

dএর অর্থ এটি একটি ডিরেক্টরি, যদি আপনার কাছে একটি ফাইল থাকে -এবং এটি যদি একটি লিঙ্ক হয় তবে আপনি একটি খুঁজে পাবেন l। এটি সেট / আনসেট করা যাবে না।

যদি আপনি অনুমতি হিসাবে 0777 ব্যবহার করেন তবে আপনি সিস্টেমের প্রতিটি ব্যবহারকারী / গোষ্ঠীকে সম্পূর্ণ নিয়ন্ত্রণ (পড়ুন + লিখুন + চালানো) প্রদান করছেন। আপনার যখন ব্যবহারকারী / গোষ্ঠীগুলি ডিরেক্টরি / ফাইল অ্যাক্সেস করতে পারে না তখন সমস্যাগুলি সমাধান করার এটি একটি অলস উপায়।

উদাহরণস্বরূপ, আপনি যদি কোনও ডিরেক্টরিটির বিষয়বস্তু তালিকাভুক্ত করেন এবং এটি পান:

-rw-r--r-- 1 root root 42596 jun 7 2012 preloadable_libintl.so

preloadable_libintl.so ব্যবহারকারী ফাইল এবং গোষ্ঠী মূলের মালিকানাধীন একটি ফাইল। মালিক রিড ও রাইট এক্সেস হয়েছে, গ্রুপ শুধুমাত্র এক্সেস পড়েছেন এবং কোন অন্যান্য ব্যবহারকারী এক্সেস পড়েছেন। এটি 644 হিসাবে অনুবাদ করা যেতে পারে।

আমি যদি এটি 777 এ পরিবর্তন করি তবে এটি দেখতে এরকম হবে:

-rwxrwxrwx 1 root root 42596 jun 7 2012 preloadable_libintl.so


7

আমার প্রশ্নের উত্তর পাওয়ার পরে এবং ফলাফল সম্পর্কে কিছু গবেষণা করার পরে আমি একটি নিবন্ধ পেয়েছি যা এটি খুব ভালভাবে ব্যাখ্যা করে। আমি এই নিবন্ধটির কিছু অংশ ভবিষ্যতের রেফারেন্সের জন্য এখানে ভাগ করতে চাই।

অনুমতি দেখতে

chmodকোনও ফাইল বা ডিরেক্টরিগুলির অনুমতি পরিবর্তন করতে ব্যবহার করার জন্য আপনাকে প্রথমে জানতে হবে যে অ্যাক্সেসের বর্তমান মোডটি কী। আপনি cdসেই ডিরেক্টরিতে টার্মিনালের একটি ডিরেক্টরি সামগ্র দেখতে এবং তারপরে ব্যবহার করতে পারেন:

$ ls -l

-lসুইচ গুরুত্বপূর্ণ কারণ ব্যবহার করছে lsএটা ছাড়া শুধুমাত্র ডিরেক্টরির মধ্যে ফাইল বা ফোল্ডার নাম প্রদর্শন করা হবে।

নীচে ls -lআমার হোম ডিরেক্টরিতে ব্যবহারের উদাহরণ রয়েছে :

total 128
drwxr-xr-x 2 peter users  4096 Jul  5 21:03 Desktop
drwxr-xr-x 6 peter users  4096 Jul  5 17:37 Documents
drwxr-xr-x 2 peter users  4096 Jul  5 13:45 Downloads
drwxr-xr-x 2 peter users  4096 Jun 24 03:36 Movies
drwxr-xr-x 2 peter users  4096 Jun 24 03:38 Music
drwxr-xr-x 2 peter users  4096 Jun 26 00:09 Pictures
-rw-r--r-- 1 peter users   354 Jul  6 17:15 chmodtest

কলামগুলি কী বোঝায়

প্রথম কলামটি প্রতিটি ফাইলের ধরণ:

  • - একটি সাধারণ ফাইল বোঝায়।
  • d একটি ডিরেক্টরি বোঝায়, অর্থাত অন্য ফোল্ডার বা ফোল্ডার সমেত একটি ফোল্ডার।
  • p নামযুক্ত পাইপ (ওরফে ফিফো) বোঝায়।
  • l প্রতীকী লিঙ্ক বোঝায়।

তারপরের চিঠিগুলি হ'ল অনুমতিগুলি, এই প্রথম কলামটিই আমরা সবচেয়ে বেশি আগ্রহী হব The দ্বিতীয়টি হ'ল কোনও ফাইলে কতগুলি লিঙ্ক রয়েছে, আমরা নিরাপদে এটিকে উপেক্ষা করতে পারি। তৃতীয় কলামটির দুটি মান / নাম রয়েছে: প্রথমটি (আমার উদাহরণে 'পিটার') ফাইলটির মালিক যে ব্যবহারকারীর নাম। দ্বিতীয় মান (উদাহরণস্বরূপ 'ব্যবহারকারীগণ') সেই গ্রুপ যা মালিকের অন্তর্ভুক্ত (গ্রুপগুলি সম্পর্কে আরও পড়ুন)।

পরবর্তী কলামটি হ'ল ফাইল বা ডিরেক্টরিতে ফাইল বা ডিরেক্টরিগুলির আকার এবং তারপরে ফাইল বা ডিরেক্টরিটি সর্বশেষে সংশোধন করার তারিখ এবং সময় এবং অবশ্যই ফাইল বা ডিরেক্টরিটির নাম।

অনুমতি মানে কি

প্রথম -বা পরে প্রথম তিনটি অক্ষর dহ'ল মালিকের অনুমতি। পরবর্তী তিনটি অক্ষর এমন অনুমতি যা গ্রুপে প্রযোজ্য। চূড়ান্ত তিনটি বর্ণ হ'ল অনুমতিগুলি যা প্রত্যেকের জন্য প্রযোজ্য।

তিনটি অক্ষর প্রত্যেকটি সেট গঠিত r wএবং xrসর্বদা প্রথম অবস্থানে থাকে, wসর্বদা দ্বিতীয় অবস্থানে থাকে এবং xসর্বদা তৃতীয় অবস্থানে থাকে। rহ'ল পঠন অনুমতি, wলেখার অনুমতি এবং xকার্যকর অনুমতি। যদি -এই বর্ণগুলির একটির জায়গায় হাইফেন ( ) থাকে তবে এর অর্থ অনুমতি দেওয়া হয় নি, এবং যদি চিঠিটি উপস্থিত থাকে তবে তা অনুমোদিত হয়।

ফোল্ডার

ফোল্ডারগুলির ক্ষেত্রে মোড বিটগুলি নিম্নলিখিতভাবে ব্যাখ্যা করা যায়:

  • r (পড়ুন) এর অর্থ প্রদত্ত ডিরেক্টরিগুলির সামগ্রীর সারণীটি পড়ার সক্ষমতা,
  • w(লিখুন) এর অর্থ প্রদত্ত ডিরেক্টরিটির সামগ্রীর সারণীটি লেখার সক্ষমতা (নতুন ফাইল, ফোল্ডার তৈরি করা; পুনরায় নামকরণ, বিদ্যমান ফাইলগুলি, ফোল্ডারগুলি মুছুন) এবং কেবলমাত্র এক্সিকিউট বিট সেট করা থাকলে। অন্যথায়, এই অনুমতি অর্থহীন।
  • x (এক্সিকিউট) বলতে সেই ডিরেক্টরিতে সিডি কমান্ড এবং ফাইল, ফোল্ডার অ্যাক্সেসের সাহায্যে প্রদত্ত ডিরেক্টরিটি প্রবেশ করার ক্ষমতা বোঝায়।

Chmod কমান্ড ব্যবহার করে অনুমতি পরিবর্তন করা হচ্ছে

chmodলিনাক্স এবং অন্যান্য ইউনিক্স-মতো অপারেটিং সিস্টেমে একটি কমান্ড। এটি আপনাকে কোনও ফাইল বা ডিরেক্টরিতে অনুমতি (বা অ্যাক্সেস মোড) পরিবর্তন করতে দেয়।

আপনি দুটি পৃথক উপায়ে অনুমতি পরিবর্তন করতে পারেন: - পাঠ্য-ভিত্তিক chmod - সংখ্যা ভিত্তিকchmod

পাঠ্য পদ্ধতি

কোনও ফাইলের অনুমতি বা অ্যাক্সেস মোড পরিবর্তন করতে, আমরা একটি টার্মিনালে chmod কমান্ডটি ব্যবহার করি। কমান্ডের সাধারণ কাঠামো নীচে:

chmod who=permissions filename

হ'ল বিস্তৃত চিঠিগুলির মধ্যে কে হ'ল এবং প্রত্যেকটি আপনাকে কাকে অনুমতি দিতে চলেছে তা নির্দেশ করে। অনুসরণ হিসাবে তারা:

u - The user that owns the file.
g - The group the file belongs to.
o - The other users i.e. everyone else.
a - all of the above - use this instead of having to type ugo.

অনুমতি একই হিসাবে ইতিমধ্যে আলোচনা করা হয়েছে ( r, w, এবং x)।

Chmod কমান্ড আমাদের বিদ্যমান সেট থেকে + বা - এর পরিবর্তে + ব্যবহার করে অনুমতিগুলি যোগ করতে এবং বিয়োগ করতে দেয়। এই উপরে আদেশ, যা মূলত অনুমতি পুনরায় লিখতে ভিন্ন (অর্থাত থেকে একটি অনুমতির পরিবর্তন করতে r--করতে rw-, আপনি কি এখনও অন্তর্ভুক্ত করতে হবে rএবং সেইসাথে wপর =chmodকমান্ড। আপনি মিস আউট যদি r, দূরে নিতে হবে rযেমন অনুমতি এগুলি = দিয়ে পুনরায় লিখিত হচ্ছে Using ব্যবহার করে এবং - এবং বর্তমান অনুমতির সেট সেট থেকে দূরে সরিয়ে এটি এড়িয়ে চলুন)।

সংখ্যা পদ্ধতি

chmod সংখ্যা ব্যবহার করে অনুমতিও সেট করতে পারে।

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

chmod xxx file/directory

যেখানে xxx একটি 3 ডিজিটের সংখ্যা যেখানে প্রতিটি অঙ্ক 1 থেকে 7 পর্যন্ত যে কোনও কিছু হতে পারে প্রথম সংখ্যাটি মালিকের অনুমতিগুলির ক্ষেত্রে প্রযোজ্য, দ্বিতীয় সংখ্যাটি গোষ্ঠীর অনুমতিতে প্রযোজ্য এবং তৃতীয় সংখ্যাটি অন্য সকলের জন্য অনুমতিতে প্রযোজ্য।

এই সংখ্যায় চিহ্নিতকরণে, r, w এবং x এর মানগুলির নিজস্ব নম্বর মান থাকে:

r=4
w=2
x=1

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

Owner: rwx = 4+2+1=7
Group: r-x = 4+0+1=5 (or just 4+1=5)
Other: r-x = 4+0+1=5 (or just 4+1=5)

Final number = 755

$ chmod 755 filename

এটি নিম্নলিখিত ব্যবহারের সমতুল্য:

chmod u=rwx filename
chmod go=rx filename

বেশিরভাগ ফোল্ডার / ডিরেক্টরিগুলি মালিককে পড়া এবং লেখার এবং প্রয়োগের অনুমতি দেওয়ার জন্য 755 তে সেট করা থাকে তবে অন্য সকলের কাছে লেখা অস্বীকার করে এবং ফাইলগুলি সাধারণত 644 এর জন্য পড়তে হয় এবং মালিকের জন্য লেখার অনুমতি দেয় তবে কেবল অন্য সবার জন্য পড়া হয়, শেষটি দেখুন এক্সিকিউটেবল ফাইলের সাথে এক্স অনুমতিগুলির অভাব সম্পর্কে নোট করুন - এটি এখানে একই deal


অন্য কোনও নিবন্ধ থেকে কেবল পাঠ্য অনুলিপি করা হচ্ছে - কমপক্ষে - অভদ্র। হতে পারে একটি কপিরাইট লঙ্ঘনও। যদি এটি কেবল অনুলিপি করা হয় না বা আপনি সত্যিই ছোট্ট অংশ ব্যবহার করেছেন (ন্যায্য ব্যবহারের জন্য কপিরাইট-বান্ধব ধন্যবাদ) তবে দয়া করে কমপক্ষে আপনি যে নিবন্ধটি উল্লেখ করছেন / উদ্ধৃত করছেন তাতে একটি লিঙ্ক যুক্ত করুন।
রাগক

0

ডি প্রশ্নের জন্য

এটি আপনাকে ইউনিক্স ফাইলের প্রকারটি বলে। ডিফল্টরূপে ইউনিক্সে কেবল 3 ধরণের ফাইল রয়েছে। তারা হ'ল:

  • - - নিয়মিত ফাইল
  • d - ডিরেক্টরি ফাইল
  • বিশেষ ফাইল (৫ টি উপ-প্রকার সহ):
    • b - ব্লক ফাইল
    • c - অক্ষরের ডিভাইস ফাইল
    • p - নামযুক্ত পাইপ ফাইল বা কেবল পাইপ ফাইল
    • l - প্রতীকী লিঙ্ক ফাইল
    • s - সকেট ফাইল

এখানে আরও পড়ুন: লিনাক্স / ইউনিক্সে ফাইলের ধরণগুলি বিস্তারিতভাবে ব্যাখ্যা করা হয়েছে

0777 বনাম 777

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

0777 777 ফাইল অনুমতি এবং 0 এ স্টিকি বিট সেট করে - কোনও বিশেষ মোড নয়।

777 স্টিকি বিট পরিবর্তন না করে 77 file7 ফাইল অনুমতি নির্ধারণ করছে।

আরও পড়ুন: স্টিকি বিট এবং chmod


2
আরও ভাল: তবে এটি এখনও এমন কিছু সরবরাহ করে না যা অন্য উত্তরগুলি ইতিমধ্যে covered
াকেনি

1
(1) তিনটি বুনিয়াদি ফাইলের ধরণ রয়েছে: প্লেইন ফাইল, ডিরেক্টরি এবং সমস্ত কিছু। কি? তুমি কোথায় পাচ্ছ? জিনিসগুলির দুর্দান্ত স্কিমে, সরল ফাইল এবং ডিরেক্টরিগুলি বেশ মিল। নামযুক্ত পাইপ এবং প্রতীকী লিঙ্কগুলি ডিভাইস ফাইল বা সকেটের মতো সাদামাটা ফাইল এবং ডিরেক্টরিগুলির মতো। (২) আপনি কি মনে chmod 777করেন যে সেটুইড, সেটগিড এবং স্টিকি বিট সাফ করবেন না? চেষ্টা করে দেখুন
জি ম্যান

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