ဟာ Linux စစ်ဌာနချုပ် Learn setfacl

Setfacl utility ကို Access ကိုထိန်းချုပ်ရေးစာရင်းများ (ACLs) သတ်မှတ် ဖိုင်များကို နှင့် directory များ။ ယင်းတွင် command line ကို ၏ sequence ကို ပညတ်တော်တို့ကို (အလှည့်ထဲမှာ command တွေနောက်ထပ် sequence ကိုလိုက်နိုင်သည့်, ... ) ဖိုင်တွေရဲ့ sequence ကိုလိုက်နေသည်။

အဆိုပါရွေးချယ်စရာ -m, နှင့် command line ကိုတခုတခုအပေါ်မှာ ACL ကိုမျှော်လင့် -x ။ အကွိမျမြားစှာ ACL entries တွေကိုကော်မာဇာတ်ကောင် ( `, ') များကကွဲကွာနေကြသည်။ အဆိုပါရွေးချယ်စရာ -M နှင့် -X ဖိုင်တစ်ဖိုင်ကနေသို့မဟုတ် Standard input ကိုတစ်ဦးထံမှ ACL ဖတ်ပါ။ အဆိုပါ ACL entry ကို format နဲ့ပုဒ်မ ACL ENTRIES တှငျဖျောပွထားခြင်းဖြစ်သည်။

အဆိုပါ --set နှင့် --set-file ကိုရှေးခယျြစရာဖိုင်တစ်ဖိုင်တစ်ခုသို့မဟုတ် directory ကို၏ ACL ထားကြ၏။ ယခင် ACL အစားထိုးနေသည်။ ဒီစစ်ဆင်ရေးများအတွက် ACL entries တွေကိုခွင့်ပြုချက်ပါဝင်ရမည်။

အဆိုပါ -m (--modify) နှင့် -M (--modify-file) ကိုရှေးခယျြစရာဖိုင်တစ်ဖိုင်သို့မဟုတ် directory ၏ ACL ကိုပြုပြင်မွမ်းမံ။ ဒီစစ်ဆင်ရေးများအတွက် ACL entries တွေကိုခွင့်ပြုချက်ပါဝင်ရမည်။

အဆိုပါ -x (--remove) နှင့် -X (--remove-file) ကိုရှေးခယျြစရာ ACL enries ဖယ်ရှားလိုက်ပါ။ POSIXLY_CORRECT သတ်မှတ်ပါတယ်မဟုတ်လျှင် Perm လယ်ပြင်ခြင်းမရှိဘဲသာလျှင် ACL entries တွေကို, parameters များကိုအဖြစ်လက်ခံထားပါသည်။

အဆိုပါ -M သုံးပြီးဖိုင်များနှင့် -X ရွေးချယ်စရာကနေဖတ်နေသည့်အခါ setfacl က output getfacl ထုတ်လုပ်လက်ခံခဲ့သည်။ လိုင်းနှုန်းအများဆုံးတဦးတည်း ACL entry ကိုမှာရှိပါတယ်။ တစ်ပေါင်နိမိတ်လက္ခဏာ ( `# ') ပြီးနောက်, လိုင်း၏အဆုံးအရာအားလုံးကိုတက်မှတ်ချက်အဖြစ်ကုသနေပါတယ်။

setfacl ACLs ကိုထောကျပံ့မဖိုင်တစ်ဖိုင် system ပေါ်တွင်အသုံးပြုသည်ဆိုပါက, setfacl ဖိုင်ကို mode ကိုခွင့်ပြုချက်-bits အပေါ်လုပ်ကိုင်လျက်ရှိကြောင်းသိရသည်။ အဆိုပါ ACL ခွင့်ပြုချက်-bits အတွက်လုံးဝ fit မပါဘူးဆိုရင်, setfacl ဖိုင်ကို mode ကိုခွင့်ပြုချက်-bits အဖြစ်နီးနီးကပ်ကပ်ဖြစ်နိုင်သမျှအတိုင်း ACL ရောင်ပြန်ဟပ်ဖို့ပြုပြင်မှု, စံအမှားမှ error message ကိုရေးသားခဲ့သည်များနှင့် 0 င်ထက် သာ. ကြီးမြတ်အနေနဲ့ထွက်ပေါက် status ကိုနှင့်အတူပြန်လည်ရောက်ရှိ။

အနှစ်ချုပ်

setfacl [-bkndRLPvh] [{-m | -x} acl_spec] [{-M | -X} acl_file] ဖိုင် ...

setfacl --restore = file ကို

အခွင့်

ဖိုင်ပိုင်ရှင်နှင့် CAP_FOWNER နိုင်စွမ်းဖြစ်စဉ်များဖိုင်တစ်ဖိုင်၏ ACLs ပြုပြင်မွမ်းမံခွင့်ခွင့်ပြုထားပါသည်။ ဒါကဖိုင်ကို mode ကိုရယူသုံးဘို့တောင်းဆိုတဲ့ခွင့်ပြုချက်မှအလားတူပါပဲ။ (လက်ရှိ Linux ကိုစနစ်များတွင်အမြစ်သည် CAP_FOWNER စွမ်းရည်နှင့်အတူတစ်ခုတည်းသောအသုံးပြုသူဖြစ်ပါသည်။ )

ရွေးချယ်စရာများ

-b, --remove-အားလုံး

အားလုံးတိုးချဲ့ ACL entries တွေကိုဖယ်ရှားပါ။ ပိုင်ရှင်အုပ်စုတစ်စုနှင့်အခြားသူများ၏အခြေစိုက်စခန်း ACL entries တွေကိုထိန်းသိမ်းထားကြသည်။

-k, --remove-က default

အဆိုပါပုံမှန် ACL ဖယ်ရှားပါ။ အဘယ်သူမျှမပုံမှန် ACL တည်ရှိနေလျှင်အဘယ်သူမျှမသတိပေးချက်များထုတ်ပြန်ခဲ့သည်နေကြသည်။

--no-mask ကို -n,

ထိရောက်စွာအခွင့်အရေးများမျက်နှာဖုံး recalculate မထားပါနဲ့။ တစ်မျက်နှာဖုံး entry ကိုအတိအလင်းပေးထားခဲ့သည်မဟုတ်လျှင် setfacl ၏ default အမူအကျင့်, အ ACL မျက်နှာဖုံး entry ကို recalculate ရန်ဖြစ်ပါသည်။ အဆိုပါမျက်နှာဖုံး entry ကို၎င်းပိုင်ဆိုင်အုပ်စုအားလုံးခွင့်ပြုချက်၏ပြည်ထောင်စုသို့သတ်မှတ်ထားအပေါင်းတို့နှင့်တကွ, အသုံးပြုသူနှင့်အုပ်စုတစ်စု entries တွေကိုအမည်ရှိဖြစ်ပါတယ်။ (ဤအတိအကျမျက်နှာဖုံး entry ကိုကြောင့်ထိခိုက် Entries တွေကိုဖြစ်ကြသည်) ။

--mask

ထိရောက်စွာအခွင့်အရေးများတစ်ခု ACL မျက်နှာဖုံး entry ကိုအတိအလင်းပေးထားခဲ့သည်ရင်တောင် mask recalculate ပါနဲ့။ (ထို -n option ကိုကြည့်ပါ။ )

-D, --default

အားလုံးစစ်ဆင်ရေးဟာပုံမှန် ACL သက်ဆိုင်ပါသည်။ အဆိုပါ input ကို set ကိုအတွက်ပုံမှန် ACL entries တွေကို ACL entries တွေကိုမူလရာထူးတိုးနေကြသည်။ အဆိုပါ input ကို set ကိုအတွက် default ACL entries တွေကိုစွန့်ပစ်လျက်ရှိသည်။ (ထိုဖြစ်ပျက်လျှင်တစ်ဦးကသတိပေးထုတ်ပေးတာဖြစ်ပါတယ်) ။

--restore = file ကို

`getfacl -r 'သို့မဟုတ်အလားတူအသုံးပြုနေသူများကဖန်တီးနေတဲ့ခွင့်ပြုချက် backup လုပ်ထား Restore ။ ပြည့်စုံသည် directory subtree အားလုံးခွင့်ပြုချက်ဒီယန္တရားကို အသုံးပြု. ပွနျလညျထူထောငျကွသညျ။ အဆိုပါ input ကိုပိုင်ရှင်မှတ်ချက်များသို့မဟုတ်အုပ်စုတစ်စုမှတ်ချက်များပါရှိသည်နှင့် setfacl အမြစ်အားဖြင့် run လျှင်, ရှိသမျှဖိုင်တွေ၏ပိုင်ရှင်နှင့်ပိုင်ဆိုင်အုပ်စုတစ်စုအဖြစ်ကောင်းစွာပွနျလညျထူထောငျကွသညျ။ ဒီ option က '' --test ` မှလွဲ. အခြားရွေးချယ်စရာနှင့်အတူရောနှောမရနိုင်ပါ။

--test

test mode ကို။ အဲဒီအစားမဆိုဖိုင်တွေရဲ့ ACLs ပြောင်းလဲနေတဲ့၏, ထိုရရှိလာတဲ့ ACLs စာရင်းသွင်းဖော်ပြထားပါသည်။

-r, --recursive

တဲ့ request ကိုအားလုံးဖိုင်တွေနဲ့ directory များမှစစ်ဆင်ရေး Apply ။ ဒီ option က `--restore '' နှင့်အတူရောနှောမရနိုင်ပါ။

--logical -L,

logical လမ်းလျှောက်, သင်္ကေတလင့်များလိုက်နာပါ။ ကို default အပြုအမူသင်္ကေတ link ကိုငြင်းခုံလိုကျနာဖို့, subdirectories အတွက်ကြုံတွေ့သင်္ကေတလင့်များ skip ရန်ဖြစ်ပါသည်။ ဒီ option က `--restore '' နှင့်အတူရောနှောမရနိုင်ပါ။

-p, --physical

ရုပ်ပိုင်းဆိုင်ရာလမ်းလျှောက်အပေါင်းတို့, သင်္ကေတလင့်များ skip ။ ဤသည်ကိုလည်းသင်္ကေတ link ကိုငြင်းခုံ skips ။ ဒီ option က `--restore '' နှင့်အတူရောနှောမရနိုင်ပါ။

--version

setfacl နှင့်ထွက်ပေါက်၏ဗားရှင်း Print ။

--ကူညီပါ

ပုံနှိပ်ပါက command line ရွေးချယ်စရာရှင်းပြကူညီပေးသည်။

command line ကိုရွေးချယ်စရာအဆုံး။ အားလုံးကျန်ရှိသော parameters တွေကိုသူတို့တစ်တွေ dash နှင့်အတူစတင်လျှင်ပင်, ဖိုင်အမည်များအဖြစ်အဓိပ္ပာယ်ကောက်ယူနေကြသည်။

ဖိုင်အမည်ကို parameter သည်တစ်ခုတည်း dash ဖြစ်လျှင်, setfacl စံ input ကိုကနေဖိုင်တွေရဲ့စာရင်းဖတ်တယ်။

ACL ENTRIES

အဆိုပါ setfacl utility ကိုအောက်ပါ ACL entry ကိုကို formats (ရှင်းလင်းပြတ်သားမှုအတွက်ဖြည့်စွက်ကွက်လပ်) အသိအမှတ်ပြု:

[ဃ [efault]:] [ဦး [SER]:] uid [: Perm]

တစ်အမည်ရှိအသုံးပြုသူများ၏ခွင့်ပြုချက်။ ဖိုင်ကိုပိုင်ရှင်၏ခွင့်ပြုချက် uid ဗလာဖြစ်နေသည်ဆိုပါက။

[ဃ [efault]:] g နဲ့ [roup]: gid [: Perm]

တစ်အမည်ရှိအုပ်စုတစ်စု၏ခွင့်ပြုချက်။ အဆိုပါပိုင်ဆိုင်အုပ်စုတစ်စု၏ခွင့်ပြုချက် gid ဗလာဖြစ်နေသည်ဆိုပါက။

[ဃ [efault]:] [:] [: Perm] မီတာ [မေးဖို့]

ထိရောက်သောအခွင့်အရေးများမျက်နှာဖုံး

[ဃ [efault]:] o [ther] [:] [: Perm]

တခြားသူတွေရဲ့ခွင့်ပြုချက်။

အနားသတ်မျဉ်းဇာတ်ကောင်များနှင့် Non-အနားသတ်မျဉ်းဇာတ်ကောင်များအကြားကြားနေရာလွတ်လျစ်လျူရှုနေပါတယ်။

ခွင့်ပြုချက်အပါအဝင်သင့်လျော် ACL entries တွေကို Modify များတွင်အသုံးပြုခြင်းနှင့်စစ်ဆင်ရေးကိုသတ်မှတ်နေကြသည်။ (options များ -m, -M, --set နှင့် --set-ဖိုင်) ။ အဆိုပါ Perm လယ်ပြင်စရာမလိုဘဲ entries entries တွေကို (options များ -x နှင့် -X) ၏ဖျက်မှုများအတွက်အသုံးပြုကြသည်။

uid အဘို့နှင့်သင်တစ်ဦးအမည်သို့မဟုတ်နံပါတ်တစ်ခုခုကိုသတ်မှတ်နိုင်ပါတယ် gid

အဆိုပါ Perm လယ်ပြင်တဲ့ခွင့်ပြုချက်တွေကိုညွှန်ပြကြောင်းဇာတ်ကောင်တစ်ဦးပေါင်းစပ်ခြင်းဖြစ်ပါသည်:, (r) ကိုဖတ်ပါ (w) စာရေး, execute (x) အဖွဲ့, ဖိုင်ကို Directory ဖြစ်ပါတယ်သို့မဟုတ်ပြီးသားအချို့အသုံးပြုသူ (X) အဘို့အခွင့်ပြုချက် execute ရှိပါတယ်မှသာလြှငျစီမံထားသည်။ တနည်းအားဖြင့်, အ Perm လယ်ကွင်းတစ်ခု octal ဂဏန်း (0-7) ရှိနိုင်ပါသည်။

အလိုအလျောက်ဖန်တီး ENTRIES

အစပိုင်းမှာဖိုင်တွေနဲ့ directory များသာပိုင်ရှင်များအတွက်သုံးအခြေစိုက်စခန်း ACL entries တွေကို, အုပ်စုနှင့်အခြားဆံ့။ ခိုင်လုံသောဖြစ်ဖို့ ACL အဘို့အလို့ငှာကျေနပ်ခံရဖို့လိုအပျကွောငျးအခြို့သောစည်းမျဉ်းစည်းကမ်းတွေရှိပါတယ်:

*

အဆိုပါသုံးအခြေစိုက်စခန်း entries တွေကိုဖယ်ရှားမရပါ။ ဤအအခြေစိုက်စခန်း entry ကိုအမျိုးအစားတစ်ခုချင်းစီ၏တစ်ခုအတိအကျ entry ကိုရှိပါတယ်ဖြစ်ရမည်။

*

တစ်ဦး ACL အသုံးပြုသူ entries တွေကိုအမည်ရှိသို့မဟုတ်အုပ်စုတစ်စုတ္ထုအမည်ရှိပါရှိသည်အခါတိုင်း, ကထိရောက်သောအခွင့်အရေးများမျက်နှာဖုံးလည်းပါဝင်ရပါမည်။

*

တစ်ဦး ACL ပါရှိသည်အခါတိုင်းဆိုပုံမှန် ACL entries တွေကို, သုံးယောက်ပုံမှန် ACL အခြေစိုက်စခန်း entries တွေကို (default အနေနဲ့ပိုင်ရှင်က default အုပ်စုနှင့် default အနေနဲ့အခြားသူတွေ) လည်းတည်ရှိနေရပါမည်။

*

တစ်ပုံမှန် ACL အသုံးပြုသူ entries တွေကိုအမည်ရှိသို့မဟုတ်အုပ်စုတစ်စုတ္ထုအမည်ရှိပါရှိသည်အခါတိုင်းကြောင့်လည်းထိရောက်သောအခွင့်အရေးများ mask တစ်ဦးက default ပါဝင်ရပါမည်။

အသုံးပြုသူသည်ဤစည်းမျဉ်းစည်းကမ်းတွေကိုသေချာစေရန်ကူညီပေးဖို့, setfacl အောက်ပါအခြေအနေများအောက်တွင်တည်ဆဲ entries တွေကိုထံမှ entries တွေကိုဖန်တီး:

*

တစ်ဦး ACL အမည်ရှိအသုံးပြုသူသို့မဟုတ်အမည်ရှိအဖွဲ့တစ်ဖွဲ့ entries တွေကိုပါရှိသည်နှင့်အဘယ်သူမျှမမျက်နှာဖုံး entry ကိုတည်ရှိ, အုပ်စု entry ကိုကဲ့သို့တူညီသောခွင့်ပြုချက်င်တစ်ဦးမျက်နှာဖုံး entry ကိုဖန်တီးသည်။ အကယ်. အဆိုပါ -n option ကိုပေးထားဘဲနေလျှင်, မျက်နှာဖုံး entry ကို၏ခွင့်ပြုချက်တွေကိုနောက်ထပ်မျက်နှာဖုံး entry ကိုကြောင့်ထိခိုက်အားလုံးခွင့်ပြုချက်၏ပြည်ထောင်စုထည့်သွင်းရန်ချိန်ညှိနေကြသည်။ (ထို -n option ကိုဖျောပွခကျြကိုကြည့်ပါ) ။

*

တစ်ပုံမှန် ACL entry ကိုဖန်တီး, နှင့်ပုံမှန် ACL အုပ်စုသို့မဟုတ်အခြားသူများ entry ကိုပိုင်ဆိုင်မရှိပိုင်ရှင်ပါရှိသည်လျှင်အုပ်စုသို့မဟုတ်အခြားသူများ entry ကိုပိုင်ဆိုင်သည့် ACL ပိုင်ရှင်တစ်ဦးမိတ္တူ, အပုံမှန် ACL ထည့်သွင်းထားသည်။

*

တစ်ပုံမှန် ACL အသုံးပြုသူ entries တွေကိုသို့မဟုတ်အမည်ရှိအဖွဲ့တစ်ဖွဲ့ entries တွေကိုအမည်ရှိပါရှိသည်နှင့်အဘယ်သူမျှမမျက်နှာဖုံး entry ကိုတည်ရှိခြင်း, default အနေနဲ့ပုံမှန် ACL ရဲ့အုပ်စုတစ်စု entry ကိုကဲ့သို့တူညီသောခွင့်ပြုချက်င်တစ်ဦးမျက်နှာဖုံး entry ကိုထည့်သွင်းထားသည်။ အကယ်. အဆိုပါ -n option ကိုပေးထားဘဲနေလျှင်, မျက်နှာဖုံး entry ကို၏ခွင့်ပြုချက်တွေကိုနောက်ထပ်မျက်နှာဖုံး entry ကိုကြောင့်ထိခိုက်အားလုံးခွင့်ပြုချက်၏ပြည်ထောင်စုက de inclu မှချိန်ညှိနေကြသည်။ (ထို -n option ကိုဖျောပွခကျြကိုကြည့်ပါ) ။

ဥပမာများ

တစ်ဦးအပိုဆောင်းအသုံးပြုသူပေးအပ် access ကိုဖတ်ပါ

setfacl -mu: Lisa: r ဖိုင်

အားလုံးအုပ်စုများထံမှရေး access ကိုပြန်ရုပ်သိမ်းနဲ့ (ထိရောက်သောအခွင့်အရေးများမျက်နှာဖုံးကိုသုံးပြီး) အားလုံးအမည်ရှိအသုံးပြုသူများသည်

setfacl -mm :: RX ဖိုင်

ဖိုင်တစ်ဖိုင်ရဲ့ ACL နေအမည်ရှိအဖွဲ့တစ်ဖွဲ့ entry ကိုဖယ်ရှားခြင်း

setfacl -xg: ဝန်ထမ်းဖိုင်

တယောက်ကိုတယောက်ဖိုင်ရဲ့ ACL ကူးယူခြင်း

getfacl file1 | setfacl --set-file ကို = - file2

အဆိုပါပုံမှန် ACL သို့ဝင်ရောက်ခွင့် ACL ကူးယူခြင်း

getfacl -a dir | setfacl -D -M- dir

POSIX 1003.1e ရေးဆွဲရန်ညီစံချိန်စံညွှန်းများ 17

ပတ်ဝန်းကျင် variable ကို POSIXLY_CORRECT သတ်မှတ်လျှင်အဖြစ် setfacl အပြောင်းအလဲများကို default အပြုအမူအောက်ပါအတိုင်း: အားလုံး Non-စံရွေးချယ်စရာမသန်စွမ်းဖြစ်ကြသည်။ အဆိုပါ `` ကို default: '' ရှေ့ဆက်မသန်စွမ်းဖြစ်ပါတယ်။ အဆိုပါ -x နှင့် -X ရွေးချယ်စရာလည်းခွင့်ပြုချက်လယ်ကွင်းကိုလက်မခံ (နှင့်သူတို့ကိုလစျြလြူရှု) ။

လည်းဖတ်ကြည့်ပါ

umask (1),