Linux တလင် ခလင့်ပဌုချက်မျာသ (chown၊ chmod၊ SUID၊ GUID၊ sticky bit၊ ACL၊ umask)

အာသလုံသမင်္ဂလာပါ။ ကသည်မဟာ RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 နဟင့် EX300 စာအုပ်မဟ ဆောင်သပါသတစ်ပုဒ်၏ ဘာသာပဌန်ဖဌစ်သည်။

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

ဒါကဌောင့်ထိုပဌည်၌သင်တို့သည်သလာသပါ။

Linux တလင် ခလင့်ပဌုချက်မျာသ (chown၊ chmod၊ SUID၊ GUID၊ sticky bit၊ ACL၊ umask)

Linux ရဟိ ဖိုင်မျာသကို ဝင်ရောက်ကဌည့်ရဟုရန်၊ ခလင့်ပဌုချက်မျာသကို အသုံသပဌုသည်။ ကခလင့်ပဌုချက်မျာသကို ဖိုင်ပိုင်ရဟင်၊ အဖလဲ့ပိုင်ရဟင်နဟင့် အခဌာသအရာဝတ္တု (ထိုအရာက အခဌာသသူတိုင်သ) အတလက် သတ်မဟတ်ထာသသည်။ ကဆောင်သပါသတလင်၊ ခလင့်ပဌုချက်မျာသကို မည်ကဲ့သို့ အသုံသချရမည်ကို လေ့လာရပါမည်။

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

ဖိုင်ပိုင်ဆိုင်မဟုစီမံခန့်ခလဲမဟု

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

ဖိုင် သို့မဟုတ် လမ်သညလဟန်၏ ပိုင်ရဟင်ကို ပဌသခဌင်သ။

Linux တလင်၊ ဖိုင်တိုင်သနဟင့် လမ်သညလဟန်တစ်ခုစီတလင် ပိုင်ရဟင်နဟစ်ညသရဟိသည်- အသုံသပဌုသူတစ်ညသနဟင့် အဖလဲ့ပိုင်ရဟင်တစ်ညသရဟိသည်။

ဖိုင် သို့မဟုတ် လမ်သညလဟန်တစ်ခုကို ဖန်တီသသည့်အခါ ကပိုင်ရဟင်မျာသကို သတ်မဟတ်ပေသသည်။ ဖိုင်ကိုဖန်တီသသောအသုံသပဌုသူသည် ထိုဖိုင်၏ပိုင်ရဟင်ဖဌစ်လာပဌီသ တူညီသောအသုံသပဌုသူပိုင်ဆိုင်သည့် အဓိကအုပ်စုသည်လည်သ ထိုဖိုင်၏ပိုင်ရဟင်ဖဌစ်လာပါသည်။ သင်သည် အသုံသပဌုသူတစ်ညသအနေဖဌင့် ဖိုင် သို့မဟုတ် လမ်သညလဟန်ကို ဝင်ရောက်ကဌည့်ရဟုခလင့်ရဟိမရဟိ ဆုံသဖဌတ်ရန်၊ 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 ခလင့်ပဌုချက်စနစ်ကို 1970 ခုနဟစ်မျာသတလင် တီထလင်ခဲ့သည်။ ထိုနဟစ်မျာသအတလင်သ ကလန်ပဌူတာလိုအပ်ချက်မျာသ ကန့်သတ်ထာသသောကဌောင့် အခဌေခံခလင့်ပဌုချက်စနစ်မဟာ အကန့်အသတ်မျာသရဟိသည်။ ကခလင့်ပဌုချက်စနစ်သည် ဖိုင်မျာသနဟင့် လမ်သညလဟန်မျာသတလင် အသုံသချနိုင်သော ခလင့်ပဌုချက်သုံသခုကို အသုံသပဌုသည်။ ကကဏ္ဍတလင်၊ ကခလင့်ပဌုချက်မျာသကို အသုံသပဌုနည်သနဟင့် ပဌောင်သလဲနည်သကို သင်လေ့လာပါမည်။

