ডিরেক্টরিতে ফাইলগুলির জন্য ডিফল্ট ব্যবহারকারীর নাম এবং গোষ্ঠী নির্ধারণ করা


13

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

আমি কোনও ডিফল্ট মালিক সেট করতে সমস্যায় পড়ছি (দলবদ্ধভাবে 1234)।

setfacl -d -m g::rwx /my/test/folder
setfacl -d -m o::rx /my/test/folder

getfacl /my/test/folder

# file: /my/test/folder
# owner: teamlead
# group: web_prod
# flags: -s-
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x

তার সাথে:

[mary@boxen]# touch /my/test/folder/somefile
[mary@boxen]# ll /my/test/folder/somefile
-rw-rw-r--. 1 mary web_prod 0 Nov  6 08:58 somefile

সুতরাং ডান দলটি বরাদ্দ করা হয়েছে, তবে নতুন ফাইলটিতে ফাইল তৈরির ব্যবহারকারীর মালিকানা রয়েছে। আমি নতুন তৈরি ফাইলগুলি টিম লিড করতে চাই: ওয়েব_প্রডের মালিক / গ্রুপ।

এটি প্রদর্শিত হয় যে setfaclএকটি ডিফল্ট ব্যবহারকারী সেট করতেও ব্যবহার করা যেতে পারে। বিদ্যমান ফোল্ডার এসিএল কনফিগারেশন (উপরে) সহ:

[mary@boxen]# setfacl -d -m u:1234:rwx /my/test/folder

এখন ভিন্ন ব্যবহারকারী হিসাবে একটি ফাইল তৈরি করতে। আমি এটির দলবদ্ধ হওয়ার প্রত্যাশা করছি: ওয়েব_প্রডের মালিকানা।

[mary@boxen]# touch /my/test/folder/anotherfile
[mary@boxen]# ll /my/test/folder/anotherfile
-rw-rw-r--+ 1 mary web_prod 0 Nov  6 08:58 somefile

নতুন ফাইলটিতে এখনও 1234 (টিম লিড) নয়, ফাইল তৈরির মালিকের মালিকানা রয়েছে।

আমি কি সম্ভবপর হওয়ার পরে যা করছি, বা আমি যেভাবে এটি ভুল করছি?

উত্তর:


18

সেটফ্যাকল দিয়ে আপনি নতুন তৈরি করা ফাইলগুলির জন্য ডিফল্ট মালিক / গ্রুপ নয় তবে ডিফল্ট অনুমতি সেট করতে পারেন।

কোনও নির্দিষ্ট ব্যবহারকারীর মালিকানা পাওয়ার জন্য নতুন ফাইলগুলি পেতে আপনার একটি সেটআপ বিট দরকার যা ডিরেক্টরিতে সেটগিড বিটের মতো কাজ করে। দুর্ভাগ্যক্রমে যে বাস্তবায়িত হয় না।

সেটফ্যাকেলের সাহায্যে আপনি এমন কিছু করতে পারেন যা বেশিরভাগ পরিস্থিতিতে প্রায় সমতুল্য: আপনি কোনও এসিএল পছন্দ করতে পারেন default:user:teamlead:rwx। এই নামযুক্ত ব্যবহারকারী নতুন ফাইলগুলি লিখতে পারে, এমনকি অন্য কেউ এটির মালিক হলেও।


অনুগ্রহ করে এই উত্তরটি 'ডিফল্ট: ব্যবহারকারী: দলবদ্ধ: rwx' ডিরেক্টরিতে '/ foo' প্রয়োগ করার জন্য আপডেট করুন
ব্যবহারকারী319862

10

একটি নতুন ফাইল সর্বদা ব্যবহারকারীর সাথে সম্পর্কিত তৈরি করা হয় যা ফাইল তৈরির প্রক্রিয়াটি চলছে। (কার্যকর ব্যবহারকারী আইডি, সুনির্দিষ্টভাবে বলা যেতে পারে)) এটি পরিবর্তন করা যাবে না, কারণ ব্যবহারকারীদের অন্যান্য ব্যবহারকারীর ফাইল তৈরি করার অনুমতি দেওয়া হবে সুরক্ষা গর্ত, অ-রুট ব্যবহারকারীদের কোনও ফাইল দেওয়ার অনুমতি দেওয়ার অনুরূপ ।

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


