কম্পিউটার

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

লিনাক্সে একটি খুব দরকারী বৈশিষ্ট্য হল "অ্যাক্সেস কন্ট্রোল লিস্ট" যা ফাইল এবং ডিরেক্টরিগুলিতে অ্যাক্সেস নিয়ন্ত্রণ করে। লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস নিয়ন্ত্রণ তালিকাগুলি কীভাবে কাজ করে তা এখানে রয়েছে৷

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

ব্যবহারকারী এবং গ্রুপ তৈরি করা

প্রথমত, আমরা রুট হিসাবে লগ ইন করব, ব্যবহারকারী তৈরি করব এবং নীচের সারণীতে দেখানো হিসাবে তাদের সংশ্লিষ্ট গ্রুপে রাখব। ধারণাটি আরও ভালভাবে বোঝার জন্য ব্যবহারকারীদের সহজ নাম দেওয়া হয়েছে৷

ব্যবহারকারী গ্রুপ
john1
john2
john3
জনস
jane1
jane2
জেনস

আমরা adduser ব্যবহার করব সিস্টেমে নতুন ব্যবহারকারী যোগ করার জন্য কমান্ড।

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

id কমান্ড নতুন তৈরি ব্যবহারকারীর বিবরণ প্রদর্শন করবে। এটি ব্যবহারকারী আইডি (uid), গ্রুপ আইডি (জিআইডি) এবং গ্রুপের নাম (গ্রুপ) দেখাবে। ব্যবহারকারী, তৈরি করার পরে, ব্যবহারকারীর নামের মতো একই নামের একটি গ্রুপে স্বয়ংক্রিয়ভাবে যুক্ত হয়। সেই ব্যবহারকারীই হবেন গ্রুপের একমাত্র সদস্য।

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

একইভাবে, "john2" এবং "john3" ব্যবহারকারীরাও তৈরি করা হয়েছে৷

adduser john2
adduser john3

একবার তিনজন ব্যবহারকারী তৈরি হয়ে গেলে, id ব্যবহার করুন সংশ্লিষ্ট ব্যবহারকারী এবং গ্রুপ আইডি দেখার জন্য কমান্ড।

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

আমরা দেখতে পাচ্ছি যে তিনজন ব্যবহারকারী তাদের নিজস্ব গ্রুপে রয়েছে - 1000, 1001 এবং 1002। পূর্বে দেখানো সারণী অনুসারে, আমরা চাই যে তিনজন ব্যবহারকারী একই গ্রুপে থাকুক: johns . যেহেতু এই ধরনের একটি গ্রুপ বর্তমানে সিস্টেমে বিদ্যমান নেই, তাই আমরা এটি groupadd দিয়ে তৈরি করব কমান্ড:

groupadd -g <new_group_ID> <group_name>

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

নতুন গ্রুপ আইডি 5000 হিসাবে নির্দিষ্ট করা হয়েছে। যদি -g হয় সুইচ উপেক্ষা করা হয়, তারপর সিস্টেম স্বয়ংক্রিয়ভাবে একটি গ্রুপ আইডি বাছাই করবে। নতুন গ্রুপের নাম "জনস"। এখন তিনজন ব্যবহারকারী - "john1", "john2" এবং "john3" -কে এই গ্রুপের সদস্য হিসেবে যুক্ত করতে হবে। আমরা usermod ব্যবহার করব এই কাজের জন্য কমান্ড।

usermod -g <group_name> <user_name>

usermod "গ্রুপ_নাম" গোষ্ঠীতে ব্যবহারকারী "user_name" যোগ করে। গ্রুপ পরিবর্তনের আগে নিম্নলিখিত চিত্রটি প্রথমে "john1" এর জন্য uid এবং gid প্রদর্শন করে। usermod এর পরে কমান্ড সফলভাবে চলে, "john1" যোগ করা হয়েছে "johns" গ্রুপে gid 5000 সহ।

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

একই প্রক্রিয়া ব্যবহারকারীদের জন্য করা হয় "john2" এবং "john3।"

usermod -g johns john2
usermod -g johns john3

অবশেষে, "জনস" গ্রুপের তিনজন ব্যবহারকারীর বিবরণ id ব্যবহার করে দেখা যেতে পারে আদেশ।

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

আমরা সফলভাবে তিনজন ব্যবহারকারী তৈরি করেছি এবং তাদের একই গ্রুপে যুক্ত করেছি।

একইভাবে, ব্যবহারকারীরা “জেন1” এবং “জেন2” তৈরি করা হয় এবং জিআইডি 6000 সহ “জেনস” গ্রুপে যোগ করা হয়। তাদের বিশদ বিবরণ id ব্যবহার করে দেখা যেতে পারে। নীচে দেখানো হিসাবে কমান্ড.

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

অ্যাক্সেস কন্ট্রোল লিস্টের প্রয়োজন কি?

ধরা যাক ব্যবহারকারী "john1" লগ ইন করে,

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

হোম ডিরেক্টরিতে একটি নতুন ফাইল তৈরি করে,

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

এবং এতে কিছু বিষয়বস্তু যোগ করে।

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

ls ব্যবহার করে কমান্ড দিলে আমরা ফাইলের মেটাডেটা দেখি।

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

আউটপুটে প্রথম কয়েকটি অক্ষর, - rw - r - - r - - অনুমতি স্ট্রিং জন্য অ্যাকাউন্ট. আসুন এটিকে ব্যবচ্ছেদ করি।

rw – r – – r – –
ফাইলের ধরন অনুমতি জন1 ফাইলে আছে জনস গ্রুপের সদস্যদের ফাইলে অনুমতি আছে অন্যদের দেওয়া অনুমতি জনস গ্রুপে নেই

এই নিবন্ধটি ফাইল অনুমতির জন্য একটি ভাল প্রাইমার।

যদি "john1", ফাইলের মালিক হয়ে, অতিরিক্তভাবে শুধুমাত্র "john2" এবং "jane1"-কে লেখার অনুমতি দিতে চায় কিন্তু "john3" এবং "jane2?"-এর জন্য পড়ার অনুমতি নিয়ে টিকে থাকে?

rw – r – –
john1
john2
jane1
john3
jane2

একটি বিকল্প হল "john1", "john2" এবং "jane1" এর জন্য পঠন, লেখার অনুমতি সহ একটি নতুন গ্রুপ তৈরি করা এবং "john3" এবং "jane2" এর জন্য শুধুমাত্র পড়ার অনুমতি সহ আরেকটি গ্রুপ তৈরি করা। যদি john1 গ্রুপের যেকোন সদস্যের জন্য অনুমতি পরিবর্তন করতে চায়, তাহলে আরও গোষ্ঠী তৈরি করতে হবে। একাধিক গ্রুপ তৈরি করা এবং পরিচালনা করা সিস্টেম অ্যাডমিনিস্ট্রেটরের জন্য একটি বোঝা৷

পরিবর্তে, একটি ফাইলের জন্য একটি "অ্যাক্সেস কন্ট্রোল লিস্ট" তৈরি করা যেতে পারে যা স্পষ্টভাবে বর্ণনা করবে যে কোনো ব্যবহারকারী সেই ফাইলটিতে কী কাজগুলি সম্পাদন করতে পারে৷

কিভাবে একটি ফাইলের জন্য একটি অ্যাক্সেস কন্ট্রোল লিস্ট (ACL) তৈরি করবেন?

তৈরির পর প্রতিটি ফাইলের জন্য একটি ACL বরাদ্দ থাকে। দক্ষতার সাথে এটি ব্যবহার করা কেবল এটি পরিবর্তন করার একটি বিষয়। শুধুমাত্র ফাইলের মালিক এবং রুট ব্যবহারকারী একটি ফাইলের ACL পরিবর্তন করতে পারেন।

আমরা getfacl ব্যবহার করতে পারি বিদ্যমান ACL দেখার জন্য কমান্ড:

getfacl <file_name>

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

# দিয়ে শুরু হওয়া লাইন মন্তব্য লাইন হয়. প্রকৃত তথ্য আউটপুটের শেষ তিনটি লাইনে রয়েছে, যা পূর্বে প্রাপ্ত অনুমতি স্ট্রিংয়ের অনুরূপ। "ব্যবহারকারী" লাইনটি ফাইলের মালিক "john1" কে বরাদ্দকৃত অনুমতিগুলিকে বোঝায়। "গ্রুপ" লাইনটি "জনস" গ্রুপের অন্যান্য সদস্যদের জন্য নির্ধারিত অনুমতিগুলিকে বোঝায়। আপনি যেমন অনুমান করেছেন, "অন্য" লাইনটি গোষ্ঠীর বাইরের অন্য কাউকে বোঝায়৷

আসুন setfacl ব্যবহার করি ফাইলে বিদ্যমান ACL পরিবর্তন করার জন্য কমান্ড।

setfacl -m entity:name:permissions <file_name>
সত্তা নাম অনুমতি
এখানে মানটি বোঝায় যে ACL এন্ট্রি কার জন্য:

ব্যবহারকারী (u) বা গোষ্ঠী(g) বা অন্য(o)

ব্যবহারকারী বা গোষ্ঠীর নাম, যার জন্য ACL এন্ট্রি প্রাসঙ্গিক রিড, রাইট, এক্সিকিউট পারমিশনগুলিকে r,w,x অক্ষর দ্বারা চিহ্নিত করা হয়

“john2” প্রথমে ফাইলটিতে রিড, রাইট অ্যাক্সেস দেওয়া হয়,

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

তারপরে "জেন১।"

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

আসুন "সিক্রেটফাইল"

-এর জন্য আপডেট করা ACL দেখি

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

আমরা দেখতে পাচ্ছি যে পড়া এবং লেখার অনুমতি "john2" এবং "jane1" কে বরাদ্দ করা হয়েছে৷

ACL-এর সত্যতা যাচাই করা হচ্ছে

আমরা দেখতে পাচ্ছি যে "john2" ফাইলটি পড়তে এবং এটিতে লিখতে সক্ষম৷

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

"john2" দ্বারা প্রবেশ করা নতুন তথ্য ফাইলটিতে যুক্ত করা হয়েছে৷

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

একইভাবে, "জেন1" একই সুবিধা পায় - পড়ার অ্যাক্সেস এবং লেখার অ্যাক্সেস৷

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

কিন্তু একই গ্রুপের “john3” ফাইলটিতে লিখতে অক্ষম।

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

"jane2," যিনি অন্য বিভাগের অন্তর্গত, তিনি ফাইলটিতে লিখতেও অক্ষম৷

লিনাক্সে ফাইলের অনুমতিগুলি নিয়ন্ত্রণ করতে অ্যাক্সেস কন্ট্রোল তালিকাগুলি কীভাবে ব্যবহার করবেন

উপসংহার

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


  1. ক্যালকুলেটর হিসাবে লিনাক্স টার্মিনাল কিভাবে ব্যবহার করবেন

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

  3. কিভাবে লিনাক্সে জিপ ফাইল এক্সট্র্যাক্ট করবেন

  4. লিনাক্সে একটি ফাইলের অংশ স্থানান্তর করতে কীভাবে Zsync ব্যবহার করবেন