溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

【我的Linux,我做主!】ACL訪問控制列表

發(fā)布時(shí)間:2020-06-10 22:56:44 來源:網(wǎng)絡(luò) 閱讀:214 作者:Tom王 欄目:系統(tǒng)運(yùn)維

目錄:
(一)使用ACL為用戶授權(quán)
(二)設(shè)置mask權(quán)限
(三)設(shè)置默認(rèn)權(quán)限(只能對(duì)目錄設(shè)置)


(一)使用ACL為用戶授權(quán)
(1.1)如果現(xiàn)在我們有一個(gè)需求,在系統(tǒng)中有一個(gè)文件file,我們需要設(shè)置tom對(duì)file文件的權(quán)限為“r--”,設(shè)置bob用戶對(duì)file文件的權(quán)限為“rw-”,設(shè)置mary用戶對(duì)file文件的權(quán)限為“---”,設(shè)置jerry用戶對(duì)file文件的權(quán)限為“r-x”。此時(shí)我們使用常規(guī)的屬組屬主的權(quán)限設(shè)置是沒有辦法滿足要求的,如果要求對(duì)具體的某個(gè)用戶或者組來設(shè)置acl權(quán)限,大家要考慮到使用acl
(1.2)現(xiàn)在我們進(jìn)入到/opt/目錄下,然后將/etc/hosts文件拷貝到當(dāng)前目錄中,此時(shí)我們發(fā)現(xiàn)hosts文件的other用戶的權(quán)限是可讀(圖1-1),所以我們以tom用戶的身份去修改hosts文件的時(shí)候,發(fā)現(xiàn)無法修改成功(圖1-2和圖1-3)。
# cp /etc/hosts .
# getfacl hosts
【我的Linux,我做主!】ACL訪問控制列表
【我的Linux,我做主!】ACL訪問控制列表
【我的Linux,我做主!】ACL訪問控制列表
(1.3)如果此時(shí)我們希望tom用戶能夠?qū)osts文件進(jìn)行修改,則我們應(yīng)該使用setfacl命令進(jìn)行設(shè)置。我們?cè)O(shè)置針對(duì)hosts文件給tom用戶設(shè)置rwx的權(quán)限,我們發(fā)現(xiàn)tom用戶已經(jīng)有了一個(gè)在hosts文件的acl權(quán)限(圖1-4),此時(shí)我們使用tom用戶便可以正常的在hosts文件中添加信息了(圖1-5)。
# setfacl -m u:tom:rwx hosts---針對(duì)hosts文件給tom用戶設(shè)置rwx的權(quán)限
# getfacl hosts---查詢當(dāng)前hosts文件的權(quán)限
【我的Linux,我做主!】ACL訪問控制列表
【我的Linux,我做主!】ACL訪問控制列表
(1.4)如果我們希望取消給tom用戶設(shè)置的acl權(quán)限,則可以使用setfacl -x命令操作,此時(shí)我們發(fā)現(xiàn)系統(tǒng)中已經(jīng)沒有針對(duì)tom用戶設(shè)置的acl權(quán)限了(如圖1-6)。
# setfacl -x u:tom hosts---取消給tom用戶設(shè)置的acl權(quán)限
【我的Linux,我做主!】ACL訪問控制列表