"পরে ফাইলটি পড়ার জন্য যা কিছু প্রয়োজন তা পর্যাপ্ত অনুমতি পাবে কিনা তা নিশ্চিত করতে এসিএলগুলি যথেষ্ট।" মিথ্যা। আপনার নতুন ফাইলের গ্রুপটি আপনার ব্যবহারকারীর ডিফল্ট গ্রুপ হবে। যদি সহযোগীদের ব্যবহারকারীদের আলাদা আলাদা ডিফল্ট গোষ্ঠী থাকে তবে আপনি একে অপরের ফাইলগুলিতে অ্যাক্সেস করতে পারবেন না। সমস্ত বাচ্চার কাছে পিতামাতার ফোল্ডারের গ্রুপ "স্টিক" তৈরি করতে আপনার সেটগিড লাগবে।
bviktor

@ বিভিক্টর আপনি এসিএল দিয়ে একই প্রভাব অর্জন করতে পারেন।
গিলস

আপনি কীভাবে এসিএল সহ নতুন ফাইলগুলির জন্য মালিক এবং গ্রুপকে নির্দিষ্ট করবেন?
bviktor

@ বিভিক্টর মালিক হলেন যে কেউ ফাইলটি তৈরি করেন, সেটি পরিবর্তন হয় না। Groupতিহ্যগত অনুমতিগুলিতে যে দলটি ফাইলটির মালিক, এটি অপ্রাসঙ্গিক। নতুন ফাইলগুলির এসিএল হ'ল ডিরেক্টরিটির ডিফল্ট এসিএল, একইভাবে নতুন ফাইলগুলির মালিকানাধীন গ্রুপটি বিএসডি শব্দার্থবিজ্ঞান ( g+s) সহ ডিরেক্টরিটির নিজস্ব গ্রুপ group
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

@ গিলস নপ নতুন ফাইলগুলির গ্রুপটি প্যারেন্ট ফোল্ডারের গ্রুপ নয়, স্রষ্টা ব্যবহারকারীর "প্রাথমিক লগইন গ্রুপ" হবে। আপনি যে আচরণটি বর্ণনা করেন (অর্থাত্ নতুন ফাইলটি প্যারেন্ট ডিয়ারের গোষ্ঠী পায়) পিতামাতার উপর সেটগিড সেট করা দরকার। এবং গোষ্ঠীটি অত্যন্ত প্রাসঙ্গিক কারণ ব্যবহারকারীরা যখন সহযোগিতা করেন তখন গ্রুপটি আলাদা হয়ে গেলে তারা একে অপরের ফাইলগুলিতে অ্যাক্সেস করতে পারে না। যদি না আপনার ফাইলগুলি বিশ্ব-অ্যাক্সেসযোগ্য হয় যা হুবহু দুর্দান্ত ধারণা নয়।
bviktor

1

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

এর জন্য আপনি ইউজারমড এবং প্যারামিটার -g ব্যবহার করতে পারেন

   -g, --gid GROUP
       The group name or number of the user's new initial login group. The group must exist.
       Any file from the user's home directory owned by the previous primary group of the user will be owned by this new group.
       The group ownership of files outside of the user's home directory must be fixed manually.

যেমন

test2@kinakuta:/tmp$ id
uid=1002(test2) gid=1002(test2) grupos=1002(test2),1003(testgroup)
test2@kinakuta:/tmp$ touch test2
test2@kinakuta:/tmp$ ls -la test2
-rw-r--r-- 1 test2 test2 0 nov 23 22:26 test2
root@kinakuta:/tmp# usermod -g testgroup test2
root@kinakuta:/tmp# su test2
test2@kinakuta:/tmp$ touch test2_1
test2@kinakuta:/tmp$ ls -la test2_1 
-rw-r--r-- 1 test2 testgroup 0 nov 23 22:27 test2_1

0

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


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