溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-06-10 22:56:44 來源:網絡 閱讀:223 作者:Tom王 欄目:系統運維

目錄:
(一)使用ACL為用戶授權
(二)設置mask權限
(三)設置默認權限(只能對目錄設置)


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


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


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

—————— 本文至此結束,感謝閱讀 ——————

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女