(二)設(shè)置mask權(quán)限
(2.1)我們先給tom用戶和jerry用戶都設(shè)置acl權(quán)限(圖2-1),現(xiàn)在我們?cè)诠局杏心硞€(gè)文件或者某個(gè)目錄,對(duì)很多個(gè)用戶都設(shè)置了acl訪問控制的權(quán)限,但是現(xiàn)在需要對(duì)文件或目錄進(jìn)行維護(hù),此時(shí)我們需求是不允許任何人再寫這個(gè)文件了,等文件維護(hù)完畢后然后再開放文件權(quán)限給對(duì)應(yīng)的用戶使用,此時(shí)我們可以使用mask權(quán)限,相當(dāng)于一層遮罩碼將當(dāng)前用戶的權(quán)限蓋住,然后進(jìn)行維護(hù)操作,我們可以使用setfacl -m命令操作(圖2-2),此時(shí)我們發(fā)現(xiàn)之前給tom用戶和jerry用戶設(shè)置的acl權(quán)限都被新的遮罩碼“r--”蓋住了,我們使用“# setfacl -m m::r-- hosts”進(jìn)行遮罩碼的操作后,發(fā)現(xiàn)此時(shí)以tom用戶編輯hosts文件的時(shí)候是無法修改成功的(圖2-3)。
# setfacl -m u:tom:rwx hosts---設(shè)置tom用戶的acl權(quán)限
# setfacl -m u:jerry:rwx hosts---設(shè)置jerry用戶的acl權(quán)限
# setfacl -m m::r-- hosts---給hosts文件設(shè)置一個(gè)mask遮罩碼
【我的Linux,我做主!】ACL訪問控制列表
【我的Linux,我做主!】ACL訪問控制列表
【我的Linux,我做主!】ACL訪問控制列表
(2.2)如果我們想將這個(gè)遮罩碼去除,此時(shí)我們只需要對(duì)其中的一個(gè)用戶重新設(shè)置acl權(quán)限后,便可以使得所有用戶原先的acl權(quán)限都生效了。
# setfacl -m u:tom:rwx hosts---設(shè)置tom用戶的acl值
# getfacl hosts---查詢hosts文件的acl狀態(tài)
【我的Linux,我做主!】ACL訪問控制列表
(2.3)現(xiàn)在我們?cè)O(shè)置hosts文件的mask值為不可讀、不可寫、不可執(zhí)行,此時(shí)我們發(fā)現(xiàn)雖然此時(shí)hosts文件的mask權(quán)限為“---”,但是由于hosts文件的other權(quán)限中是有可讀的權(quán)限的,所以此時(shí)tom用戶會(huì)以other的身份讀取hosts文件,是能夠正常的讀取hosys文件的,只有我們將other的可讀權(quán)限也去除,此時(shí)tom用戶才無法讀取文件。
注意:我們總結(jié)的內(nèi)容為,如果mask的權(quán)限設(shè)置為“---”,則other的權(quán)限生效;如果mask的權(quán)限設(shè)置為非“---”,則mask權(quán)限生效
# setfacl -m m::--- hosts---設(shè)置hosts文件的mask值為不可讀、不可寫、不可執(zhí)行
【我的Linux,我做主!】ACL訪問控制列表
【我的Linux,我做主!】ACL訪問控制列表
(2.4)現(xiàn)在我們重新設(shè)置一個(gè)tom用戶和jerry用戶的權(quán)限都為r-x,然后設(shè)置mask的值為rwx(圖2-7),此時(shí)我們使用tom用戶去嘗試寫入hosts文件時(shí),發(fā)現(xiàn)仍然是無法寫入的(圖2-8)。我們的總結(jié)為,如果你給用戶設(shè)置的為r-x,沒有設(shè)置w這個(gè)權(quán)限,此時(shí)如果想在mask里給它設(shè)置了這個(gè)w的權(quán)限,也是仍然無法使得文件可寫的權(quán)限生效的。如果我們對(duì)other的權(quán)限添加了w的權(quán)限,此時(shí)tom和jerry用戶仍然是無法擁有hosts文件的可寫權(quán)限的,即說明了setacl設(shè)置的權(quán)限的優(yōu)先級(jí)高于other里設(shè)置的權(quán)限。
# setfacl -m u:tom:r-x hosts---設(shè)置tom用戶的acl為r-x
# setfacl -m u:jerry:r-x hosts---設(shè)置jerry用戶的acl為r-x
# setfacl -m m::rwx hosts---設(shè)置hosts文件的mask值為rwx
# getfacl hosts---查詢hosts文件的acl狀態(tài)
【我的Linux,我做主!】ACL訪問控制列表
【我的Linux,我做主!】ACL訪問控制列表
(2.5)如果現(xiàn)在我們想對(duì)用戶組設(shè)置acl權(quán)限,例如我們?cè)O(shè)置了tom組擁有可讀、可寫、可執(zhí)行的權(quán)限,然后我們想讓沒有權(quán)限的bob用戶擁有tom組的權(quán)限,此時(shí)我們的做法是將bob用戶加入到tom組中,然后將bob用戶退出登錄后再重新登錄bob用戶,此時(shí)bob用戶便擁有了tom組的權(quán)限。
# setfacl -m g:tom:rwx file---對(duì)tom組設(shè)置acl權(quán)限


(三)設(shè)置默認(rèn)權(quán)限(只能對(duì)目錄設(shè)置)
(3.1)我們首先在vms002主機(jī)的/opt/目錄下創(chuàng)建一個(gè)rh234的目錄。
# mkdir rh234---創(chuàng)建一個(gè)rh234的目錄
# getfacl rh234/---獲取所創(chuàng)建的目錄的權(quán)限
【我的Linux,我做主!】ACL訪問控制列表
(3.2)然后我們?cè)O(shè)置針對(duì)rh234目錄下,不管是誰在rh234目錄里創(chuàng)建的新的文件或者目錄,對(duì)tom都具有rwx權(quán)限,但是并不包括rh234本身。接著我們?cè)趓h234目錄下創(chuàng)建一個(gè)root1的文件,此時(shí)我們發(fā)現(xiàn)創(chuàng)建的root1文件的權(quán)限繼承了tom用戶rwx的權(quán)限,但是由于操作系統(tǒng)規(guī)定創(chuàng)建的文件最高權(quán)限為644,所以文件的默認(rèn)權(quán)限為rw-,所以在創(chuàng)建文件的時(shí)候,不管用什么方法,都沒有辦法創(chuàng)建出來默認(rèn)含有x權(quán)限的文件。
# setfacl -m d:u:tom:rwx rh234/---設(shè)置不管是誰在rh234目錄里創(chuàng)建的新的文件或者目錄,對(duì)tom都具有rwx權(quán)限,但是并不包括rh234本身
# touch rh234/root1---在rh234目錄下創(chuàng)建一個(gè)root1的文件
# getfacl rh234/root1---查詢r(jià)oot1目錄的acl權(quán)限
【我的Linux,我做主!】ACL訪問控制列表
(3.3)接著我們嘗試使用jerry用戶創(chuàng)建文件,我們首先將jerry用戶設(shè)置acl為對(duì)目錄rh234有rwx權(quán)限(圖3-3),然后我們創(chuàng)建了一個(gè)jerry1文件,此時(shí)我們創(chuàng)建的jerry1文件繼承了tom用戶的rwx權(quán)限,同時(shí)為了符合系統(tǒng)默認(rèn)創(chuàng)建文件的要求,因此最終jerry1文件的權(quán)限為rw-(圖3-4)
# setfacl -m u:jerry:rwx rh234/---設(shè)置jerry用戶擁有對(duì)目錄rh234可讀、可寫、可執(zhí)行的權(quán)限
# getfacl rh234/---獲取目錄rh234的權(quán)限信息
# touch rh234/jerry1
# getfacl rh234/jerry1
【我的Linux,我做主!】ACL訪問控制列表
【我的Linux,我做主!】ACL訪問控制列表
(3.4)我們?cè)偈褂胘erry用戶在/opt/目錄下創(chuàng)建一個(gè)jerry2的目錄,此時(shí)我們發(fā)現(xiàn)創(chuàng)建的目錄也仍然繼承了默認(rèn)的tom用戶執(zhí)行時(shí)所擁有的rwx權(quán)限。
# mkdir rh234/jerry2---創(chuàng)建一個(gè)目錄jerry2
# getfacl rh234/jerry2
【我的Linux,我做主!】ACL訪問控制列表
(3.5)此時(shí)雖然tom用戶對(duì)rh234目錄中新增加的文件具有權(quán)限,但是tom用戶本身是無法在rh234目錄中創(chuàng)建文件的,因?yàn)槲覀儾]有針對(duì)rh234目錄為tom用戶設(shè)置acl權(quán)限。
【我的Linux,我做主!】ACL訪問控制列表
(3.6)如果我們希望將針對(duì)tom用戶的默認(rèn)權(quán)限取消,我們可以使用“# setfacl -x d:u:tom rh234/”命令,我們發(fā)現(xiàn)之前創(chuàng)建的文件仍然具有tom用戶可讀、可寫的權(quán)限不會(huì)收回去的(圖3-7),但是如果我們新創(chuàng)建的文件,則不會(huì)再繼承tom用戶可以執(zhí)行的相關(guān)權(quán)限了(圖3-8)。
# setfacl -x d:u:tom rh234/---取消針對(duì)134目錄下的文件繼承tom用戶擁有相關(guān)權(quán)限的默認(rèn)設(shè)置
# getfacl rh234/jerry1---獲取rh234目錄中之前創(chuàng)建的文件的acl權(quán)限
# mkdir rh234/root2
# getfacl rh234/root2
【我的Linux,我做主!】ACL訪問控制列表
【我的Linux,我做主!】ACL訪問控制列表

—————— 本文至此結(jié)束,感謝閱讀 ——————

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI