লিনাক্স কমান্ড সেটফ্যাকল শিখুন

Setfacl ইউটিলিটি ফাইল এবং ডিরেক্টরি অ্যাক্সেস কন্ট্রোল তালিকা (ACLs) সেট করে। কমান্ড লাইনে কমান্ডের একটি ক্রম ফাইলের ক্রম অনুসরণ করা হয় (এর পরিবর্তে কমান্ডের অন্য ক্রম দ্বারা অনুসরণ করা যেতে পারে ...)।

বিকল্প- m, এবং -x কমান্ড লাইনের উপর একটি ACL আশা। একাধিক ACL এন্ট্রি কমা অক্ষর (`, ') দ্বারা পৃথক করা হয়। বিকল্পগুলি-এম , এবং -X একটি ফাইল থেকে বা স্ট্যান্ডার্ড ইনপুট থেকে একটি ACL পড়া। এসিএল এন্ট্রি ফর্ম্যাট বিভাগ ACL ইন্টিরিস বর্ণনা করা হয়।

--set এবং --set-file বিকল্পগুলি একটি ফাইল বা ডিরেক্টরির একটি ACL সেট। পূর্ববর্তী ACL প্রতিস্থাপিত হয়। এই অপারেশনের জন্য ACL এন্ট্রিগুলির মধ্যে অবশ্যই অনুমতি থাকতে হবে।

-এম (--এমডিify) এবং -এম (--এমডিify-ফাইল) বিকল্পগুলি একটি ফাইল বা ডাইরেক্টরিতে ACL সংশোধন করে। এই অপারেশনের জন্য ACL এন্ট্রিগুলির মধ্যে অবশ্যই অনুমতি থাকতে হবে।

-x (--remove) এবং -X (--remove-file) বিকল্পগুলি এসিএল এনট্রিশনগুলি বাদ দেয়। পারস ক্ষেত্র ছাড়া শুধুমাত্র ACL এন্ট্রি প্যারামিটার হিসাবে গ্রহণ করা হয়, যদি না POSIXLY_CORRECT সংজ্ঞায়িত করা হয়।

-এম, এবং -X বিকল্প ব্যবহার করে ফাইলগুলি পড়ার সময়, setfacl আউটপুট getfacl উত্পন্ন করে স্বীকার করে। প্রতি লাইনে সর্বাধিক এক ACL এন্ট্রি আছে। একটি পাউন্ড চিহ্ন (`# ') পরে, লাইনের শেষ পর্যন্ত সবকিছু একটি মন্তব্য হিসাবে বিবেচিত হয়।

যদি setfacl একটি ফাইল সিস্টেমে ব্যবহার করা হয় যা ACL সমর্থন করে না, setfacl ফাইল মোড অনুমতি বিটগুলিতে কাজ করে। যদি এসিএল অনুমতি বিটের মধ্যে সম্পূর্ণরূপে ফিট না করে, setfacl ফাইল মোড অনুমতি বিট পরিবর্তন করে যত তাড়াতাড়ি ঘনিষ্ঠভাবে এসিএল প্রতিফলিত করে, এটি একটি ত্রুটি বার্তাটি সাধারণ ত্রুটির মধ্যে লিখেছে এবং 0 এর বেশি ছাড়িয়ে যাওয়ার প্রস্থানের স্থিতি দিয়ে ফেরত পাঠায়।

সংক্ষিপ্তসার

setfacl [-bkndRLPvh] [{-m | -x} acl_spec] [{-M | -X} acl_file] ফাইল ...

setfacl --restore = ফাইল

অনুমতিগুলি

ফাইল মালিক এবং CAP_FOWNER করতে সক্ষম প্রসেসগুলিকে একটি ফাইলের ACL সংশোধন করার অধিকার প্রদান করা হয়। এটি ফাইল মোডে অ্যাক্সেসের জন্য প্রয়োজনীয় অনুমতিগুলির অনুরূপ। (বর্তমান লিনাক্স সিস্টেমে, রুটটি CAP_FOWNER সামর্থ্যের সাথে একমাত্র ব্যবহারকারী।)

পছন্দসমূহ

-বাবা,

সমস্ত বর্ধিত ACL এন্ট্রিগুলি সরান। মালিক, গোষ্ঠী এবং অন্যদের বেস ACL এন্ট্রিগুলি বজায় রাখা হয়।

-k, --remove- ডিফল্ট

ডিফল্ট ACL সরান কোন ডিফল্ট ACL উপস্থিত থাকলে, কোন সতর্কতা জারি করা হয়।

-n, - কোন-মাস্ক

কার্যকর অধিকার মুখোশের পুনর্বিবেচনা করবেন না। Setfacl এর ডিফল্ট আচরণটি ACL মাস্ক এন্ট্রির পুনঃসূচনা করতে হয়, যদি না একটি মাস্ক এন্ট্রি স্পষ্টভাবে দেওয়া হয়। মাস্ক এন্ট্রি মালিকানাধীন গোষ্ঠীর সমস্ত অনুমতির ইউনিয়ন সেট এবং সকল নামযুক্ত ব্যবহারকারী এবং গোষ্ঠী এন্ট্রি। (এই মাস্ক এন্ট্রি দ্বারা প্রভাবিত ঠিক এন্ট্রি হয়)।

--mask

প্রভাবশালী অধিকার মুখোশ পুনরায় গণনা করুন, এমনকি যদি একটি ACL মাস্ক এন্ট্রি স্পষ্টভাবে দেওয়া হয়। ( -n বিকল্পটি দেখুন।)

-d, --default

সমস্ত অপারেশন ডিফল্ট ACL প্রযোজ্য। ইনপুট সেটের নিয়মিত ACL এন্ট্রি ডিফল্ট ACL এন্ট্রিতে প্রচারিত হয়। ইনপুট সেটের ডিফল্ট ACL এন্ট্রিগুলি বাতিল করা হয়। (যদি এটি ঘটে তবে একটি সতর্কতা জারি করা হয়)।

--restore = ফাইল

`Getfacl -R 'বা অনুরূপ দ্বারা নির্মিত একটি অনুমতি ব্যাক আপ পুনরুদ্ধার করুন। একটি সম্পূর্ণ ডিরেক্টরি সাবট্রি সমস্ত অনুমতি এই প্রক্রিয়া ব্যবহার করে পুনরুদ্ধার করা হয়। যদি ইনপুটটিতে মালিকের মন্তব্য বা গোষ্ঠী মন্তব্য থাকে এবং সেটফ্যাকটি রুট দ্বারা চালিত হয়, তাহলে সমস্ত ফাইলের মালিক এবং মালিকানাধীন গোষ্ঠী পুনরুদ্ধার করা হয়। এই বিকল্পটি `--test 'ছাড়া অন্য বিকল্পগুলির সাথে মিশ্রিত করা যাবে না।

--test

পরীক্ষা মোড. যেকোনো ফাইলের ACL পরিবর্তন করার পরিবর্তে, ACL গুলির তালিকাভুক্ত করা হয়।

-আর, - ক্রিক

Recursively সব ফাইল এবং ডিরেক্টরি অপারেশন প্রয়োগ করুন এই বিকল্পটি `--restore 'এর সাথে মিশ্রিত করা যাবে না।

-L, - লোগুলি

লজিক্যাল ওয়াক, সিম্বলিক লিঙ্কগুলি অনুসরণ করুন। ডিফল্ট আচরণ হল সিম্বলিক লিংক আর্গুমেন্ট অনুসরণ করা, এবং সাব-ডাইরেক্টরিতে প্রতীকী লিঙ্কগুলি প্রত্যাহার করা। এই বিকল্পটি `--restore 'এর সাথে মিশ্রিত করা যাবে না।

-পি, - দৈহিক

শারীরিক পদব্রজে ভ্রমণ, সব সিম্বলিক লিঙ্ক ছেড়ে। এটি সাংকেতিক লিংক আর্গুমেন্টগুলিও বাদ দেয়। এই বিকল্পটি `--restore 'এর সাথে মিশ্রিত করা যাবে না।

--version

Setfacl এর সংস্করণটি মুদ্রণ করুন এবং প্রস্থান করুন।

--help

মুদ্রণ কমান্ড লাইন বিকল্প ব্যাখ্যা ব্যাখ্যা।

কমান্ড লাইন বিকল্পগুলির শেষে সমস্ত অবশিষ্ট পরামিতি ফাইলের নাম হিসাবে ব্যাখ্যা করা হয়, এমনকি যদি তারা একটি ড্যাশ দিয়ে শুরু করে

যদি ফাইলের নামের প্যারামিটারটি একটি ড্যাশ হয়, setfacl স্ট্যান্ডার্ড ইনপুট থেকে ফাইলগুলির একটি তালিকা পড়ে।

ACL প্রবেশদ্বার

Setfacl ইউটিলিটি নিম্নলিখিত ACL এন্ট্রি ফর্ম্যাটগুলি সনাক্ত করে (স্বচ্ছতার জন্য সন্নিবেশিত):

[ডি [efault]:] [আপনি [স্যার]:] ইউইড [: perms ]

একটি নামযুক্ত ব্যবহারকারীর অনুমতি ইউআইডি ফাঁকা হলে ফাইল মালিকের অনুমতি।

[ডি [efault]:] জি [রুপ]: জিড [: প্যারামেড ]

একটি নামকরণ গ্রুপের অনুমতি গ্রিডের খালি থাকলে মালিকানাধীন গোষ্ঠীর অনুমতি।

[ডি [efault]:] এম [জিজ্ঞাসা করুন] [:] [: perms ]

কার্যকর অধিকার মুখোশ

[ডি [ইফোল্ট]:] ও [থার] [:] [: প্যারামেড ]

অন্যান্য অনুমতি

সীমাবদ্ধ অক্ষর এবং অ-সীমাবদ্ধ অক্ষরের মধ্যে সাদা প্লেটগুলি উপেক্ষা করা হয়।

অনুমতি সহ সঠিক এসিএল এন্ট্রি সংশোধন এবং সেট অপারেশন ব্যবহার করা হয়। (বিকল্পগুলি- এম , -এম , --set এবং --set-file )। Perms ক্ষেত্র ব্যতীত প্রবেশগুলি এন্ট্রি মুছে ফেলার জন্য ব্যবহৃত হয় (বিকল্পগুলি -x এবং -X )।

Uid এবং gid এর জন্য আপনি একটি নাম বা একটি সংখ্যা নির্দিষ্ট করতে পারেন।

Perms ক্ষেত্র অক্ষরগুলির সংমিশ্রণ যা অনুমতিগুলি নির্দেশ করে: পড়ুন (r) , লিখুন (w) , এক্সিকিউট (x) , শুধুমাত্র যদি ফাইলটি একটি ডিরেক্টরি থাকে তবেই চালানো হয় অথবা ইতিমধ্যেই কিছু ব্যবহারকারী (এক্স) এর জন্য এক্সিকিউশন অনুমতি রয়েছে। বিকল্পভাবে, perms ক্ষেত্রটি একটি অকটাল সংখ্যা (0-7) হতে পারে।

স্বয়ংক্রিয়ভাবে তৈরি করা উত্সগুলি

প্রাথমিকভাবে, ফাইল এবং ডিরেক্টরি মালিক, গ্রুপ, এবং অন্যদের জন্য তিনটি বেস ACL এন্ট্রি রয়েছে। কিছু নিয়ম আছে যা একটি ACL বৈধ হওয়ার জন্য সন্তুষ্ট হওয়া প্রয়োজন:

*

তিনটি বেস এন্ট্রি অপসারণ করা যাবে না। এই বেস এন্ট্রি ধরনের প্রতিটি ঠিক এক এন্ট্রি থাকা আবশ্যক।

*

যখনই কোনো ACL নামের ব্যবহারকারীর এন্ট্রি বা নামযুক্ত গ্রুপের বস্তুগুলি রয়েছে, তখন এটি অবশ্যই একটি কার্যকর অধিকার মুখোশ রাখবে।

*

যখনই কোনো ACL কোনো ডিফল্ট ACL এন্ট্রি ধারণ করে, তখন তিনটি ডিফল্ট ACL বেস এন্ট্রি (ডিফল্ট মালিক, ডিফল্ট গ্রুপ এবং ডিফল্ট ডিফল্ট অন্যদের) অবশ্যই বিদ্যমান।

*

যখনই একটি ডিফল্ট ACL নামযুক্ত ব্যবহারকারীর এন্ট্রি বা নামযুক্ত গ্রুপ বস্তু উপস্থিত থাকে, এটি অবশ্যই একটি ডিফল্ট কার্যকর অধিকার মাস্ক থাকা আবশ্যক।

ব্যবহারকারীদের এই নিয়মগুলি নিশ্চিত করার জন্য, setfacl বিদ্যমান অবস্থার থেকে নিম্নলিখিত শর্তগুলির মধ্যে এন্ট্রিগুলি তৈরি করে:

*

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

*

যদি একটি ডিফল্ট ACL এন্ট্রি তৈরি করা হয়, এবং ডিফল্ট ACL কোন মালিক, মালিকানাধীন গোষ্ঠী বা অন্য কোনও এন্ট্রি, ACL মালিকের একটি অনুলিপি, মালিকানাধীন গোষ্ঠী বা অন্য কোনও এন্ট্রি ডিফল্ট ACL- এ যোগ করা হয়।

*

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

উদাহরণ

একটি অতিরিক্ত ব্যবহারকারীর পড়া অ্যাক্সেস প্রদান করা

setfacl -mu: লিসা: r ফাইল

সমস্ত গোষ্ঠী এবং সমস্ত নামযুক্ত ব্যবহারকারীদের কাছ থেকে লেখার অ্যাক্সেস প্রত্যাহার করা (কার্যকর অধিকার মুখোশ ব্যবহার করে)

setfacl-mm :: rx ফাইল

একটি ফাইল এর ACL থেকে একটি নামক গ্রুপ এন্ট্রি অপসারণ

setfacl -xg: স্টাফ ফাইল

এক ফাইলের অন্যকে ACL অনুলিপি করা

Getfacl ফাইল 1 | setfacl --set-file = - file2

ডিফল্ট ACL অ্যাক্সেস ACL অনুলিপি

Getfacl -a dir | setfacl -d -m-dir

পোসেস 1003.1 ই ড্রাফট স্ট্যান্ডার্ড 17 এর সাথে কনফার্মেশন

যদি এনভায়রনমেন্ট ভেরিয়েবল POSIXLY_CORRECT সংজ্ঞায়িত করা হয়, setfacl এর ডিফল্ট আচরণ পরিবর্তিত হয়: সমস্ত অ-মানক অপশন অক্ষম করা আছে। `` ডিফল্ট: '' উপসর্গ অক্ষম করা আছে। -x এবং -X বিকল্পগুলি অনুমতি ক্ষেত্র গ্রহণ করে (এবং তাদের উপেক্ষা)।

আরো দেখুন

umask (1),