ডিরেক্টরি এবং ফাইলগুলির জন্য কীভাবে লিনাক্স ডিফল্ট এসিএল সেট করতে হয়


10

আমার ডিরেক্টরিতে এমন কিছু এসিএল সংজ্ঞায়িত হয়েছে:

# owner: root
# group: root
user::rwx
group::r--
mask::r-x
other::r--
default:user::r--
default:group::r--
default:mask::r-x
default:other::r--

আমি চাই যে ফোল্ডারে তৈরি হওয়া কোনও নতুন ফাইলগুলি আপনাকে ইউ: অ্যাপাচি: আর - এবং যে কোনও নতুন ডিরেক্টরি হতে হবে: অ্যাপাচি: আরএক্স। আমি কীভাবে এসিএল ব্যবহার করে সেই উদ্দেশ্যটি নির্দিষ্ট করব?

আমি চেষ্টা করেছি -dm u:apache:rXএবং দেখে মনে হচ্ছে না যে এটি কেবলমাত্র তুলনায় আলাদা কিছু করেছেrx

overt htdocs # getfacl .
# file: .
# owner: root
# group: root
user::rwx
user:apache:r--
group::r--
mask::r-x
other::r--
default:user::r--
default:user:apache:r--
default:group::r--
default:mask::r--
default:other::r--

overt htdocs # setfacl -dm u:apache:rx .
overt htdocs # touch blah.txt
overt htdocs # getfacl blah.txt
# file: blah.txt
# owner: root
# group: root
user::r--
user:apache:r-x                 #effective:r--
group::r--
mask::r--
other::r--

overt htdocs # rm blah.txt
overt htdocs # setfacl -dm u:apache:rX .
overt htdocs # touch blah.txt
overt htdocs # getfacl blah.txt
# file: blah.txt
# owner: root
# group: root
user::r--
user:apache:r-x                 #effective:r--
group::r--
mask::r--
other::r--

মূলধন এক্স অনুমতিটি কেবলমাত্র বর্তমান অনুমতিগুলি সেট করার জন্য কার্যকর বলে মনে হয়, ডিফল্ট অনুমতি নির্ধারণের জন্য নয়:

overt htdocs # setfacl -x u:apache blah.txt
overt htdocs # getfacl blah.txt
# file: blah.txt
# owner: root
# group: root
user::r--
group::r--
mask::r--
other::r--

overt htdocs # setfacl -m u:apache:rX blah.txt
overt htdocs # getfacl blah.txt
# file: blah.txt
# owner: root
# group: root
user::r--
user:apache:r--
group::r--
mask::r--
other::r--

উত্তর:


7

ঠিক আছে, তবে আপনার উদাহরণটি যা চায় ঠিক তাই করে;)

দ্বিতীয়টি দেখুন:

ওপেন এইচটিডোকস # সেটফ্যাকল -ডিএম ইউ: অ্যাপাচি: আরএক্স।
ওপরে htdocs # টাচ blah.txt
ওভারট এইচটিডোকস # getfacl
# ফাইল: blah.txt
# মালিক: মূল
# গ্রুপ: মূল
ব্যবহারকারী :: r--
ব্যবহারকারী: অ্যাপাচি: আরএক্স # কার্যকর: r--
গ্রুপ :: r--
মাস্ক :: r--
অন্যান্য :: r--

গুরুত্বপূর্ণ লাইনটি হ'ল:

user:apache:r-x #effective:r--

যদিও এসিএলটি আরএক্সে সেট করা রয়েছে এটি ফাইলগুলির জন্য কার্যকরভাবে r--। এটি মুখোশের কারণে।

এবং মুখোশটি সবসময় কেবল ফাইলগুলির জন্য rw- হয় যদি ব্যবহারকারী এটি ব্যবহারকারীর জন্য rw- অনুমতি নিয়ে তৈরি করে। (আমি ১০০% নিশ্চিত নই তবে মুখোশ কম সীমাবদ্ধ হতে পারে তবে প্রাথমিক অনুমতিগুলি)।

সুতরাং কার্যকরভাবে আপনি ফাইলগুলির জন্য r-- এবং ডিরেক্টরিগুলির জন্য rx পান।
কারণ তৈরি ডিরেক্টরিগুলির ব্যবহারকারী থাকবে: rx -> মাস্ক হবে rx -> কার্যকর অনুমতি rx হবে।
ফাইলগুলির জন্য: তাদের r থাকবে - সুতরাং মুখোশটি r হবে - এবং এসিএলগুলির জন্য কার্যকর অনুমতিগুলিও r-- হবে। (আপনি যদি একটি ফাইল তৈরি করে এবং এটি ব্যবহারকারীকে :: আরএক্স অনুমতি দিয়ে থাকেন তবে মুখোশটি পরিবর্তন করা হবে এবং ব্যবহারকারীরা এসিএলগুলির ফর্মটি এক্সও পাবেন)


পুরোপুরি #effectiveলেখাটি মিস ! মুখোশগুলি কীভাবে কার্যকর অনুমতিগুলি কার্যকর করে তা ব্যাখ্যা করার জন্য ধন্যবাদ।
জোশপুরি

2

দুর্ভাগ্যক্রমে, লিনাক্স এসিএলগুলি দিয়ে এটি করার কোনও উপায় নেই। এটি সত্য যে মুখোশটি কার্যকর অনুমতি হিসাবে যতটা আপনি চান ঠিক তেমনভাবে প্রদর্শিত হবে। তবে পরের বার আপনি এমন কোনও অপারেশন করবেন যা অধিকারের মুখোশটিকে পুনরায় গণনা করে , আপনার সমস্ত ফাইল এক্সিকিউটেবল হয়ে যাবে।

এসিএল-এর সমস্ত ফাইল নির্বাহযোগ্য হবে আশা করে আপনি কেবল নিজের পদত্যাগ করতে পারেন। এটি সুরক্ষা বৈশিষ্ট্যের চেয়ে সত্যই সহজলভ্যতা এবং যতক্ষণ আপনি এই ফোল্ডারগুলিকে আপনার $ PATH এ রাখেন না, ততক্ষণ সমস্যা হওয়া উচিত নয়। যদি এটি এখনও আপনাকে বিরক্ত করে তবে একমাত্র পছন্দ হ'ল আপনার এসিএল নিয়ন্ত্রিত ফোল্ডারগুলিকে একটি ফাইল সিস্টেমে কোনও এক্সিকিউট করার বিকল্প নেই।


1

-d (বা --default) ডিরেক্টরিতে ডিফল্ট সেট করতে ব্যবহৃত হয় যাতে এতে তৈরি করা জিনিসগুলি পার্সের উত্তরাধিকারী হয় (যেমনটি আপনি করছেন বলে মনে হচ্ছে)।

এখানে একটি দ্রুত পর্যালোচনা দেওয়া হয়েছে। http://www.vanemery.com/Linux/ACL/linux-acl.html#default

ফাইলগুলির একটির ডিফল্ট এবং ডায়ারগুলির আলাদা ডিফল্ট থাকা সম্ভব নয়।

আপনি ক্রোনের বাইরে একটি স্ক্রিপ্ট চালাতে পারেন যা প্রতি মিনিটে সমস্ত ডায়ারের উপর একটি সেটফ্যাকল করে - যদিও এটি কোনও সমাধানের চেয়ে কম আদর্শ।

সন্ধান / পাথ / টু / টপ / দির-টাইপ ডি-এক্সেক সেটফ্যাকল -ডিএম ইউ: অ্যাপাচি: আরএক্স {} \;

অথবা

সন্ধান / পাথ / টু / টপ / দির-টাইপ ডি | এক্সগার্স সেটফ্যাকেল -ডিএম ইউ: অ্যাপাচি: আরএক্স


1

এসিএল এবং মাস্কগুলির এই পোস্টটি আমাকে সত্যিই বুঝতে সাহায্য করেছিল যে আমি কী চাই এবং কেন করব।

আমার বোঝার অনুপস্থিত অংশটি হ'ল একটি ফাইল তৈরি করার সময় কার্নেল একটি ডিফল্ট অনুমতি সেট 0666 এবং নতুন ডিরেক্টরিগুলির জন্য 0777 ব্যবহার করে So

এসিএল মাস্কটি মূলত একটি umaskডিরেক্টরি / ফাইল / ব্যবহারকারী স্তরে সেট করার একটি উপায় ।

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