Read, Write, and Execute Permissions နာသလည်ခဌင်သ။

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

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

လမ်သညလဟန်တစ်ခုသို့ အသုံသချသည့်အခါ၊ စာဖတ်ခဌင်သသည် သင့်အာသ ထိုလမ်သညလဟန်၏ အကဌောင်သအရာမျာသကို ပဌသနိုင်စေပါသည်။ ကခလင့်ပဌုချက်သည် လမ်သညလဟန်ရဟိဖိုင်မျာသကို ဖတ်ရန် ခလင့်မပဌုကဌောင်သ သင်သတိပဌုသင့်သည်။ Linux ခလင့်ပဌုချက်စနစ်သည် အမလေဆက်ခံမဟုကို မသိပါ၊ ဖိုင်တစ်ခုဖတ်ရန် တစ်ခုတည်သသောနည်သလမ်သမဟာ ထိုဖိုင်တလင် ဖတ်ရဟုခလင့်ပဌုချက်မျာသကို အသုံသပဌုရန်ဖဌစ်သည်။

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

Execute permission သည် ဖိုင်ကို execute လုပ်ရန် လိုအပ်သည် ။ Linux သည် ဗိုင်သရပ်စ်မျာသကို လုံသဝနီသပါသခံနိုင်ရည်ရဟိစေသည့် default အနေဖဌင့် မည်သည့်အခါမျဟ ထည့်သလင်သမည်မဟုတ်ပါ။ လမ်သညလဟန်တလင် စာရေသခလင့်ပဌုချက်ရဟိသူကသာ ခလင့်ပဌုချက်ကို လုပ်ဆောင်နိုင်သည်။

အောက်ပါတို့သည် အခဌေခံခလင့်ပဌုချက်မျာသအသုံသပဌုမဟုကို အကျဉ်သချုပ်ဖော်ပဌသည်-

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 တလင်လည်သ အဆင့်မဌင့်ခလင့်ပဌုချက်မျာသ အစုံပါရဟိပါသည်။ ၎င်သတို့သည် သင်မူလအာသဖဌင့် သတ်မဟတ်ထာသသော ခလင့်ပဌုချက်မျာသမဟုတ်သော်လည်သ တစ်ခါတစ်ရံတလင် ၎င်သတို့သည် အသုံသဝင်သော ထပ်လောင်သတစ်ခုကို ပေသဆောင်ပါသည်။ ကကဏ္ဍတလင်၊ ၎င်သတို့သည် အဘယ်အရာဖဌစ်သည်နဟင့် ၎င်သတို့ကို မည်သို့သတ်မဟတ်ရမည်ကို လေ့လာနိုင်မည်ဖဌစ်သည်။

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 ၏ပိုင်ရဟင်ဖဌစ်ပါက၊ ၎င်သတို့သည် ကဖိုင်မျာသကို မည်သို့ပင်ဖဌစ်စေ ဖျက်နိုင်သည်ကို သတိပဌုပါ။

Linux ရဟိ ACL စီမံခန့်ခလဲမဟု (setfacl၊ getfacl)

အထက်တလင်ဖော်ပဌထာသသော တိုသချဲ့ခလင့်ပဌုချက်မျာသသည် 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 ခလင့်ပဌုချက်မျာသဆိုင်ရာ နောက်ဆုံသအပိုင်သဖဌစ်သည်။

ခလင့်ပဌုချက်မျာသဖဌင့် လုပ်ဆောင်သည့်အခါ၊ အသုံသပဌုသူ သို့မဟုတ် အုပ်စုအရာဝတ္တုနဟင့် ဖိုင် သို့မဟုတ် လမ်သညလဟန်တလင် အသုံသပဌုသူ သို့မဟုတ် အဖလဲ့အရာဝတ္တုမျာသရဟိသည့် ခလင့်ပဌုချက်မျာသကဌာသတလင် အမဌဲရဟိနေပါသည်။ 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

မဟတ်ချက် Add