لینوکس دستور setfacl را بیاموزید

ابزار Setfacl لیست های کنترل دسترسی (ACL ها) فایل ها و دایرکتوری ها را تنظیم می کند. در خط فرمان ، یک دنباله از دستورات دنباله ای از فایل ها است (که به نوبه خود می تواند به دنبال یک ترتیب دیگر از دستورات، ...).

گزینه های -m و -x ACL را در خط فرمان انتظار می رود. نوشته های چندگانه ACL با کاراکترهای کاما (`، ') تفکیک می شوند. گزینه های -M و -X ACL را از یک پرونده یا از ورودی استاندارد خواند. فرمت ورود ACL در بخش ACL ENTRIES شرح داده شده است.

تنظیمات --set و --set-file ACL یک فایل یا یک دایرکتوری را تنظیم می کند. ACL قبلی جایگزین شده است. ورودی ACL برای این عملیات باید شامل مجوزها باشد.

گزینه های -m (--modify) و -M (--modify-file) ACL یک فایل یا دایرکتوری را تغییر دهید. ورودی ACL برای این عملیات باید شامل مجوزها باشد.

گزینه های -x (-remove) و -X (-remove-file) حذف ACL enries. فقط ورودی ACL بدون فیلد perms به عنوان پارامتر پذیرفته می شود، مگر اینکه POSIXLY_CORRECT تعریف شود.

هنگام خواندن از فایل ها با استفاده از گزینه های -M و -X ، setfacl خروجی getfacl را تولید می کند. بیشترین ورودی ACL در هر خط وجود دارد. پس از نشانه پوند (# #)، همه چیز تا انتهای خط به عنوان یک نظر بررسی می شود.

اگر setfacl در یک سیستم فایل استفاده می شود که از ACL پشتیبانی نمی کند، setfacl در بیت های اجازه پرونده حالت عمل می کند. اگر ACL به طور کامل در بیت های مجاز متناسب نباشد، setfacl بیت های اجازه پرونده را تغییر می دهد تا منعکس کننده ACL را تا حد ممکن نزدیک کند، پیام خطایی را به خطای استاندارد می نویسد و با وضعیت خروج بیش از 0 باز می گردد.

خلاصه

setfacl [-bkndRLPvh] [{-m | -x} acl_spec] [{-M | -X} acl_file] فایل ...

setfacl --restore = فایل

مجوزها

صاحب پرونده و پروسه هایی که قادر به CAP_FOWNER هستند، حق تغییر در ACL ها را به یک فایل داده اند. این همانند مجوزهایی است که برای دسترسی به حالت فایل مورد نیاز است. (در سیستم های لینوکس فعلی، ریشه تنها کاربر با قابلیت CAP_FOWNER است.)

گزینه ها

-b، -remove-all

تمام مدخل ACL Extended را حذف کنید. مدخل ACL پایه مالک، گروه و دیگران حفظ می شود.

-k، --remove-default

ACL پیش فرض را حذف کنید. اگر پیش فرض ACL وجود نداشته باشد، هیچ هشداری صادر نمی شود.

-n، --no-mask

ماسک موثر حقوق را بازنشانی نکنید. رفتار پیش فرض setfacl این است که مجددا ورودی Mask ACL را مجددا محاسبه کنید، مگر اینکه یک ورودی ماسک به صراحت داده شود. ورود ماسک به اتحاد تمامی مجوزهای گروه مالک و تمامی ورودیهای کاربر و گروه نامگذاری شده است. (این دقیقا همان نوشته هایی است که تحت تاثیر ماسک تاثیر می گذارد).

- ماسک

ماسک حقوقی حقوقی را مجددا محاسبه کنید، حتی اگر یک ورودی ACL به صورت صریح داده شود. (گزینه -n را ببینید.)

-d، --default

تمام عملیات به ACL پیش فرض اعمال می شود. ورودیهای ACL به طور منظم در مجموعه ورودی به مقادیر پیش فرض ACL ارتقا می یابد. نوشته های پیش فرض ACL در مجموعه ورودی از بین می روند. (اگر اخطار صادر شود).

--restore = فایل

پشتیبان مجوز ایجاد شده توسط `getfacl -R 'یا مشابه آن بازگردانی کنید. تمام مجوزهای زیربنای کامل دایرکتوری با استفاده از این مکانیزم بازسازی می شوند. اگر ورودی حاوی نظرات مالک یا نظرات گروهی باشد و setfacl توسط ریشه اجرا شود، گروه مالک و مالک تمام فایل ها نیز بازسازی می شوند. این گزینه را نمی توان با گزینه های دیگر به جز `--test 'ترکیب کرد.

--تست

حالت آزمون. به جای تغییر ACL ها از هر فایل، ACL های حاصل شده لیست شده است.

-R، - تجربی

اعمال عملیات به تمام فایل ها و دایرکتوری ها به صورت مجزا. این گزینه را نمی توان با `--restore 'مخلوط کرد.

-L، --logical

پیاده روی منطقی، دنبال لینک های نمادین است. رفتار پیش فرض این است که به دنبال استدلال پیوند نمادین بپردازیم و برای رد کردن لینکهای نمادینی که در subdirectories مواجه میشوند. این گزینه را نمی توان با `--restore 'مخلوط کرد.

-P، - فیزیکی

پیاده روی فیزیکی، همه پیوندهای نمادین را از بین ببرید. این همچنین استدلال پیوند نمادین را می برد. این گزینه را نمی توان با `--restore 'مخلوط کرد.

- نسخه

نسخه ای از setfacl را چاپ کرده و از آن خارج شوید.

--کمک

به کمک توضیحات گزینه های خط فرمان چاپ کنید.

پایان گزینه های خط فرمان تمام پارامترهای باقی مانده به عنوان نام فایل ها تفسیر می شوند، حتی اگر آنها با یک خط تیره شروع شوند.

اگر پارامتر نام فایل یک خط تیک باشد، setfacl یک لیست از فایل های ورودی استاندارد را می خواند.

ورود ACL

نرم افزار setfacl فرمت های ACL زیر را تایید می کند (بسته ها برای وضوح):

[d [efault]:] [u [ser]:] uid [: perms ]

مجوز یک کاربر نامشخص مجوز مالک فایل اگر uid خالی باشد

[d [efault]:] g [roup]: gid [: perms ]

مجوز یک گروه نامگذاری شده مجوز گروه مالک اگر گوید خالی است

[d [efault]:] m [پرسیدن] [:] [: perms ]

ماسک موثر موثر است

[d [efault]:] o [ther] [:] [: perms ]

مجوزهای دیگران

فضای خالی بین شخصیت های جداگانه و شخصیت های غیر جدا کننده نادیده گرفته می شود.

مقادیر ACL مناسب از جمله مجوزها در عملیات تغییر و تنظیم استفاده می شود. (گزینه -m ، -M ، -set و -set-file ). مقالات بدون فیلد perms برای حذف نوشته ها (گزینه ها -x و -X ) استفاده می شود.

برای uid و gid میتوانید نام یا عدد را مشخص کنید.

فیلد perms ترکیبی از کاراکترهایی است که نشان دهنده مجوزها هستند: read (r) ، write (w) ، execute (x) ، execute only if the file is a directory or already has permission for some user (X) اجرا کند . به جای آن، فیلد perms می تواند یک رقم هشت (0-7) باشد.

ورود خودکار به صورت خودکار

در ابتدا فایل ها و دایرکتوری ها حاوی تنها سه پایگاه ACL پایه برای مالک، گروه و دیگران است. برخی از قوانین نیاز دارند تا ACL معتبر باشد:

*

سه پایگاه پایه قابل حذف نیست باید دقیقا یک ورودی هر یک از این نوع ورودی پایه باشد.

*

هر زمانی که یک ACL حاوی نام کاربری کاربر یا نام گروه است، باید دارای یک ماسک حقوقی موثر باشد.

*

هر زمان که یک ACL حاوی مقادیر پیش فرض ACL باشد، سه ورودی پایه ACL (مالک پیش فرض، گروه پیش فرض و سایر موارد پیش فرض) نیز باید وجود داشته باشد.

*

هر زمانی که یک ACL پیش فرض شامل ورودیهای کاربری نامیده می شود یا اشیاء گروه نامیده می شود، باید دارای یک ماسک حقوقی موثر پیش فرض باشد.

برای کمک به کاربر اطمینان حاصل کنید که این قوانین، setfacl ورودی های موجود از نوشته های موجود را در شرایط زیر ایجاد می کند:

*

اگر یک ACL شامل نام کاربری یا نام گروهی نامگذاری شده باشد و هیچ ورودی ماسک وجود نداشته باشد، یک ورودی ماسک حاوی مجوزهای مشابهی به عنوان ورودی گروه ایجاد شده است. به استثنای گزینه -n ، مجوز ورود ماسک بیشتر تنظیم می شود تا شامل تمامی مجوزهای تحت تاثیر ورود ماسک باشد. (شرح گزینه -n را ببینید).

*

اگر یک ACL پیش فرض ایجاد شده باشد و ACL پیش فرض حاوی هیچ صاحب، گروه مالکیت و یا دیگران نیست، یک نسخه از ACL صاحب مالک، گروه مالک یا دیگران به ACL Default اضافه می شود.

*

اگر یک ACL پیش فرض حاوی ورودی های نام کاربری یا گروه های نامگذاری گروه باشد و هیچ ورودی ماسک وجود داشته باشد، یک ورودی ماسک حاوی مجوز های مشابه به عنوان پیش فرض پیش فرض ورودی ACL اضافه شده است. اگر گزینه -n داده نشود، مجوز ورود ماسک بیشتر به هم پیوسته از تمامی مجوزهای تحت تاثیر ورود ماسک تنظیم می شود. (شرح گزینه -n را ببینید).

مثال ها

دادن یک کاربر دیگر به خواندن دسترسی

setfacl -mu: lisa: r file

لغو دسترسی نوشتاری از همه گروه ها و همه کاربران نامیده شده (با استفاده از ماسک حقوقی موثر)

setfacl-mm :: فایل rx

حذف یک نام گروهی از ACL فایل

setfacl-xg: پرونده کارکنان

کپی ACL یک فایل به یک دیگر

getfacl file1 | setfacl --set-file = - file2

کپی ACL دسترسی به ACL پیش فرض

getfacl -a dir | setfacl -d -M- dir

سازگاری با استاندارد POSIX 1003.1e STANDARD 17

اگر متغیر محیط POSIXLY_CORRECT تعریف شده باشد، رفتار پیش فرض setfacl به صورت زیر تغییر می کند: تمام گزینه های غیر استاندارد غیر فعال هستند. پیشوند `` default: '' غیرفعال است گزینه های -x و -X همچنین فیلدهای مجوز را قبول می کنند (و آنها را نادیده می گیرند).

همچنین ببینید

umask (1)،