linux / setfacl - সমস্ত বর্তমান / ভবিষ্যতের ফাইল / ডিরেক্টরিগুলি নির্দিষ্ট মালিক / গোষ্ঠী সহ 775 এ সেট করুন


42

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

উত্তর:


62

আমি আসলে এমন কিছু খুঁজে পেয়েছি যা এখন পর্যন্ত আমি যা যা চেয়েছিলাম তা করে, এখানে ভাগ করে নেওয়ার ফলে যে কেউ এই সমস্যাটিতে চলে সে এই সমাধানটি চেষ্টা করতে পারে:

sudo setfacl -Rdm g:groupnamehere:rwx /base/path/members/
sudo setfacl -Rm g:groupnamehere:rwx /base/path/members/

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

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


2
নতুন পিতামহলের ডিরেক্টরিতে সঠিকভাবে সামগ্রীতে পরিবর্তন করার জন্য পিতামহ পরিচালকের মালিককে পেতে আমার এটি দরকার ছিল।
জুস্ট

আপনি যদি আপনার আরপিআইয়ের একমাত্র ব্যবহারকারী হন তবে আপনি g: গ্রুপের নামটি পাই: পাই বা কেবল পাই দিয়ে প্রতিস্থাপন করতে পারেন
এসডিসোলার

ব্যবহারকারী, গোষ্ঠী, এবং অন্যান্য জন্য এক লাইনে যেমন নির্দিষ্ট করতে পারেন, -Rdm g:groupnamehere:rwx, -Rdm u:groupnamehere:rwx
ব্যবহারকারী 2340939

18

আপনার গৃহীত উত্তরের সাথে যেতে ...

আপনি এই আদেশগুলি একত্রিত করতে পারেন:

sudo setfacl -Rm d:g:groupnamehere:rwx,g:groupnamehere:rwx /base/path/members/

চমৎকার. আপনি কী না d:করে প্রথম আইটেম সেট আপ -Rmd? আমি বলতে পারি যে দ্বিতীয় প্যারামিটারটির কোনওটি থাকা উচিত নয় default- এটি লিনাক্স এটি কীভাবে আমাকে গ্রহণ করে তা ঠিক অদ্ভুত।
JREAM

1
@ জেরাম: লিনাক্স (আসলে getopt_long) পুরো আর্গুমেন্টটিকে বিকল্প -mদ্বারা প্রেরণ করে যা হাতে দিয়ে পার্স করা হয় setfacl, পাস করা যুক্তিগুলি কমা দ্বারা পৃথক করে। এগুলিকে একটি লিঙ্কযুক্ত তালিকায় যুক্ত করা হয় যা আসলে এসিএল পরিবর্তন করার সময় শেষে লুপ হয়।
বেনোইট ডাফেজ

2

লিনাক্সে সেটফ্যাকেলের ডিফল্ট অনুমতিগুলি ম্যানিপুলেট করার জন্য -dএবং -kঅপশন রয়েছে যা সম্ভবত আপনি যা খুঁজছেন তা (আরও তথ্যের জন্য মানুষ দেখুন)।


1

যথাযথ অনুমোদিত ব্যবহারকারী, ডিরেক্টরি এবং ফাইলগুলির অনুমতিগুলির দাবিতে পুনরাবৃত্তভাবে সাধারণ UNIX অনুমতি সেট করা সহজ। এটি স্বয়ংক্রিয়ভাবে চাপিয়ে দেওয়া সম্ভব নয়।

আপনি ব্যবহারকারীদেরকে 0002 এর উমাস্ক সেটটি ব্যবহার করতে বলতে পারেন এবং এটি 0775 (অ্যাপ্লিকেশনের উপর নির্ভর করে) নতুন ফাইলগুলি তৈরি করতে সহায়তা করে। তবে তা কার্যকর করা যায় না।

আমার উপলব্ধি হ'ল ইউএনএক্স / লিনাক্স সিস্টেমে এসিএলগুলি উত্তরাধিকার সূত্রে প্রাপ্ত হয় না। তারা চাহিদা অনুযায়ী সেট করা হয়।

ফাইল / ডিরেক্টরি মালিকানার ক্ষেত্রে, আপনি ভাগ্য থেকে বেশ এখানে।

ফাইল / ডিরেক্টরি গোষ্ঠীর মালিকানার ক্ষেত্রে ডিরেক্টরিটি সেট-গিড বিট সেট করে (অর্থাত্ +++++++) এর ফলে গোষ্ঠী মালিকানা উত্তরাধিকার সূত্রে ঘটে।

এই জাতীয় পরিস্থিতিতে আমি যা করেছি তা হ'ল একটি পর্যায়ক্রমিক রুট ক্রোন স্ক্রিপ্ট চালানো যা এই জাতীয় ডিরেক্টরিগুলিতে মান অনুসারে অনুমতি / মালিকানা পুনরায় সেট করে।

আর একটি (প্রস্তাবিত নয়) প্রক্রিয়া হ'ল এই ফাইলগুলিতে কাজ করার সময় একই ব্যবহারকারী-আইডি ব্যবহার করা উচিত। এটি ব্যবহারকারী তার নিজস্ব ইউআইডি-র অধীনে সিস্টেমে লগইন করে এবং পরে আইডি হিসাবে চালানোর জন্য sudo বা su ব্যবহার করে এটি সম্পাদন করতে পারে। এটি এখনও 100% বিশেষত এসিএল এবং অনুমতি বিটের বিষয়ে নয়।

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