အခွင့်အရေးများတွင် Linux (chown၊ chmod၊ SUID၊ GUID၊ sticky bit၊ ACL၊ umask)

မင်္ဂလာပါ လူကြီးမင်းများ။ RedHat RHCSA RHCE 7 RedHat Enterprise စာအုပ်မှ ဆောင်းပါးတစ်ပုဒ်ကို ဘာသာပြန်ဆိုထားခြင်း ဖြစ်ပါသည်။ Linux EX200 နှင့် EX300 ၇ စီး။

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

ဒါကြောင့်ထိုပြည်၌သင်တို့သည်သွားပါ။

အခွင့်အရေးများတွင် Linux (chown၊ chmod၊ SUID၊ GUID၊ sticky bit၊ ACL၊ umask)

ဖိုင်များကို ဝင်ရောက်ကြည့်ရှုရန် Linux, ခွင့်ပြုချက်များကို အသုံးပြုသည်။ ဤခွင့်ပြုချက်များကို object သုံးခုသို့ သတ်မှတ်ပေးထားသည်- file owner၊ group owner နှင့် အခြား object (ဆိုလိုသည်မှာ ကျန်သူအားလုံး)။ ဤဆောင်းပါးတွင်၊ ခွင့်ပြုချက်များကို မည်သို့အသုံးချရမည်ကို လေ့လာရပါမည်။

ဤဆောင်းပါးသည် အခြေခံသဘောတရားများ၏ ခြုံငုံသုံးသပ်ချက်ဖြင့် အစပြုကာ၊ ထို့နောက် အထူးခွင့်ပြုချက်များနှင့် Access Control Lists (ACLs) ၏ ဆွေးနွေးမှုတစ်ခုဖြစ်သည်။ ဤဆောင်းပါး၏အဆုံးတွင်၊ ကျွန်ုပ်တို့သည် umask မှတစ်ဆင့် ပုံသေခွင့်ပြုချက်များကို သတ်မှတ်ခြင်းအပြင် တိုးချဲ့အသုံးပြုသူ၏အရည်အချင်းများကို စီမံခန့်ခွဲခြင်းတို့ကို အကျုံးဝင်ပါသည်။

ဖိုင်ပိုင်ဆိုင်မှုစီမံခန့်ခွဲမှု

ခွင့်ပြုချက်များကို မဆွေးနွေးမီ၊ သင်သည် ဖိုင်နှင့် လမ်းညွှန်ပိုင်ရှင်၏ အခန်းကဏ္ဍကို သိရှိထားသင့်သည်။ ဖိုင်များနှင့် လမ်းညွှန်များ ပိုင်ဆိုင်မှုသည် ခွင့်ပြုချက်များကို ကိုင်တွယ်ဖြေရှင်းရာတွင် အရေးကြီးပါသည်။ ဤကဏ္ဍတွင်၊ သင်သည် ပိုင်ရှင်ကို မည်သို့မြင်နိုင်သည်ကို ဦးစွာလေ့လာပါမည်။ ထို့နောက် ဖိုင်များနှင့် လမ်းညွှန်များအတွက် အုပ်စုပိုင်ရှင်နှင့် အသုံးပြုသူအား မည်သို့ပြောင်းလဲရမည်ကို သင်လေ့လာပါမည်။

ဖိုင် သို့မဟုတ် လမ်းညွှန်၏ ပိုင်ရှင်ကို ပြသခြင်း။

В Linux ဖိုင်တိုင်းနှင့် directory တိုင်းတွင် owner နှစ်ဦးရှိသည်- user နှင့် group owner။

ဖိုင် သို့မဟုတ် လမ်းညွှန်တစ်ခုကို ဖန်တီးသည့်အခါ ဤပိုင်ရှင်များကို သတ်မှတ်ပေးသည်။ ဖိုင်ကိုဖန်တီးသောအသုံးပြုသူသည် ထိုဖိုင်၏ပိုင်ရှင်ဖြစ်လာပြီး တူညီသောအသုံးပြုသူပိုင်ဆိုင်သည့် အဓိကအုပ်စုသည်လည်း ထိုဖိုင်၏ပိုင်ရှင်ဖြစ်လာပါသည်။ သင်သည် အသုံးပြုသူတစ်ဦးအနေဖြင့် ဖိုင် သို့မဟုတ် လမ်းညွှန်ကို ဝင်ရောက်ကြည့်ရှုခွင့်ရှိမရှိ ဆုံးဖြတ်ရန်၊ Shell သည် ပိုင်ဆိုင်မှုအတွက် စစ်ဆေးပါသည်။

၎င်းသည် အောက်ပါအစီအစဉ်အတိုင်း ဖြစ်တတ်သည်-

  1. သင်သည် သင်ဝင်ရောက်လိုသော ဖိုင်၏ ပိုင်ရှင်ဟုတ်မဟုတ် စစ်ဆေးရန် shell သည် စစ်ဆေးသည်။ အကယ်၍ သင်သည် ပိုင်ရှင်ဖြစ်ပါက၊ သင်သည် ခွင့်ပြုချက်ရရှိပြီး အခွံသည် စစ်ဆေးခြင်းကို ရပ်သွားပါမည်။
  2. သင်သည် ဖိုင်၏ပိုင်ရှင်မဟုတ်ပါက၊ သင်သည် ဖိုင်တွင်ခွင့်ပြုချက်ရှိသည့်အဖွဲ့၏အဖွဲ့ဝင်ဖြစ်ခြင်းရှိ၊မရှိ စစ်ဆေးရန် shell သည် စစ်ဆေးမည်ဖြစ်သည်။ သင်သည် ဤအဖွဲ့၏အဖွဲ့ဝင်ဖြစ်ပါက၊ အဖွဲ့မှသတ်မှတ်ထားသောခွင့်ပြုချက်များဖြင့် ဖိုင်ကိုသင်ဝင်ရောက်မည်ဖြစ်ပြီး shell သည် စစ်ဆေးခြင်းရပ်တန့်သွားမည်ဖြစ်သည်။
  3. အကယ်၍ သင်သည် အသုံးပြုသူ သို့မဟုတ် အဖွဲ့တစ်ခု၏ ပိုင်ရှင်မဟုတ်ပါက၊ သင်သည် အခြားအသုံးပြုသူများ (Other) ၏ အခွင့်အရေးများကို ပေးထားသည်။

လက်ရှိပိုင်ရှင်တာဝန်များကိုကြည့်ရှုရန်၊ သင်သည် command ကိုသုံးနိုင်သည်။ ls-l. ဤအမိန့်တော်သည် အသုံးပြုသူနှင့် အဖွဲ့၏ပိုင်ရှင်ကို ပြသသည်။ အောက်တွင် /home directory ရှိ လမ်းညွှန်များအတွက် ပိုင်ရှင်ဆက်တင်များကို သင်တွေ့နိုင်ပါသည်။

[root@server1 home]# ls -l
total 8
drwx------. 3  bob            bob            74     Feb   6   10:13 bob
drwx------. 3  caroline       caroline       74     Feb   6   10:13 caroline
drwx------. 3  fozia          fozia          74     Feb   6   10:13 fozia
drwx------. 3  lara           lara           74     Feb   6   10:13 lara
drwx------. 5  lisa           lisa           4096   Feb   6   10:12 lisa
drwx------. 14 user           user           4096   Feb   5   10:35 user

အမိန့်ဖြင့် ls ဖိုင်များ၏ ပိုင်ရှင်ကို ပေးထားသည့် လမ်းညွှန်တွင် သင်ပြသနိုင်သည်။ တစ်ခါတစ်ရံတွင် ပိုင်ရှင်အဖြစ် ပေးထားသည့် အသုံးပြုသူ သို့မဟုတ် အုပ်စုတစ်ခုရှိ စနစ်ရှိ ဖိုင်အားလုံးစာရင်းကို ရယူရန် အသုံးဝင်နိုင်သည်။ ဒီအတွက် သင်သုံးနိုင်ပါတယ်။ ရှာတွေ့. ဆင်ခြေ ရှာဖွေအသုံးပြုသူ ဤရည်ရွယ်ချက်အတွက်အသုံးပြုနိုင်ပါသည်။ ဥပမာအားဖြင့်၊ အောက်ပါ command သည် user linda ပိုင်ဆိုင်သော ဖိုင်များအားလုံးကို စာရင်းပြုစုသည်-

find / -user linda

သင်လည်းသုံးနိုင်သည် ရှာတွေ့ ၎င်းတို့ပိုင်ရှင်အဖြစ် သတ်မှတ်ထားသော အုပ်စုတစ်ခုရှိ ဖိုင်များကို ရှာဖွေရန်။

ဥပမာအားဖြင့်၊ အောက်ပါ command သည် အဖွဲ့ပိုင်ဖိုင်အားလုံးကို ရှာဖွေသည်။ အသုံးပြုသူများသည်:

find / -group users

ပိုင်ရှင်အပြောင်းအလဲ

သင့်လျော်သောခွင့်ပြုချက်များကို ကျင့်သုံးရန် ပထမဦးစွာ စဉ်းစားရမည့်အချက်မှာ ပိုင်ဆိုင်မှုဖြစ်သည်။ ဒီအတွက် အမိန့်တစ်ခုရှိတယ်။ လွမ်းတယ်. ဤ command ၏ syntax သည်နားလည်ရန်လွယ်ကူသည်

chown кто что

ဥပမာအားဖြင့်၊ အောက်ပါ command သည် /home/account directory ၏ပိုင်ရှင်ကို user linda သို့ပြောင်းသည်-

chown linda /home/account

အဖွဲ့ လွမ်းတယ် ရွေးချယ်စရာများစွာရှိသည်၊ ၎င်းထဲမှတစ်ခုသည် အထူးအသုံးဝင်သည်- -R. ဤရွေးချယ်မှုကို အခြားသော command အများအပြားတွင်လည်း ရနိုင်သောကြောင့် ၎င်းသည် အဘယ်အရာလုပ်ဆောင်သည်ကို သင် ခန့်မှန်းနိုင်သည်။ ၎င်းသည် သင်သည် လက်ရှိလမ်းညွှန်၏ ပိုင်ရှင်နှင့် အောက်ပါအရာအားလုံးကို သတ်မှတ်နိုင်စေမည့် ပိုင်ရှင်ကို ထပ်ခါတလဲလဲ သတ်မှတ်နိုင်စေပါသည်။ အောက်ပါ command သည် /home directory ၏ ပိုင်ဆိုင်မှုနှင့် ၎င်းအောက်ရှိ အရာအားလုံးကို linda အသုံးပြုသူထံသို့ ပြောင်းလဲပေးသည်-

