সেটগিড ডিরেক্টরি কী?


12

আমি জানি কীভাবে সেটগিড কাজ করে, তবে কেন এটি ডিজাইন করা হয়েছে তা আমি জানি না, এটি কোন সমস্যার সমাধান করে তা বোঝানোর কোনও উদাহরণ আছে?

উত্তর:


19

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


2
আপনি যদি সিভিএস ব্যবহার করে থাকেন তবে খুব সম্ভবত এই কারণেই এটির সাথে আপনি খুব পরিচিত হবেন (যদি ভান্ডারে ডিরেক্টরিগুলি সেটগিড না করা থাকে, তবে বিভিন্ন ব্যবহারকারীরা ফাইলগুলি চেক আউট করার এবং প্রতিশ্রুতিবদ্ধ করার চেষ্টা করার সাথে সাথে প্রচুর অনুমতি ত্রুটি পাবেন)
দমনের

হ্যাঁ আপনি ঠিক বলেছেন, অন্যান্য ব্যবহারকারীগণ সেটগিড ডিরেক্টরিতে আপনার দ্বারা নির্মিত ফাইলগুলি ভাগ করে (পড়তে) পারে তবে গ্রুপ লিখনযোগ্য (g + w) এর অনুমতি সেটগিড ডিরেক্টরিতে উত্তরাধিকার সূত্রে প্রাপ্ত হয় না, এবং এইভাবে অন্য কোনও ব্যবহারকারী সাব-এ যোগ করতে পারবেন না সেটগিড ডিরেক্টরিতে আপনার দ্বারা নির্মিত ডিরেক্টরি, এটি এর ব্যবহারকে সীমাবদ্ধ করে। এবং তাই আমার এই প্রশ্নটি রয়েছে, এটি সিভিএস শেয়ার-পঠন সমস্যাটি সমাধান করে তবে নতুন তৈরি ডিরেক্টরিগুলিতে ভাগ করে লেখা নয়। ??
Xiè Jìléi

1
এজন্য আপনি উপযুক্ত উমাস্ক সেটিংসও ব্যবহার করতে চান। উদাহরণস্বরূপ umask 007 ব্যবহারকারী এবং গোষ্ঠীর জন্য সম্পূর্ণ অনুমতি ছেড়ে যাবে, কিন্তু অন্যদের জন্য কিছুই নেই।
andol

13

প্রধান ব্যবহার হ'ল ফাইল গাছের গ্রুপের মালিককে সংরক্ষণ করা:

[lockie@bubbles tmp]$ mkdir dir1 && touch dir1/file && mkdir dir1/dir
[lockie@bubbles tmp]$ mkdir dir2 && chgrp staff dir2 && chmod 2755 dir2 && touch dir2/file && mkdir dir2/dir
[lockie@bubbles tmp]$ ls -al dir1
total 32
drwxrwxr-x   3 lockie  lockie   4096 Dec 13 19:32 .
drwxrwxrwt 125 root root 20480 Dec 13 19:32 ..
drwxrwxr-x   2 lockie  lockie   4096 Dec 13 19:32 dir
-rw-rw-r--   1 lockie  lockie      0 Dec 13 19:32 file
[lockie@bubbles tmp]$ ls -al dir2
total 32
drwxr-sr-x   3 lockie  staff  4096 Dec 13 19:32 .
drwxrwxrwt 125 root root  20480 Dec 13 19:32 ..
drwxrwsr-x   2 lockie  staff  4096 Dec 13 19:32 dir  < note new dir is g+s, owned by "staff" group, so the setgid behaviour acts recursively
-rw-rw-r--   1 lockie  staff     0 Dec 13 19:32 file < note new file is owned by "staff" group
[lockie@bubbles tmp]$

এটি পরিবেশের ক্ষেত্রে দরকারী হতে পারে যেখানে বিভিন্ন ব্যবহারকারী একটি ডিরেক্টরিতে ফাইল / ডায়ারগুলি তৈরি / সম্পাদনা করবেন: যখন সমস্ত ফাইল / ডায়ার একই গ্রুপ ভাগ করে নেয়, তখন সমস্ত ব্যবহারকারী ফাইল / ডায়ারগুলি সম্পাদনা / পরিবর্তন করতে পারবেন (অনুমতি দেওয়ার অনুমতি দেওয়া): এটি পরিস্থিতি এড়িয়ে চলে যেমন "xyz ফাইলের abc এর মালিক, তাই আমি এটি সম্পাদনা করতে পারি না"।

এইভাবে সেটগিড ব্যবহার করার একটি বিকল্প হ'ল গ্রপিড ফাইল সিস্টেম মাউন্ট বিকল্প।

ম্যান মাউন্ট থেকে:

গ্রিপিড বা বিএসডিগ্রুপস / নোগ্রপিড বা সিএসভিগ্রুপস

এই বিকল্পগুলি সুনির্দিষ্টভাবে তৈরি করা হয় যে একটি নতুন তৈরি ফাইলটি কী গ্রুপ আইডি পায়। যখন গ্রিপিড সেট করা থাকে, এটি ডিরেক্টরিতে এটি তৈরির গোষ্ঠী আইডি নেয়; অন্যথায় (ডিফল্ট) এটি বর্তমান প্রক্রিয়ার fsgid গ্রহণ করে, যদি না ডিরেক্টরিটিতে সেটগ্রিড বিট সেট থাকে, তবে এটি ক্ষেত্রে প্যারেন্ট ডিরেক্টরি থেকে জিড নেওয়া হয় এবং এটি যদি ডিরেক্টরি হয় তবে সেটগিড বিট সেটও পায়।

সক্ষম করা থাকলে, গ্রিপিড মাউন্ট করা ফাইল সিস্টেমে তৈরি করা ফাইল / ডায়ারগুলিও পিতামাতার ডিরেক্টরিতে অন্তর্ভুক্ত হয়:

[lockie@bubbles ~]$ mount | grep /home
/dev/mapper/VolGroup00-home on /home type ext3 (rw,grpid)
[lockie@bubbles ~]$ mkdir dir3 && touch dir3/file && mkdir dir3/dir
[lockie@bubbles ~]$ ls -al dir3
total 12
drwxrwxr-x  3 lockie users 4096 Dec 13 19:37 .
drwxrwxr-x 12 lockie users 4096 Dec 13 19:37 ..
drwxrwxr-x  2 lockie users 4096 Dec 13 19:37 dir < inherited "users" group from parent dir
-rw-rw-r--  1 lockie users    0 Dec 13 19:37 file  < inherited "users" group from parent dir
[lockie@bubbles ~]$

আমি গ্রিপিড বিকল্পটি ব্যবহার করে যথাযথভাবে মানুষের ত্রুটির সম্ভাবনা হ্রাস পেয়েছি (যেহেতু দির অনুমতি বিবেচনা না করে ফাইল সিস্টেম কাজ করে)।

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