အခု ပိုင်ရှင်တွေက ဒီလိုပုံစံနဲ့။

[root@localhost ~]# ls -l /home
total 0
drwx------. 2 account account 62 Sep 25 21:41 account
drwx------. 2 lisa    lisa    62 Sep 25 21:42 lisa

လုပ်ကြရအောင်-

[root@localhost ~]# chown -R lisa /home/account
[root@localhost ~]#

ယခုအခါ အသုံးပြုသူ lisa သည် အကောင့်လမ်းညွှန်၏ ပိုင်ရှင်ဖြစ်လာပါပြီ-

[root@localhost ~]# ls -l /home
total 0
drwx------. 2 lisa account 62 Sep 25 21:41 account
drwx------. 2 lisa lisa    62 Sep 25 21:42 lisa

အဖွဲ့တစ်ခု၏ပိုင်ရှင်ကိုပြောင်းပါ။

အုပ်စုတစ်ခု၏ ပိုင်ဆိုင်မှုကို ပြောင်းလဲရန် နည်းလမ်းနှစ်ခုရှိသည်။ သုံးပြီး ဒါကို လုပ်နိုင်ပါတယ်။ လွမ်းတယ်ဒါပေမယ့် အထူးအမိန့်တစ်ခုရှိပါတယ်။ chgrpအဲဒါက အလုပ်ပဲ။ Command ကိုအသုံးပြုလိုပါက လွမ်းတယ်သုံး၊ . သို့မဟုတ် : အဖွဲ့နာမည်ရှေ့မှာ။

အောက်ပါ command သည် /home/account group ၏ပိုင်ရှင်တိုင်းကို account group သို့ပြောင်းသည်-

chown .account /home/account

မင်းသုံးနိုင်တယ် လွမ်းတယ် အသုံးပြုသူနှင့်/သို့မဟုတ် အဖွဲ့၏ပိုင်ရှင်ကို နည်းလမ်းများစွာဖြင့် ပြောင်းလဲရန်။ ဤသည်မှာ ဥပမာအချို့ဖြစ်သည်။

  • chown lisa myfile1 အသုံးပြုသူ lisa ကို myfile1 ၏ ပိုင်ရှင်အဖြစ် သတ်မှတ်သည်။
  • chown lisa.sales myfile အသုံးပြုသူ lisa ကို myfile ဖိုင်၏ပိုင်ရှင်အဖြစ် သတ်မှတ်ပြီး အရောင်းအဖွဲ့ကို တူညီသောဖိုင်ပိုင်ရှင်အဖြစ် သတ်မှတ်ပေးသည်။
  • chown lisa: myfile အရောင်း ယခင် command နှင့်အတူတူပင်။
  • chown .sales myfile အသုံးပြုသူ၏ပိုင်ရှင်ကို မပြောင်းလဲဘဲ အရောင်းအဖွဲ့အား myfile ၏ပိုင်ရှင်အဖြစ် သတ်မှတ်သည်။
  • chown : myfile အရောင်း ယခင် command နှင့်အတူတူပင်။

သင် command ကိုသုံးနိုင်သည်။ chgrpအဖွဲ့၏ပိုင်ရှင်ကိုပြောင်းလဲရန်။ သင်အသုံးပြုနိုင်သည့်နေရာတွင် အောက်ပါဥပမာကို သုံးသပ်ကြည့်ပါ။ chgrp အကောင့်လမ်းညွှန်၏ပိုင်ရှင်ကို အရောင်းအဖွဲ့သို့ သတ်မှတ်ပါ-

chgrp .sales /home/account

နှင့်အတူ လွမ်းတယ်, သင် option ကိုသုံးနိုင်သည်။ -R с chgrpထို့အပြင် အဖွဲ့၏ပိုင်ရှင်ကို ထပ်ခါတလဲလဲ ပြောင်းလဲပါ။

မူရင်းပိုင်ရှင်ကို နားလည်ခြင်း။

အသုံးပြုသူတစ်ဦးသည် ဖိုင်တစ်ခုဖန်တီးသည့်အခါ မူရင်းပိုင်ဆိုင်မှုကို အသုံးပြုကြောင်း သင်သတိပြုမိပေမည်။
ဖိုင်ကိုဖန်တီးသောအသုံးပြုသူသည် ၎င်းဖိုင်၏ပိုင်ရှင်ဖြစ်လာပြီး ၎င်းအသုံးပြုသူ၏အဓိကအုပ်စုသည် ၎င်းဖိုင်၏ပိုင်ရှင်အလိုအလျောက်ဖြစ်လာသည်။ ၎င်းသည် များသောအားဖြင့် အသုံးပြုသူ၏ အဓိကအုပ်စုအဖြစ် /etc/passwd ဖိုင်တွင် စာရင်းသွင်းထားသော အုပ်စုဖြစ်သည်။ သို့သော်၊ အသုံးပြုသူသည် အဖွဲ့တစ်ခုထက်ပိုသော အဖွဲ့ဝင်ဖြစ်ပါက၊ အသုံးပြုသူသည် ထိရောက်သော အဓိကအုပ်စုကို ပြောင်းလဲနိုင်သည်။

လက်ရှိ ထိရောက်သော အဓိကအုပ်စုကို ပြသရန်၊ အသုံးပြုသူသည် အမိန့်ကို အသုံးပြုနိုင်သည်။ အုပ်စုတွေ:

[root@server1 ~]# groups lisa
lisa : lisa account sales

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

အောက်တွင်ဖော်ပြထားသည်မှာ သုံးစွဲသူ linda သည် ဤအမိန့်ကို အရောင်းအ၀ယ်အဖြစ် အဓိကအုပ်စုဖြင့် မည်သို့အသုံးပြုသည်ကို ပြသသည်-

lisa@server1 ~]$ groups
lisa account sales
[lisa@server1 ~]$ newgrp sales
[lisa@server1 ~]$ groups
sales lisa account
[lisa@server1 ~]$ touch file1
[lisa@server1 ~]$ ls -l
total 0
-rw-r--r--. 1 lisa sales 0 Feb 6 10:06 file1

ထိရောက်သော ပင်မအဖွဲ့ကို ပြောင်းလဲပြီးနောက်၊ အသုံးပြုသူမှ ဖန်တီးထားသော ဖိုင်အသစ်များအားလုံးသည် ထိုအဖွဲ့ကို အဖွဲ့ပိုင်ရှင်အဖြစ် ထားရှိမည်ဖြစ်သည်။ မူလပင်မအဖွဲ့ဆက်တင်သို့ ပြန်သွားရန်၊ အသုံးပြုပါ။ ထွက်ပေါက်.

Command ကိုသုံးနိုင်စေရန် သစ်ပင်အသုံးပြုသူသည် ပင်မအဖွဲ့အဖြစ် ၎င်းတို့အသုံးပြုလိုသော အဖွဲ့၏ အဖွဲ့ဝင်ဖြစ်ရပါမည်။ ထို့အပြင်၊ command ကိုအသုံးပြုပြီးအုပ်စုတစ်ခုအတွက်အုပ်စုစကားဝှက်ကိုသုံးနိုင်သည်။ ကွမ်းခြံကုန်း. အသုံးပြုသူသည် command ကိုအသုံးပြုလျှင် သစ်ပင်သို့သော် ပစ်မှတ်အုပ်စု၏ အဖွဲ့ဝင်မဟုတ်ပါ၊ shell သည် အဖွဲ့၏စကားဝှက်အတွက် အချက်ပြသည်။ မှန်ကန်သောအုပ်စုစကားဝှက်ကို သင်ဖြည့်သွင်းပြီးနောက်၊ ထိရောက်သော အဓိကအဖွဲ့အသစ်ကို ဖွဲ့စည်းပါမည်။

အခြေခံအခွင့်အရေးစီမံခန့်ခွဲမှု

ခွင့်ပြုချက်စနစ် Linux ၁၉၇၀ ပြည့်လွန်နှစ်များတွင် တီထွင်ခဲ့သည်။ ထိုအချိန်က ကွန်ပျူတာလိုအပ်ချက်များသည် အကန့်အသတ်ရှိသောကြောင့် အခြေခံခွင့်ပြုချက်စနစ်သည် အတော်လေး အကန့်အသတ်ရှိသည်။ ဤခွင့်ပြုချက်စနစ်သည် ဖိုင်များနှင့် ဖိုင်တွဲများတွင် အသုံးချနိုင်သော ခွင့်ပြုချက်သုံးခုကို အသုံးပြုသည်။ ဤအပိုင်းတွင်၊ ဤခွင့်ပြုချက်များကို မည်သို့အသုံးပြုရမည်နှင့် ပြုပြင်မွမ်းမံရမည်ကို သင်လေ့လာရပါမည်။

Read, Write, and Execute Permissions နားလည်ခြင်း။

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

စာကြည့်တိုက်သို့ဝင်ရောက်ခွင့်လိုအပ်သော ပရိုဂရမ်ဖိုင်တစ်ခုသည် ဥပမာအားဖြင့် ထိုစာကြည့်တိုက်သို့ ဝင်ရောက်ဖတ်ရှုခွင့်ရှိရပါမည်။ ဖတ်ရှုခွင့်သည် သင်ဖိုင်များနှင့် လုပ်ဆောင်ရန် လိုအပ်သော အခြေခံအကျဆုံး ခွင့်ပြုချက်ဖြစ်ကြောင်း ဖော်ပြပါရှိသည်။

directory တစ်ခုတွင် အသုံးပြုသောအခါ၊ read permission သည် ထို directory ၏ အကြောင်းအရာများကို ပြသခွင့်ပြုသည်။ ဤ permission သည် directory ရှိ ဖိုင်များကို ဖတ်ရှုခွင့်မပြုကြောင်း သင်သတိပြုသင့်သည်။ Permissions System Linux အမွေဆက်ခံမှုကို မသိပါ၊ ဖိုင်တစ်ခုကို ဖတ်ရန် တစ်ခုတည်းသောနည်းလမ်းမှာ ထိုဖိုင်တွင် ဖတ်ရှုခွင့်ပြုချက်များကို အသုံးပြုခြင်းဖြစ်သည်။

သင်ခန့်မှန်းနိုင်သည့်အတိုင်း၊ ဖိုင်တစ်ခုတွင် အသုံးချပါက စာရေးခွင့်ပြုချက်သည် ဖိုင်သို့ စာရေးနိုင်မည်ဖြစ်သည်။ တစ်နည်းဆိုရသော် ၎င်းသည် သင့်အား ရှိပြီးသားဖိုင်များ၏ အကြောင်းအရာများကို ပြောင်းလဲနိုင်သည်။ သို့သော်၊ ၎င်းသည် သင့်အား ဖိုင်အသစ်များ ဖန်တီးရန် သို့မဟုတ် ဖျက်ရန် သို့မဟုတ် ဖိုင်ခွင့်ပြုချက်များကို ပြောင်းလဲရန် ခွင့်မပြုပါ။ ဒီလိုလုပ်ဖို့၊ သင်ဖိုင်ဖန်တီးချင်တဲ့ directory ကို စာရေးခွင့်ပြုဖို့ လိုပါတယ်။ လမ်းညွှန်များတွင်၊ ဤခွင့်ပြုချက်သည် သင့်အား လမ်းကြောင်းခွဲအသစ်များကို ဖန်တီးရန်နှင့် ဖျက်ရန်လည်း ခွင့်ပြုပါသည်။

ဖိုင်တစ်ခုကို execute လုပ်ဖို့အတွက် execute permission ဆိုတာ လိုအပ်ပါတယ်။ default အနေနဲ့ ဘယ်တော့မှ set မလုပ်ပါဘူး။ Linux ဗိုင်းရပ်စ်များကို လုံးဝနီးပါး ခံနိုင်ရည်ရှိပါသည်။ directory ကို write access ရှိသူသာ execute permissions များကို လျှောက်ထားနိုင်ပါသည်။

အောက်ပါတို့သည် အခြေခံခွင့်ပြုချက်များအသုံးပြုမှုကို အကျဉ်းချုပ်ဖော်ပြသည်-

အခွင့်အရေးများတွင် Linux (chown၊ chmod၊ SUID၊ GUID၊ sticky bit၊ ACL၊ umask)

chmod ကိုအသုံးပြုခြင်း။

ခွင့်ပြုချက်များကို စီမံခန့်ခွဲရန် အမိန့်ကို အသုံးပြုသည်။ chmod... အသုံးပြုခြင်း။ chmod အသုံးပြုသူ (အသုံးပြုသူ)၊ အဖွဲ့များ (အုပ်စု) နှင့် အခြား (အခြား) အတွက် ခွင့်ပြုချက်များကို သင်သတ်မှတ်နိုင်သည်။ သင်သည် ဤအမိန့်ကို မုဒ်နှစ်မျိုးဖြင့် သုံးနိုင်သည်- ဆွေမျိုးမုဒ်နှင့် အကြွင်းမဲ့မုဒ်။ absolute mode တွင် အခြေခံခွင့်ပြုချက်များကို သတ်မှတ်ရန် ဂဏန်းသုံးလုံးကို အသုံးပြုသည်။

အခွင့်အရေးများတွင် Linux (chown၊ chmod၊ SUID၊ GUID၊ sticky bit၊ ACL၊ umask)

ခွင့်ပြုချက်များကို သတ်မှတ်သည့်အခါ သင်လိုအပ်သည့်တန်ဖိုးကို တွက်ချက်ပါ။ အသုံးပြုသူအတွက် read/write/execute သတ်မှတ်လိုပါက၊ group အတွက် read/execute နှင့် /somefile တွင် အခြားသူများအတွက် read/execute ပြုလုပ်လိုပါက အောက်ပါ command ကိုအသုံးပြုပါ။ chmod:

chmod 755 /somefile

သုံးတဲ့အခါ chmod ဤနည်းအားဖြင့်၊ လက်ရှိခွင့်ပြုချက်အားလုံးကို သင်သတ်မှတ်ထားသည့် ခွင့်ပြုချက်များဖြင့် အစားထိုးသည်။

လက်ရှိခွင့်ပြုချက်များနှင့် ပတ်သက်သော ခွင့်ပြုချက်များကို ပြောင်းလဲလိုပါက၊ သင်သည် အသုံးပြုနိုင်သည်။ chmod ဆွေမျိုးမုဒ်တွင်။ အသုံးပြုခြင်း။ chmod နှိုင်းရမုဒ်တွင် သင်ဘာလုပ်ချင်သည်ကို ညွှန်ပြရန် အညွှန်းသုံးခုဖြင့် အလုပ်လုပ်သည်-

  1. ပထမဦးစွာ သင်သည် ခွင့်ပြုချက်များကို ပြောင်းလဲလိုသူအား သင်သတ်မှတ်ပါ။ ၎င်းကိုလုပ်ဆောင်ရန်၊ အသုံးပြုသူအကြား ရွေးချယ်နိုင်သည် (u) အဖွဲ့ (g) နှင့် အခြား (o).
  2. ထို့နောက် သင်သည် လက်ရှိမုဒ်မှ ခွင့်ပြုချက်များကို ထည့်ရန် သို့မဟုတ် ဖယ်ရှားရန် သို့မဟုတ် ၎င်းတို့ကို လုံးဝသတ်မှတ်ရန် ကြေညာချက်ကို အသုံးပြုပါ။
  3. အဆုံးမှာ မင်းသုံးတယ်။ r, w и xသင်သတ်မှတ်လိုသောခွင့်ပြုချက်များကို သတ်မှတ်ရန်။

ဆွေမျိုးမုဒ်တွင် ခွင့်ပြုချက်များကို ပြောင်းလဲသည့်အခါ၊ အရာဝတ္ထုအားလုံးအတွက် ခွင့်ပြုချက်ကို ထည့်ရန် သို့မဟုတ် ဖယ်ရှားရန် "သို့" အပိုင်းကို ကျော်နိုင်သည်။ ဥပမာအားဖြင့်၊ ဤ command သည် အသုံးပြုသူအားလုံးအတွက် execute ခွင့်ပြုချက်ကို ပေါင်းထည့်သည်-

chmod +x somefile

ဆွေမျိုးမုဒ်တွင် အလုပ်လုပ်သောအခါ၊ သင်သည် ပိုမိုရှုပ်ထွေးသော command များကို အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်၊ ဤအမိန့်သည် အုပ်စုတစ်ခုသို့ စာရေးခွင့်ပြုချက်ကို ပေါင်းထည့်ပြီး အခြားသူများအတွက် ဖတ်ခွင့်ကို ဖယ်ရှားသည်-

chmod g+w,o-r somefile

အသုံးပြုခြင်း chmod -R o+rx /data သင်သည် လမ်းညွှန်ချက်အားလုံးအပြင် /data directory ရှိ ဖိုင်များအားလုံးကို execute permission ပေးထားသည်။ ဖိုင်များအတွက်သာမက ဖိုင်များအတွက်သာမက လမ်းညွှန်များအတွက်သာ ခွင့်ပြုချက်သတ်မှတ်ရန်၊ အသုံးပြုပါ။ chmod -R o+ rX /data.

ဖိုင်သည် အချို့သော အရာဝတ္ထုများအတွက် execute ခွင့်ပြုချက်ကို သတ်မှတ်ပြီးသားမဟုတ်ပါက ဖိုင်များသည် execute ခွင့်ပြုချက်မရရှိကြောင်း စာလုံးကြီး X က သေချာစေသည်။ ၎င်းသည် X ကို execute ခွင့်ပြုချက်များကို ကိုင်တွယ်ဖြေရှင်းရန် ပိုမိုထက်မြက်သောနည်းလမ်းဖြစ်စေသည်။ ၎င်းသည် မလိုအပ်သော ဖိုင်များတွင် ဤခွင့်ပြုချက်ကို သတ်မှတ်ခြင်းမှ ရှောင်ကြဉ်ပါမည်။

သက်တမ်းတိုးပိုင်ခွင့်

သင်ဖတ်ပြီးသော အခြေခံခွင့်ပြုချက်များအပြင်၊ Linux တိုးချဲ့ခွင့်ပြုချက်အစုံလည်း ရှိပါသည်။ ၎င်းတို့သည် သင် default အနေဖြင့် သတ်မှတ်ထားသော ခွင့်ပြုချက်များ မဟုတ်သော်လည်း တစ်ခါတစ်ရံတွင် အသုံးဝင်သော အပိုတစ်ခု ပေးစွမ်းနိုင်ပါသည်။ ဤအပိုင်းတွင် ၎င်းတို့ကား အဘယ်နည်း၊ ၎င်းတို့ကို မည်သို့ configure လုပ်ရမည်ကို သင်လေ့လာရပါမည်။

SUID၊ GUID နှင့် Sticky Bit တိုးချဲ့ခွင့်ပြုချက်များကို နားလည်ခြင်း။

အဆင့်မြင့်ခွင့်ပြုချက်သုံးမျိုးရှိသည်။ ယင်းတို့အနက် ပထမအချက်မှာ အသုံးပြုသူသတ်မှတ်မှုစနစ် (SUID) ကို သတ်မှတ်ရန် ခွင့်ပြုချက်ဖြစ်သည်။ အချို့သော အထူးကိစ္စများတွင်၊ သင်သည် ဤခွင့်ပြုချက်ကို အကောင်အထည်ဖော်နိုင်သော ဖိုင်များတွင် အသုံးပြုနိုင်သည်။ ပုံမှန်အားဖြင့်၊ executable လုပ်နိုင်သောအသုံးပြုသူတစ်ဦးသည် ၎င်းတို့၏ကိုယ်ပိုင်ခွင့်ပြုချက်များဖြင့် ထိုဖိုင်ကိုလုပ်ဆောင်သည်။

သာမန်အသုံးပြုသူများအတွက်၊ ၎င်းသည် များသောအားဖြင့် ပရိုဂရမ်၏အသုံးပြုမှုကို ကန့်သတ်ထားသည်ဟု ဆိုလိုသည်။ သို့သော်လည်း၊ အချို့သောကိစ္စများတွင်၊ အသုံးပြုသူသည် တိကျသောအလုပ်တစ်ခုလုပ်ဆောင်ရန်အတွက်သာ အထူးခွင့်ပြုချက်များ လိုအပ်ပါသည်။

ဥပမာအားဖြင့်၊ အသုံးပြုသူတစ်ဦးသည် ၎င်းတို့၏ စကားဝှက်ကို ပြောင်းလဲရန် လိုအပ်သည့် အခြေအနေတစ်ခုကို သုံးသပ်ကြည့်ပါ။ ဒါကိုလုပ်ဖို့၊ အသုံးပြုသူက /etc/shadow ဖိုင်မှာ သူတို့ရဲ့ စကားဝှက်အသစ်ကို ရေးရပါမယ်။ သို့သော်၊ ဤဖိုင်ကို root မဟုတ်သောအသုံးပြုသူများသည် ရေးသား၍မရပါ-

root@hnl ~]# ls -l /etc/shadow
----------. 1 root root 1184 Apr 30 16:54 /etc/shadow

SUID ခွင့်ပြုချက်သည် ဤပြဿနာအတွက် အဖြေတစ်ခု ပေးပါသည်။ /usr/bin/passwd utility သည် ဤခွင့်ပြုချက်ကို မူရင်းအတိုင်း အသုံးပြုသည်။ ဆိုလိုသည်မှာ စကားဝှက်ကို ပြောင်းသောအခါ၊ အသုံးပြုသူသည် /etc/shadow ဖိုင်သို့ စာရေးရန် ခွင့်ပြုသည့် ယာယီ root ဖြစ်သွားသည်။ SUID ခွင့်ပြုချက်ဖြင့် ကြည့်ရှုနိုင်ပါသည်။ ls-l ဘယ်လို s ပုံမှန်မြင်တွေ့ဖို့ မျှော်လင့်ရမယ့် အနေအထားမှာ x စိတ်ကြိုက်ခွင့်ပြုချက်များအတွက်-

[root@hnl ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 32680 Jan 28 2010 /usr/bin/passwd

SUID ခွင့်ပြုချက်သည် အသုံးဝင်ပုံပေါ်နိုင်သည် (အချို့ကိစ္စများတွင် ၎င်းသည်) ဖြစ်သော်လည်း တစ်ချိန်တည်းမှာပင် ၎င်းသည် အန္တရာယ်ရှိနိုင်ချေရှိသည်။ မှန်ကန်စွာ မအသုံးချပါက၊ သင်သည် မတော်တဆ root ခွင့်ပြုချက်များကို ပေးဆောင်နိုင်သည်။ ထို့ကြောင့် ဂရုတစိုက်ဖြင့်သာ အသုံးပြုရန် အကြံပြုအပ်ပါသည်။

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

ဒုတိယ အထူးခွင့်ပြုချက်မှာ အုပ်စုသတ်မှတ်မှု (SGID) ဖြစ်သည်။ ဤခွင့်ပြုချက်တွင် သက်ရောက်မှုနှစ်ခုရှိသည်။ executable ဖိုင်တစ်ခုသို့ အသုံးချသည့်အခါ၊ ၎င်းသည် ဖိုင်ကို လုပ်ဆောင်သည့် အသုံးပြုသူကို ဖိုင်အုပ်စုပိုင်ရှင်၏ ခွင့်ပြုချက်ပေးသည်။ ထို့ကြောင့် SGID သည် SUID နှင့် တူညီသောအရာကို အနည်းနှင့်အများပြုလုပ်နိုင်သည်။ သို့သော်၊ SGID ကို ဤရည်ရွယ်ချက်အတွက် လက်တွေ့တွင် အသုံးမချပါ။

SUID ခွင့်ပြုချက်ကဲ့သို့ပင်၊ SGID ကို ပုံသေဆက်တင်အဖြစ် အချို့သောစနစ်ဖိုင်များတွင် အသုံးပြုပါသည်။

လမ်းညွှန်တစ်ခုသို့ အသုံးချသည့်အခါ၊ SGID သည် ၎င်းကို ဖိုင်များနှင့် ဖိုင်လမ်းကြောင်းခွဲများအတွက် ပုံသေအုပ်စုပိုင်ရှင်ကို သတ်မှတ်ရန် ၎င်းကို သင်အသုံးပြုနိုင်သောကြောင့် ၎င်းကို အသုံးပြုနိုင်သည်။ ပုံမှန်အားဖြင့်၊ အသုံးပြုသူတစ်ဦးသည် ဖိုင်တစ်ခုဖန်တီးသောအခါ၊ ၎င်းတို့၏ ထိရောက်သော အဓိကအုပ်စုကို ထိုဖိုင်အတွက် အုပ်စုပိုင်ရှင်အဖြစ် သတ်မှတ်သည်။

ဒါက အမြဲတမ်း သိပ်အသုံးဝင်တာမဟုတ်ပါဘူး၊ အထူးသဖြင့် Red Hat အသုံးပြုသူတွေ/CentOS အဓိကအဖွဲ့ကို အသုံးပြုသူနှင့် အမည်တူသော အဖွဲ့တစ်ခုသို့ သတ်မှတ်ထားပြီး အသုံးပြုသူသည် တစ်ဦးတည်းသော အဖွဲ့ဝင်ဖြစ်သည်။ ဆိုလိုသည်မှာ မူရင်းအားဖြင့် အသုံးပြုသူဖန်တီးသော ဖိုင်များကို အဖွဲ့တွင် မျှဝေထားမည်ဖြစ်သည်။

အသုံးပြုသူများ linda နှင့် lori တို့သည် စာရင်းကိုင်တွင် အလုပ်လုပ်ကြပြီး အဖွဲ့တစ်ခု၏ အဖွဲ့ဝင်များဖြစ်သည့် အခြေအနေတစ်ခုကို မြင်ယောင်ကြည့်ပါ။ အကောင့်. ပုံသေအားဖြင့်၊ ဤအသုံးပြုသူများသည် ၎င်းတို့သည် တစ်ခုတည်းသောအဖွဲ့ဝင်ဖြစ်သည့် သီးသန့်အဖွဲ့၏အဖွဲ့ဝင်များဖြစ်သည်။ သို့သော်၊ အသုံးပြုသူနှစ်ဦးစလုံးသည် အကောင့်အုပ်စု၏အဖွဲ့ဝင်များဖြစ်ကြသော်လည်း ဒုတိယအုပ်စုကန့်သတ်ချက်တစ်ခုအနေဖြင့်လည်းဖြစ်သည်။

မူရင်းအခြေအနေမှာ ဤအသုံးပြုသူများမှ ဖိုင်တစ်ခုဖန်တီးသောအခါတွင် အဓိကအုပ်စုသည် ပိုင်ရှင်ဖြစ်လာသည်။ ထို့ကြောင့်၊ မူရင်းအားဖြင့်၊ linda သည် lori မှဖန်တီးထားသောဖိုင်များကို ဝင်ရောက်ကြည့်ရှုနိုင်မည်ဖြစ်ပြီး၊ အပြန်အလှန်အားဖြင့် မရနိုင်ပါ။ သို့သော်၊ အကယ်၍ သင်သည် မျှဝေထားသော အဖွဲ့လမ်းညွှန်တစ်ခုကို ဖန်တီးပါက (ပြောပါ /groups/account) နှင့် SGID ခွင့်ပြုချက်အား ထိုလမ်းညွှန်တွင် အသုံးချကြောင်း သေချာစေကာမူ အဖွဲ့အကောင့်ကို ထိုလမ်းညွှန်အတွက် အဖွဲ့ပိုင်ရှင်အဖြစ် သတ်မှတ်ပါက၊ ထိုလမ်းညွှန်တွင် ဖန်တီးထားသော ဖိုင်များအားလုံးနှင့် အားလုံးကို၊ ၎င်း၏ လမ်းကြောင်းခွဲများမှ၊ မူရင်းအတိုင်း အုပ်စုပိုင်ရှင်အဖြစ် အဖွဲ့အကောင့်ကိုလည်း ရယူပါ။

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

အထွက်တွင် ပြထားသည့် SGID ခွင့်ပြုချက် ls-l ဘယ်လို s အဖွဲ့တစ်ခုကို လုပ်ဆောင်ရန် ပုံမှန်အားဖြင့် သင်တွေ့ရမည့် အနေအထားတွင်-

[root@hnl data]# ls -ld account
drwxr-sr-x. 2 root account 4096 Apr 30 21:28 account

အထူးခွင့်ပြုချက်၏တတိယမှာ ကပ်စေးနည်းခြင်း ဖြစ်သည်။ ဤခွင့်ပြုချက်သည် ဖိုင်များကို မတော်တဆ ဖျက်ပစ်ခြင်းမှ ကာကွယ်ရန်အတွက် အသုံးပြုသူအများအပြားသည် တူညီသော လမ်းညွှန်သို့ ဝင်ရောက်ခွင့်ရှိသည့် ပတ်ဝန်းကျင်တွင် အသုံးဝင်သည်။ စတစ်ကီဘစ်ကို အသုံးပြုပါက၊ အသုံးပြုသူသည် ဖိုင်ပါရှိသော ဖိုင် သို့မဟုတ် လမ်းညွှန်၏အသုံးပြုသူဖြစ်ပါက ဖိုင်တစ်ခုကိုသာ ဖျက်နိုင်သည်။ ထို့ကြောင့်၊ ၎င်းကို /tmp directory အတွက် မူရင်းခွင့်ပြုချက်အဖြစ် အသုံးပြုပြီး အများသူငှာ အဖွဲ့လမ်းညွှန်များအတွက်လည်း အသုံးဝင်နိုင်ပါသည်။

sticky bit မပါဘဲ၊ user သည် directory တစ်ခုတွင် ဖိုင်များကို ဖန်တီးနိုင်လျှင် ထို directory မှ ဖိုင်များကို ဖျက်နိုင်သည်။ အများသူငှာ အုပ်စုလိုက် ပတ်ဝန်းကျင်တွင် ဤအရာသည် စိတ်အနှောင့်အယှက်ဖြစ်နိုင်သည်။ /data/account directory သို့ စာရေးခွင့်များ ရှိပြီး အကောင့်အဖွဲ့၏ အဖွဲ့ဝင်ဖြစ်ခြင်းဖြင့် ထိုခွင့်ပြုချက်များကို ရယူသည့် သုံးစွဲသူ linda နှင့် lori တို့ကို မြင်ယောင်ကြည့်ပါ။ ထို့ကြောင့်, linda သည် lori မှဖန်တီးထားသောဖိုင်များနှင့်အပြန်အလှန်ဖျက်နိုင်သည်။

စတစ်ကီဘစ်ကို သင်အသုံးပြုသောအခါတွင်၊ အသုံးပြုသူသည် အောက်ပါအခြေအနေများအနက်မှတစ်ခုမှန်ပါက ဖိုင်များကိုသာ ဖျက်နိုင်သည်-

  • အသုံးပြုသူသည် ဖိုင်၏ပိုင်ရှင်ဖြစ်သည်။
  • အသုံးပြုသူသည် ဖိုင်တည်ရှိရာ လမ်းညွှန်၏ ပိုင်ရှင်ဖြစ်သည်။

အသုံးပြုခြင်း ls-lကပ်စေးနဲသော အရာကို မြင်နိုင်သည်။ t အခြားသူများအတွက် ကွပ်မျက်ခွင့်ပြုချက်ကို သင်ပုံမှန်မြင်ရမည့် အနေအထားတွင်-

[root@hnl data]# ls -ld account/
drwxr-sr-t. 2 root account 4096 Apr 30 21:28 account/

တိုးချဲ့လုပ်ပိုင်ခွင့်များကို ကျင့်သုံးခြင်း။

SUID၊ SGID နှင့် sticky bit ကိုသုံးရန် သင်လည်းသုံးနိုင်သည်။ chmod. SUID တွင် ဂဏန်းတန်ဖိုး 4 ၊ SGID တွင် ဂဏန်းတန်ဖိုး 2 ရှိပြီး sticky bit တွင် ဂဏန်းတန်ဖိုး 1 ဖြစ်သည်။

ဤခွင့်ပြုချက်များကို သင်အသုံးပြုလိုပါက၊ သင်သည် ဂဏန်းလေးလုံးအငြင်းအခုံတစ်ခုကို ထည့်ရပါမည်။ chmodအထူးခွင့်ပြုချက်များကို ရည်ညွှန်းသော ပထမဂဏန်းသည် အထူးခွင့်ပြုချက်များဖြစ်သည်။ ဥပမာအားဖြင့်၊ အောက်ပါစာကြောင်းသည် လမ်းညွှန်တွင် SGID ခွင့်ပြုချက်ကို ပေါင်းထည့်မည်ဖြစ်ပြီး အသုံးပြုသူအတွက် rwx နှင့် အဖွဲ့နှင့် အခြားသူများအတွက် rx ကို သတ်မှတ်ပေးပါမည်။

chmod 2755 /somedir

အလုပ်မလုပ်မီ သတ်မှတ်ထားသော လက်ရှိခွင့်ပြုချက်များကို သင်ကြည့်ရှုရန်လိုအပ်ပါက ၎င်းသည် လက်တွေ့မကျပါ။ chmod absolute mode တွင်။ (သင်က ခွင့်ပြုချက်များကို ထပ်ရေးခြင်းမပြုပါက အန္တရာယ်ဖြစ်စေပါသည်။) ထို့ကြောင့် အထူးခွင့်ပြုချက်များကို သင်အသုံးပြုရန်လိုအပ်ပါက ဆွေမျိုးမုဒ်တွင် လုပ်ဆောင်ရန် ကျွန်ုပ်အကြံပြုလိုပါသည်-

  1. SUID အသုံးပြုရန်အတွက် chmod u+s.
  2. SGID အသုံးပြုမှုအတွက် chmod g+s.
  3. ကပ်စေးနဲသောအသုံးအတွက် chmod +tသင်ခွင့်ပြုချက်များကို သတ်မှတ်လိုသော ဖိုင် သို့မဟုတ် လမ်းညွှန်၏နောက်တွင်။

ဇယားသည် အထူးခွင့်ပြုချက်များကို စီမံခန့်ခွဲခြင်းနှင့် ပတ်သက်၍ သင်သိလိုသည့်အရာအားလုံးကို အကျဉ်းချုပ်ဖော်ပြထားသည်။

အခွင့်အရေးများတွင် Linux (chown၊ chmod၊ SUID၊ GUID၊ sticky bit၊ ACL၊ umask)

အထူးအခွင့်အရေးများဖြင့် လုပ်ဆောင်ခြင်း ဥပမာ

ဤဥပမာတွင်၊ သင်သည် မျှဝေထားသောအဖွဲ့လမ်းညွှန်တွင် ဖိုင်များမျှဝေရန် အဖွဲ့၀င်များအတွက် ပိုမိုလွယ်ကူစေရန် အထူးခွင့်ပြုချက်များကို သင်အသုံးပြုပါသည်။ သင်သည် ID bit ကို set group ID နှင့် sticky bit သို့ သတ်မှတ်ပေးထားပြီး ၎င်းတို့ကို သတ်မှတ်ပြီးသည်နှင့် အဖွဲ့၀င်များ အတူတကွလုပ်ဆောင်ရလွယ်ကူစေရန် အင်္ဂါရပ်များကို ထည့်သွင်းထားသည်ကို သင်တွေ့မြင်ရပါသည်။

  1. သင် linda အသုံးပြုသူဖြစ်သည့် terminal ကိုဖွင့်ပါ။ command ဖြင့် user တစ်ခုကို ဖန်တီးနိုင်သည်။ လင်ဒါစကားဝှက်ထည့်ပါ။ passwd လင်ဒါ.
  2. command ဖြင့် root ရှိ /data directory နှင့် /data/sales subdirectory ကိုဖန်တီးပါ။ mkdir -p /data/sales. ပြီးအောင် cd /data/salesအရောင်းလမ်းညွှန်သို့သွားပါ။ ပြီးအောင် linda1 ထိပါ။ и linda2 ထိပါ။linda ပိုင်ဆိုင်သော ဗလာဖိုင်နှစ်ခု ဖန်တီးရန်။
  3. စီရင် su-lisa လက်ရှိအသုံးပြုသူကို အရောင်းအဖွဲ့၏အဖွဲ့ဝင်တစ်ဦးဖြစ်သည့် သုံးစွဲသူ lisa သို့ ပြောင်းရန်။
  4. စီရင် cd /data/sales ပြီးတော့ အဲဒီ directory ကနေ execute ပေါ့။ ls-l. linda အသုံးပြုသူမှ ဖန်တီးထားပြီး linda အဖွဲ့မှ ဖိုင်နှစ်ခုကို သင်တွေ့ရပါမည်။ ပြီးအောင် rm -f linda*. ၎င်းသည် ဖိုင်နှစ်ခုလုံးကို ဖယ်ရှားပါမည်။
  5. စီရင် lisa1 ကိုထိပါ။ и lisa2 ကိုထိပါ။အသုံးပြုသူ lisa ပိုင်ဆိုင်သော ဖိုင်နှစ်ခုကို ဖန်တီးရန်။
  6. စီရင် su- သင်၏အခွင့်ထူးများကို root လုပ်ရန် မြှင့်တင်ရန်။
  7. စီရင် chmod g+s၊o+t /data/salesgroup identifier (GUID) bit နှင့် shared group directory တွင် sticky bit ကို သတ်မှတ်ရန်။
  8. စီရင် su-linda. ပြီးရင် လုပ်ပါ။ linda3 ထိပါ။ и linda4 ထိပါ။. သင်ဖန်တီးထားသော ဖိုင်နှစ်ဖိုင်သည် /data/sales directory ၏ အုပ်စုပိုင်ရှင်ဖြစ်သည့် အရောင်းအဖွဲ့မှ ပိုင်ဆိုင်ကြောင်း ယခု သင်တွေ့မြင်ရပါမည်။
  9. စီရင် rm -rf lisa*. သင်သည် ဤဖိုင်များ၏ ပိုင်ရှင်မဟုတ်သောကြောင့် ဤဖိုင်များကို linda အသုံးပြုသူကိုယ်စား ဖျက်ပစ်ရန် sticky bit က တားဆီးပေးပါသည်။ linda အသုံးပြုသူသည် /data/sales directory ၏ပိုင်ရှင်ဖြစ်ပါက၊ ၎င်းတို့သည် ဤဖိုင်များကို မည်သို့ပင်ဖြစ်စေ ဖျက်နိုင်သည်ကို သတိပြုပါ။

ACL စီမံခန့်ခွဲမှု (setfacl, getfacl) Linux

အထက်တွင်ဆွေးနွေးထားသော တိုးချဲ့အခွင့်အရေးများသည် အသုံးဝင်သောလုပ်ဆောင်ချက်ကို မည်သို့ထည့်သွင်းပေးသော်လည်း Linux ခွင့်ပြုချက်များဖြင့် အလုပ်လုပ်ပါသည်၊ ၎င်းသည် ဖိုင်တစ်ဖိုင်တွင် အသုံးပြုသူ တစ်ဦးထက်ပို၍ သို့မဟုတ် အဖွဲ့တစ်ဖွဲ့ထက်ပို၍ ခွင့်ပြုချက်များ ပေးခွင့်မပြုပါ။

ဝင်ရောက်ထိန်းချုပ်မှုစာရင်းများတွင် ဤအင်္ဂါရပ်ကို ပေးဆောင်သည်။ ထို့အပြင်၊ ၎င်းတို့သည် စီမံခန့်ခွဲသူများကို ပုံသေခွင့်ပြုချက်များကို ရှုပ်ထွေးသောနည်းလမ်းဖြင့် သတ်မှတ်ခွင့်ပြုသည်၊၊ သတ်မှတ်ခွင့်ပြုချက်များသည် လမ်းညွှန်မှ လမ်းညွှန်တစ်ခုအထိ ကွဲပြားနိုင်သည်။

ACLs ကိုနားလည်ခြင်း။

ACL စနစ်ခွဲသည် သင့်ဆာဗာအတွက် ကောင်းမွန်သောလုပ်ဆောင်နိုင်စွမ်းကို ပေါင်းထည့်သော်လည်း၊ ၎င်းတွင် အားနည်းချက်တစ်ခုရှိသည်- အသုံးဝင်မှုအားလုံးက ၎င်းကိုမပံ့ပိုးပါ။ ထို့ကြောင့်၊ သင်သည် ဖိုင်များကို ကူးယူခြင်း သို့မဟုတ် ရွှေ့သည့်အခါ သင်၏ ACL ဆက်တင်များကို ဆုံးရှုံးနိုင်ပြီး သင်၏ အရန်ဆော့ဖ်ဝဲသည် သင်၏ ACL ဆက်တင်များကို အရန်သိမ်းရန် ပျက်ကွက်သွားနိုင်သည်။

tar utility သည် ACL များကိုမပံ့ပိုးပါ။ အရန်ကူးယူဖန်တီးသည့်အခါ ACL ဆက်တင်များ မပျောက်ကြောင်း သေချာစေရန်၊ အသုံးပြုပါ။ ကြယ် ကတ္တရာစေးအစား။ ကြယ် ကတ္တရာစေးကဲ့သို့ တူညီသောရွေးချယ်မှုများဖြင့် အလုပ်လုပ်သည်။ ၎င်းသည် ACL ဆက်တင်များအတွက် အထောက်အပံ့ကို ထည့်ပေးရုံသာဖြစ်သည်။

ACLs များဖြင့်လည်း အရန်သိမ်းနိုင်သည်။ getfaclsetfacl အမိန့်ကို အသုံးပြု၍ ပြန်လည်ရယူနိုင်သည်။ အရန်ကူးယူဖန်တီးရန်၊ အသုံးပြုပါ။ getfacl -R /directory > file.acls. အရန်ဖိုင်တစ်ခုမှ ဆက်တင်များကို ပြန်လည်ရယူရန်၊ အသုံးပြုပါ။ setfacl --restore=file.acl.

အချို့သော ကိရိယာများ၏ ပံ့ပိုးမှု အားနည်းခြင်းသည် ပြဿနာ မဖြစ်သင့်ပါ။ ACL များကို ဖိုင်တစ်ခုချင်းစီထက် တည်ဆောက်ပုံဆိုင်ရာတိုင်းတာမှုတစ်ခုအဖြစ် လမ်းညွှန်များတွင် မကြာခဏအသုံးပြုကြသည်။
ထို့ကြောင့်၊ ဖိုင်စနစ်ရှိ စမတ်ကျသောနေရာများတွင် ၎င်းတို့ထဲမှ အများအပြားရှိမည်မဟုတ်သော်လည်း အနည်းငယ်မျှသာဖြစ်သည်။ ထို့ကြောင့်၊ သင်နှင့်အတူအလုပ်လုပ်ခဲ့သော မူရင်း ACL များကို ပြန်လည်ရယူခြင်းသည် သင့်အရန်ဆော့ဖ်ဝဲကို ပံ့ပိုးမပေးသော်လည်း ၎င်းတို့ကို ပြန်လည်ရယူခြင်းသည် အတော်လေး လွယ်ကူပါသည်။

ACLs အတွက် ဖိုင်စနစ်ပြင်ဆင်ခြင်း။

ACLs များနှင့် စတင်မလုပ်ဆောင်မီ၊ သင်သည် ACLs များကို ပံ့ပိုးရန်အတွက် သင်၏ ဖိုင်စနစ်အား ပြင်ဆင်ရန် လိုအပ်နိုင်သည်။ ဖိုင်စနစ်၏ မက်တာဒေတာကို သက်တမ်းတိုးရန် လိုအပ်သောကြောင့်၊ ဖိုင်စနစ်တွင် ACL များအတွက် အမြဲတမ်း ပုံသေပံ့ပိုးမှု မရှိပါ။ ဖိုင်စနစ်အတွက် ACLs ကို စနစ်ထည့်သွင်းသည့်အခါ "operation not supported" မက်ဆေ့ချ်ကို ရရှိပါက၊ သင့်ဖိုင်စနစ်သည် ACLs များကို ပံ့ပိုးမည်မဟုတ်ပါ။

၎င်းကိုဖြေရှင်းရန်သင်သည် option ကိုထည့်ရန်လိုအပ်သည်။ acl mount /etc/fstab တွင် မူရင်းအတိုင်း ဖိုင်စနစ်အား ACL ပံ့ပိုးမှုဖြင့် တပ်ဆင်ထားသည်။

setfacl နှင့် getfacl ဖြင့် ACL ဆက်တင်များကို ပြောင်းလဲခြင်းနှင့် ကြည့်ရှုခြင်း။

ACL ကိုသတ်မှတ်ရန်သင် command ကိုလိုအပ်သည်။ ။. လက်ရှိ ACL ဆက်တင်များကိုကြည့်ရှုရန်၊ သင်လိုအပ်သည်။ getfacl. အသင်းအဖွဲ့ ls-l လက်ရှိ ACL များကို မပြပါ။ ၎င်းသည် ACL များသည် ဖိုင်နှင့်လည်း သက်ဆိုင်ကြောင်း ညွှန်ပြသော ခွင့်ပြုချက်စာရင်း၏နောက်တွင် + ကိုပြသည်။

ACLs မသတ်မှတ်မီ၊ လက်ရှိ ACL ဆက်တင်များကို အမြဲပြသရန် စိတ်ကူးကောင်းတစ်ခုဖြစ်သည်။ getfacl. အောက်ဖော်ပြပါ ဥပမာတွင်၊ ပြထားသည့်အတိုင်း လက်ရှိခွင့်ပြုချက်များကို သင်တွေ့မြင်နိုင်ပါသည်။ ls-l, နှင့်လည်းပြထားသကဲ့သို့ getfacl. အနီးကပ်ကြည့်မယ်ဆိုရင် ပြထားတဲ့ အချက်အလက်တွေက အတူတူပဲဆိုတာ တွေ့ရပါလိမ့်မယ်။

[root@server1 /]# ls -ld /dir
drwxr-xr-x. 2 root root 6 Feb 6 11:28 /dir
[root@server1 /]# getfacl /dir
getfacl: Removing leading '/' from absolute path names
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

အမိန့်ကို အကောင်အထည်ဖော်ခြင်း၏ ရလဒ်ဖြစ်သည်။ getfacl အောက်တွင် ခွင့်ပြုချက်များကို မတူညီသော အရာသုံးမျိုးအတွက် ပြသထားသည်- အသုံးပြုသူ၊ အဖွဲ့နှင့် အခြားအရာများ။ အခုလည်း အရောင်းအဖွဲ့ကို ဖတ်ရှုပြီး ခွင့်ပြုချက်ပေးဖို့ ACL တစ်ခုကို ထည့်လိုက်ရအောင်။ ဒီအတွက် အမိန့်ပေးတယ်။ setfacl -mg:အရောင်း:rx /dir. ဒီအသင်းမှာ -m လက်ရှိ ACL ဆက်တင်များကို ပြောင်းလဲရန် လိုအပ်ကြောင်း ညွှန်ပြသည်။ ပြီးနောက် g:အရောင်း:rx read-execute ACL ကို သတ်မှတ်ရန် command ကို ပြောသည် (rxအဖွဲ့အတွက် (g) အရောင်း။ လက်ရှိ ACL ဆက်တင်များကို ပြောင်းလဲပြီးနောက် အောက်တွင် command သည် မည်သို့သော ပုံသဏ္ဌာန်ရှိသည့်အပြင် getfacl command ၏ output ကိုလည်း တွေ့မြင်နိုင်ပါသည်။

[root@server1 /]# setfacl -m g:sales:rx /dir
[root@server1 /]# getfacl /dir
getfacl: Removing leading '/' from absolute path names
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
group:sales:r-x
mask::r-x
other::r-x

ယခု ACL အဖွဲ့ကို မည်သို့သတ်မှတ်ရမည်ကို သင်နားလည်လာသောအခါတွင်၊ အသုံးပြုသူများနှင့် အခြားအသုံးပြုသူများအတွက် ACL များကို နားလည်ရန် လွယ်ကူသွားပါပြီ။ ဥပမာ၊ အမိန့် setfacl -mu:linda:rwx /data ပိုင်ရှင်ဖြစ်စေ သို့မဟုတ် လက်ရှိပိုင်ရှင်၏တာဝန်ကို မပြောင်းလဲဘဲ /data directory တွင် linda အသုံးပြုသူကို ခွင့်ပြုချက်ပေးသည်။

အဖွဲ့ ။ အင်္ဂါရပ်များနှင့် ရွေးချယ်စရာများစွာရှိသည်။ တဦးတည်းရွေးချယ်မှုအထူးသဖြင့်အရေးကြီးပါသည်, ဘောင် -R. အသုံးပြုပါက၊ ရွေးချယ်ခွင့်သည် သင် ACL ကို သတ်မှတ်သည့် လမ်းညွှန်တွင် လက်ရှိရှိနေသည့် ဖိုင်များနှင့် ဖိုင်တွဲခွဲများအားလုံးအတွက် ACL ကို သတ်မှတ်ပေးသည်။ ရှိပြီးသားလမ်းကြောင်းများအတွက် ACLs ကိုပြောင်းလဲသောအခါတွင် သင်သည် ဤရွေးချယ်မှုကို အမြဲအသုံးပြုရန် အကြံပြုထားသည်။

Default ACLs များဖြင့် အလုပ်လုပ်ခြင်း။

ACLs ကိုအသုံးပြုခြင်း၏အကျိုးကျေးဇူးများထဲမှတစ်ခုမှာ directory တစ်ခုရှိ သုံးစွဲသူအများအပြား သို့မဟုတ် အုပ်စုများကို ခွင့်ပြုချက်ပေးနိုင်သည်။ နောက်ထပ်အကျိုးခံစားခွင့်မှာ မူရင်း ACLs များဖြင့် လုပ်ဆောင်ခြင်းဖြင့် အမွေဆက်ခံမှုကို သင်ဖွင့်နိုင်ခြင်းဖြစ်သည်။

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

ဒါကို သိဖို့ အရေးကြီးတယ်။ တူညီသောလမ်းညွှန်ချက်သို့ဝင်ရောက်ရန် အသုံးပြုသူအများအပြား သို့မဟုတ် အုပ်စုများကို configure လုပ်ရန် ACL ကိုအသုံးပြုလိုပါက ACL ကို နှစ်ကြိမ်သတ်မှတ်ရပါမည်။ ပထမဆုံးအသုံးပြုပါ။ setfacl -R -mလက်ရှိဖိုင်များအတွက် ACLs ကိုပြောင်းလဲရန်။ ပြီးရင် သုံးပါ။ setfacl-md-ဖန်တီးမည့် အင်္ဂါရပ်များအားလုံးကို ဂရုစိုက်ရန်။

ပုံသေ ACL ကို သတ်မှတ်ရန် သင်သည် ရွေးချယ်ခွင့်ကို ထည့်သွင်းရန် လိုအပ်ပါသည်။ d ရွေးချယ်မှုပြီးနောက် -m (အော်ဒါ အရေးကြီးတယ်။) ဒါကြောင့် သုံးပါ။ setfacl -md:g:sales:rx /dataအကယ်၍ သင်သည် အုပ်စုအရောင်းအား /data directory တွင် ဖန်တီးထားသမျှကို ဖတ်ရှုပြီး လုပ်ဆောင်စေလိုလျှင်၊

ပုံသေ ACL များကို အသုံးပြုသောအခါ၊ အခြားသူများအတွက် ACLs များကို သတ်မှတ်ရာတွင်လည်း အသုံးဝင်နိုင်ပါသည်။ အခြားသူများအသုံးပြုနေသော ခွင့်ပြုချက်များကိုလည်း သင်ပြောင်းလဲနိုင်သောကြောင့် ၎င်းသည် များသောအားဖြင့် အဓိပ္ပါယ်မရှိပေ။ chmod. သို့သော် သင်မလုပ်နိုင်သည့်အရာ chmod၊ ဖန်တီးထားသမျှ ဖိုင်အသစ်တိုင်းအတွက် အခြားအသုံးပြုသူများကို ပေးအပ်ရမည့် အခွင့်အရေးများကို သတ်မှတ်ရန်ဖြစ်သည်။ အကယ်၍ သင်သည် အခြားသူများ /data တွင် ဖန်တီးထားသော မည်သည့်ခွင့်ပြုချက်မှ ရယူခြင်းမှ တားဆီးလိုပါက ဥပမာအားဖြင့် အသုံးပြုပါ။ setfacl -md:o::- /data.

ACL များနှင့် ပုံမှန်ခွင့်ပြုချက်များသည် အမြဲတမ်း ကောင်းမွန်စွာ ပေါင်းစပ်ထားခြင်းမရှိပါ။ ပုံမှန် ACL ကို လမ်းညွှန်တစ်ခုသို့ သင်အသုံးပြုပါက ပြဿနာများ ဖြစ်ပေါ်လာနိုင်ပြီး၊ ထို့နောက် ၎င်းကို ထိုလမ်းညွှန်တွင် ထည့်သွင်းပြီး ပုံမှန်ခွင့်ပြုချက်များကို ပြောင်းလဲရန် ကြိုးစားပါက ပြဿနာများ ဖြစ်ပေါ်လာနိုင်သည်။ ပုံမှန်ခွင့်ပြုချက်များနှင့် သက်ဆိုင်သော အပြောင်းအလဲများသည် ACL ခြုံငုံသုံးသပ်ချက်တွင် ကောင်းမွန်စွာ ထင်ဟပ်နေမည်မဟုတ်ပါ။ ပြဿနာများကိုရှောင်ရှားရန်၊ ပုံမှန်ခွင့်ပြုချက်များကို ဦးစွာသတ်မှတ်ပြီးနောက် ပုံသေ ACL များကို သတ်မှတ်ပါ (ထို့နောက် ၎င်းတို့ကို ထပ်မံမပြောင်းရန်ကြိုးစားပါ)။

ACLs ကိုအသုံးပြု၍ မြင့်မားသောအခွင့်အရေးစီမံခန့်ခွဲမှု၏ဥပမာ

ဤဥပမာတွင်၊ သင်သည် အစောပိုင်းက ဖန်တီးခဲ့သော /data/account နှင့် /data/sales directories တို့ကို ဆက်လက်လုပ်ဆောင်မည်ဖြစ်သည်။ ယခင်နမူနာများတွင်၊ အရောင်းအဖွဲ့တွင် /data/sales တွင် ခွင့်ပြုချက်များရှိပြီး အကောင့်အုပ်စုတွင် /data/account ခွင့်ပြုချက်များရှိကြောင်း သေချာစေပါသည်။

ပထမဦးစွာ၊ အကောင့်အဖွဲ့သည် /data/sales directory တွင်ဖတ်ရှုခွင့်များရရှိကြောင်းသေချာစေပြီး အရောင်းအဖွဲ့သည် /data/account directory တွင်ဖတ်ရှုခွင့်များရရှိကြောင်းသေချာပါစေ။

ထို့နောက် ဖိုင်အသစ်များအားလုံးတွင် ပစ္စည်းအသစ်များအားလုံးအတွက် မှန်ကန်သောခွင့်ပြုချက်များရှိကြောင်း သေချာစေရန် default ACLs များကို သင်သတ်မှတ်ပေးပါသည်။

  1. terminal ကိုဖွင့်ပါ။
  2. စီရင် setfacl -mg:account:rx /data/sales и setfacl -mg:sales:rx /data/account.
  3. စီရင် getfaclခွင့်ပြုချက်များကို သင်အလိုရှိသည့်အတိုင်း သတ်မှတ်ကြောင်း သေချာစေရန်။
  4. စီရင် setfacl -md:g:account:rwx၊g:sales:rx /data/salesအရောင်းလမ်းညွှန်အတွက် ပုံသေ ACL ကို သတ်မှတ်ရန်။
  5. /data/account directory အတွက် default ACL တစ်ခုကို ထည့်ပါ။ setfacl -md:g:sales:rwx၊g:account:rx /data/account.
  6. /data/sales တွင် ဖိုင်အသစ်တစ်ခုကို ထည့်ခြင်းဖြင့် ACL ဆက်တင်များ အကျိုးသက်ရောက်မှုရှိမရှိ စစ်ဆေးပါ။ ပြီးအောင် /data/sales/newfile ကိုနှိပ်ပါ။ လုပ်ပါ။ getfacl /data/sales/newfile လက်ရှိခွင့်ပြုချက်များကိုစစ်ဆေးရန်။

umask ဖြင့် မူရင်းခွင့်ပြုချက်များကို သတ်မှတ်ခြင်း။

အထက်တွင်၊ သင်သည် ပုံသေ ACLs များနှင့် မည်သို့လုပ်ဆောင်ရမည်ကို သင်လေ့လာခဲ့သည်။ အကယ်၍ သင်သည် ACL ကို အသုံးမပြုပါက၊ သင်ရရှိမည့် ပုံသေခွင့်ပြုချက်များကို ဆုံးဖြတ်ပေးသည့် shell option တစ်ခု ရှိပါသည်။ ကံ (နောက်ပြန်မျက်နှာဖုံး)။ ဤကဏ္ဍတွင်၊ သင်သည် ပုံသေခွင့်ပြုချက်များကို မည်သို့ပြောင်းလဲရမည်ကို လေ့လာနိုင်မည်ဖြစ်သည်။ ကံ.

ဖိုင်အသစ်တစ်ခုဖန်တီးသောအခါ၊ အချို့သော ပုံသေခွင့်ပြုချက်များကို သတ်မှတ်ပေးထားကြောင်း သင်သတိပြုမိပေမည်။ ဤခွင့်ပြုချက်များကို ဆက်တင်ဖြင့် ဆုံးဖြတ်သည်။ ကံ. ဤ shell ဆက်တင်သည် အကောင့်ဝင်ချိန်တွင် အသုံးပြုသူအားလုံးနှင့် သက်ဆိုင်ပါသည်။ ကန့်သတ်ချက်၌ ကံ ဖိုင်အတွက် အလိုအလျောက်သတ်မှတ်နိုင်သည့် အများဆုံးခွင့်ပြုချက်များမှ နုတ်ထားသည့် ဂဏန်းတန်ဖိုးကို အသုံးပြုသည်။ ဖိုင်များအတွက် အများဆုံးဆက်တင်မှာ 666 ဖြစ်ပြီး လမ်းညွှန်များအတွက် 777 ဖြစ်သည်။

သို့သော်လည်း ဤစည်းမျဉ်းတွင် ခြွင်းချက်အချို့ရှိသည်။ ဆက်တင်များ၏ အလုံးစုံခြုံငုံသုံးသပ်ချက်ကို သင်တွေ့နိုင်သည်။ ကံ အောက်ပါဇယားတွင်။

အသုံးပြုသော ကိန်းဂဏန်းများ ကံcommand များအတွက် numeric arguments များကဲ့သို့၊ chmodပထမဂဏန်းသည် သုံးစွဲသူ၏ခွင့်ပြုချက်များကို ရည်ညွှန်းသည်၊ ဒုတိယဂဏန်းသည် အဖွဲ့၏ခွင့်ပြုချက်များကို ရည်ညွှန်းပြီး နောက်ဆုံးဂဏန်းသည် အခြားသူများအတွက် သတ်မှတ်ထားသည့် မူရင်းခွင့်ပြုချက်များကို ရည်ညွှန်းသည်။ အဓိပ္ပါယ် ကံ မူရင်း 022 သည် ဖိုင်အသစ်အားလုံးအတွက် 644 နှင့် သင့်ဆာဗာပေါ်တွင် ဖန်တီးထားသော လမ်းညွှန်အသစ်အားလုံးအတွက် 755 ပေးသည်။

ဂဏန်းတန်ဖိုးများအားလုံးကို ခြုံငုံသုံးသပ်ချက်အပြည့်အစုံ ကံ နှင့် ၎င်းတို့၏ရလဒ်များကို အောက်ပါဇယားတွင် ဖော်ပြထားသည်။

အခွင့်အရေးများတွင် Linux (chown၊ chmod၊ SUID၊ GUID၊ sticky bit၊ ACL၊ umask)

umask ဆက်တင်သည် အောက်ပါအတိုင်း အလုပ်လုပ်ပုံကို ကြည့်ရန် လွယ်ကူသောနည်းလမ်း- ဖိုင်၏ ပုံသေခွင့်ပြုချက်များ 666 ဟုသတ်မှတ်ထားခြင်းဖြင့် စတင်ပြီး ထိရောက်သောခွင့်ပြုချက်များကိုရရှိရန် umask ကိုနုတ်ပါ။ 777 ၏ လမ်းညွှန်နှင့် ၎င်း၏ မူရင်းခွင့်ပြုချက်များအတွက် အလားတူလုပ်ဆောင်ပါ။

umask ဆက်တင်ကို ပြောင်းလဲရန် နည်းလမ်းနှစ်ခုရှိသည်- သုံးစွဲသူအားလုံးအတွက်နှင့် တစ်ဦးချင်းအသုံးပြုသူများအတွက်။ အသုံးပြုသူအားလုံးအတွက် umask ကို သတ်မှတ်လိုပါက /etc/profile တွင်ဖော်ပြထားသည့်အတိုင်း shell ပတ်ဝန်းကျင်ဖိုင်များကိုစတင်သောအခါတွင် umask ဆက်တင်ကို ထည့်သွင်းစဉ်းစားကြောင်း သေချာစေရမည်။ မှန်ကန်သောနည်းလမ်းမှာ /etc/profile.d directory တွင် umask.sh ဟုခေါ်သော shell script ကိုဖန်တီးပြီး ထို shell script တွင် သင်အသုံးပြုလိုသော umask ကို သတ်မှတ်ပါ။ ဤဖိုင်တွင် umask ကို ပြောင်းလဲပါက၊ ဆာဗာသို့ လော့ဂ်အင်ဝင်ပြီးနောက် အသုံးပြုသူအားလုံးတွင် ၎င်းကို အသုံးပြုနိုင်မည်ဖြစ်သည်။

/etc/profile နှင့် သက်ဆိုင်ရာဖိုင်များမှတစ်ဆင့် umask ကို သတ်မှတ်ခြင်းအတွက် အခြားနည်းလမ်းတစ်ခုမှာ အသုံးပြုသူတိုင်း၏ ပင်မလမ်းညွှန်တွင် ဖန်တီးထားသည့် .profile ဟုခေါ်သော ဖိုင်တစ်ခုရှိ umask ဆက်တင်များကို ပြောင်းလဲရန်ဖြစ်သည်။

ဤဖိုင်တွင် ထည့်သွင်းထားသော ဆက်တင်များသည် သုံးစွဲသူတစ်ဦးချင်းစီအတွက်သာ သက်ဆိုင်ပါသည်။ ဒါကြောင့် အသေးစိတ်အချက်အလက်တွေ လိုအပ်ရင် ဒီနည်းလမ်းက ကောင်းပါတယ်။ ပုံမှန်အသုံးပြုသူများသည် 027 ၏ default umask ဖြင့် လုပ်ဆောင်နေချိန်တွင် root အသုံးပြုသူအတွက် မူရင်း umask ကို 022 သို့ ပြောင်းလဲရန် ဤအင်္ဂါရပ်ကို ကျွန်ုပ်ကိုယ်တိုင် နှစ်သက်ပါသည်။

တိုးချဲ့အသုံးပြုသူ အရည်အချင်းများနှင့် အလုပ်လုပ်ခြင်း။

ဒါက ရပိုင်ခွင့်တွေအကြောင်း နောက်ဆုံးအပိုင်းပါ Linux.

permission တွေနဲ့ အလုပ်လုပ်တဲ့အခါ user ဒါမှမဟုတ် group object နဲ့ အဲဒီ user ဒါမှမဟုတ် group object တွေရဲ့ file ဒါမှမဟုတ် directory မှာ permission တွေကြားမှာ relationship အမြဲရှိပါတယ်။ server မှာ file တွေကို secure လုပ်ဖို့ တခြားနည်းလမ်းတစ်ခု Linux - attribute တွေနဲ့ အလုပ်လုပ်ခြင်း။
ဖိုင်ကိုအသုံးပြုသူမည်သို့ပင်ဝင်ရောက်သည်ဖြစ်စေ အရည်အချင်းများသည် ၎င်းတို့၏အလုပ်ဖြစ်သည်။

ACLs ကဲ့သို့ပင်၊ ဖိုင် attribute များသည် ရွေးချယ်စရာများ ပါဝင်ရန်လိုအပ်နိုင်သည်။ တောင်ပေါ်မှာ.

ဒါက ရွေးချယ်မှုတစ်ခုပါ။ user_xattr. တိုးချဲ့အသုံးပြုသူ ရည်ညွှန်းချက်များဖြင့် လုပ်ဆောင်သည့်အခါ "operation not supported" မက်ဆေ့ဂျ်ကို ရရှိပါက၊ ကန့်သတ်ဘောင်ကို သေချာသတ်မှတ်ပါ။ တောင်ပေါ်မှာ /etc/fstab တွင်

ဂုဏ်တော်များစွာကို မှတ်တမ်းတင်ထားသည်။ အချို့သော attribute များကို ရနိုင်သော်လည်း အကောင်အထည်မဖော်သေးပါ။ ၎င်းတို့ကို အသုံးမပြုပါနှင့်။ သူတို့က မင်းကို ဘာမှ ယူလာမှာ မဟုတ်ဘူး။

အောက်ပါတို့သည် သင်လျှောက်ထားနိုင်သည့် အသုံးဝင်ဆုံးသော အရည်အချင်းများဖြစ်သည်-

A ဤအရည်အသွေးသည် ဖိုင်၏ဖိုင်ဝင်ရောက်ချိန်ကို မပြောင်းလဲကြောင်း သေချာစေသည်။
ပုံမှန်အားဖြင့်၊ ဖိုင်တစ်ခုဖွင့်တိုင်း၊ ဖိုင်၏ဝင်ရောက်ချိန်ကို ဖိုင်၏ metadata တွင် မှတ်တမ်းတင်ထားရပါမည်။ ၎င်းသည် စွမ်းဆောင်ရည်ကို ထိခိုက်စေပါသည်။ ဒါကြောင့် ပုံမှန်ဝင်သုံးနေတဲ့ ဖိုင်တွေအတွက်၊ attribute ပါ။ A ဤအင်္ဂါရပ်ကို ပိတ်ရန် အသုံးပြုနိုင်သည်။

a ဤအင်္ဂါရပ်က သင့်အား ဖိုင်တစ်ခုကို ထည့်ရန် ခွင့်ပြုသော်လည်း ဖယ်ရှားခြင်းမပြုပါ။

c အကယ်၍ သင်သည် အသံအတိုးအကျယ်ချုံ့မှုကို ပံ့ပိုးပေးသည့် ဖိုင်စနစ်တစ်ခုကို အသုံးပြုနေပါက၊ ဤဖိုင်၏ရည်ညွှန်းချက်မှာ ဖိုင်ချုံ့မှုယန္တရားကို ပထမဆုံးဖွင့်ထားချိန်၌ ဖိုင်ကို ချုံ့ထားကြောင်း သေချာစေသည်။

D ဤအရည်အချင်းက ဖိုင်များကို ကက်ရှ်လုပ်ထားခြင်းထက် ဖိုင်များကို ချက်ခြင်း disk သို့ ချက်ချင်းရေးထားကြောင်း သေချာစေသည်။ ဤသည်မှာ ဖိုင် cache နှင့် hard drive ကြားတွင် မပျောက်ပျက်သွားစေရန် အရေးကြီးသော ဒေတာဘေ့စ်ဖိုင်များအတွက် အသုံးဝင်သော အရည်အချင်းတစ်ခုဖြစ်သည်။

d ဤအင်္ဂါရပ်က ဖိုင်ကို dump utility ကိုအသုံးပြုသည့် အရန်ကူးများတွင် သိမ်းဆည်းမည်မဟုတ်ကြောင်း သေချာစေသည်။

I ဤ attribute သည် ၎င်းကိုဖွင့်ထားသည့် directory အတွက် indexing ကိုဖွင့်ပေးသည်။ ၎င်းသည် B-tree ဒေတာဘေ့စ်ကိုအသုံးမပြုသည့် Ext3 ကဲ့သို့သော မူလဖိုင်စနစ်များအတွက် ပိုမိုမြန်ဆန်သောဖိုင်ဝင်ရောက်ခွင့်ကိုပေးသည်။

i ဤအင်္ဂါရပ်က ဖိုင်ကို မပြောင်းလဲနိုင်စေသည်။ ထို့ကြောင့် နောက်ထပ်ကာကွယ်မှုလိုအပ်သော ဖိုင်များအတွက် အသုံးဝင်သည့် ဖိုင်ကို အပြောင်းအလဲလုပ်၍မရပါ။

j ဤ attribute သည် ext3 ဖိုင်စနစ်တွင် ဖိုင်ကို ဂျာနယ်သို့ ဦးစွာရေးသားပြီး ဟာ့ဒ်ဒစ်ရှိ ဒေတာဘလောက်များဆီသို့ သေချာစေသည်။

s ဖိုင်ကိုဖျက်ပြီးနောက် ဖိုင်ကို 0s တွင်သိမ်းဆည်းထားသည့် ဘလောက်များကို ထပ်ရေးပါ။ ၎င်းသည် ဖိုင်တစ်ခုကို ဖျက်လိုက်သည်နှင့် ပြန်မရနိုင်ကြောင်း သေချာစေသည်။

u ဤအရည်အသွေးသည် ဖျက်ခြင်းဆိုင်ရာ အချက်အလက်များကို သိမ်းဆည်းထားသည်။ ၎င်းသည် သင့်အား ဖျက်လိုက်သောဖိုင်များကို ကယ်တင်ရန် ဤအချက်အလက်နှင့် လုပ်ဆောင်နိုင်သည့် utility တစ်ခုကို တီထွင်နိုင်စေမည်ဖြစ်သည်။

attribute တွေကို အသုံးချချင်ရင်တော့ command ကိုသုံးလို့ရပါတယ်။ chattr ပါ. ဥပမာအားဖြင့်၊ chattr +s အချို့ဖိုင်somefile တွင် attribute များကိုအသုံးပြုရန်။ ရည်ညွှန်းချက်ကို ဖယ်ရှားရန် လိုအပ်ပါသလား။ ပြီးရင် သုံးပါ။ chattr -s အချို့ဖိုင်ဖယ်ရှားခံရလိမ့်မည်။ လက်ရှိအသုံးပြုနေသည့် attribute များအားလုံး၏ ခြုံငုံသုံးသပ်ချက်ကို ရယူရန်၊ command ကို အသုံးပြုပါ။ lsattr.

အကျဉ်းချုပ်

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

ဒီဘာသာပြန်ကို ကြိုက်တယ်ဆိုရင်တော့ comment မှာ ရေးပေးခဲ့ပါဦး။ အသုံးဝင်သော ဘာသာပြန်ဆိုမှုများ ပြုလုပ်ရန် လှုံ့ဆော်မှု ပိုရှိလာပါမည်။

ဆောင်းပါးတွင် စာလုံးပေါင်းနှင့် သဒ္ဒါဆိုင်ရာ အမှားအချို့ကို ပြင်ထားသည်။ ပိုမိုကောင်းမွန်စွာဖတ်ရှုနိုင်စေရန်အတွက် ကြီးမားသောစာပိုဒ်အချို့ကို အသေးများအဖြစ်သို့ လျှော့ချပါ။

"လမ်းညွှန်တွင် စီမံခန့်ခွဲပိုင်ခွင့်ရှိသူကသာ ခွင့်ပြုချက်ကို လုပ်ဆောင်နိုင်သည်" အစား "လမ်းညွှန်တွင် စာရေးခွင့်ပြုချက်ရှိသူကသာ execute permission ကို အသုံးချနိုင်သည်" ဟု သတ်မှတ်ထားသည်မှာ ပိုမှန်ပေလိမ့်မည်။

မှတ်ချက်များအတွက် ကျေးဇူးတင်ပါသည်။ berez.

အစားထိုးထားသည်-
အကယ်၍ သင်သည် အသုံးပြုသူ၏ ပိုင်ရှင်မဟုတ်ပါက၊ ဖိုင်အုပ်စုဟုလည်းသိကြသော အဖွဲ့တစ်ခု၏အဖွဲ့ဝင်ဖြစ်မဖြစ် စစ်ဆေးရန် Shell သည် စစ်ဆေးမည်ဖြစ်သည်။

အပေါ်-
သင်သည် ဖိုင်၏ပိုင်ရှင်မဟုတ်ပါက၊ သင်သည် ဖိုင်တွင်ခွင့်ပြုချက်ရှိသည့်အဖွဲ့၏အဖွဲ့ဝင်ဖြစ်ခြင်းရှိ၊မရှိ စစ်ဆေးရန် shell သည် စစ်ဆေးမည်ဖြစ်သည်။ သင်သည် ဤအဖွဲ့၏အဖွဲ့ဝင်ဖြစ်ပါက၊ အဖွဲ့မှသတ်မှတ်ထားသောခွင့်ပြုချက်များဖြင့် ဖိုင်ကိုသင်ဝင်ရောက်မည်ဖြစ်ပြီး shell သည် စစ်ဆေးခြင်းရပ်တန့်သွားမည်ဖြစ်သည်။

သင့်မှတ်ချက်အတွက် ကျေးဇူးတင်ပါသည်။ CryptoPirate

source: www.habr.com

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster