ACL权限复习
最近工作中用到了ACL權(quán)限,一時(shí)有點(diǎn)抓瞎,感覺什么命令都學(xué)了又什么命令都沒記詳細(xì),不知道大家有沒有這種感覺。身體被掏空啊~~~
晚上回家自己溫習(xí)了一遍ACL權(quán)限的簡(jiǎn)單實(shí)用,發(fā)篇博客記錄一下。
首先說一下什么是acl權(quán)限?
如上圖所示,目錄/project權(quán)限為770。此時(shí)有一個(gè)zhao的用戶需要對(duì)/project目錄有 r-x 權(quán)限,他不是屬主,也不在該目錄的屬組中,若通過其他人權(quán)限為zhao調(diào)整的話,那么不光是zhao用戶對(duì) /project 目錄有 r-x 權(quán)限,同時(shí)該計(jì)算機(jī)中所有的用戶都具有了與zhao相同的權(quán)限,不妥啊。
此時(shí)可以通過設(shè)置 /project 的 acl 權(quán)限,單獨(dú)讓zhao用戶對(duì) /project 目錄有 r-x 權(quán)限。
一、查看當(dāng)前分區(qū)系統(tǒng)是否支持 ACL 權(quán)限
我用的系統(tǒng)是 2.6內(nèi)核的CentOS6.3版本,linux 2.6內(nèi)核開始系統(tǒng)默認(rèn)已經(jīng)支持ACL權(quán)限了,不過為了以防萬一,還是記錄一下,留著備用。
這是我的虛擬機(jī),我只分了/、/boot、所以 /project 肯定是在"/"分區(qū)中
通過 # dumpe2fs h /dev/sda2 得知當(dāng)前系統(tǒng)支持ACL 權(quán)限。若文件不支持,可更改 /etc/fstab 文件,使其開機(jī)自動(dòng)掛載(下圖)
二、設(shè)定ACL權(quán)限
格式:
# setfacl 選項(xiàng) 文件名
選項(xiàng): -m 設(shè)定ACL權(quán)限
-x 刪除指定ACL權(quán)限
-b 刪除所有ACL權(quán)限
-d 設(shè)定默認(rèn)ACL權(quán)限
-k 刪除默認(rèn)ACL權(quán)限
-R 遞歸設(shè)定ACL權(quán)限
實(shí)例:以第一張圖片為例,給 /project 目錄添加用戶zhao的r-x權(quán)限
[root@test ~]# mkdir /project
[root@test ~]# useradd st
[root@test ~]# groupadd tgroup
[root@test ~]# chown root:tgroup /project
[root@test ~]# chmod 770 /project
[root@test ~]# ll -d /project
drwxrwx--- 2 root tgroup 4096 Oct 24 08:54 /project
[root@test ~]# setfacl -m u:st:rx /project
[root@test ~]# ll -d /project/
drwxrwx---+ 2 root tgroup 4096 Oct 24 08:54 /project/
操作完成,# getfacl /project 檢查權(quán)限是否添加成功
給用戶組設(shè)定ACL權(quán)限
# setfacl m g:tgroup2:rx /project 給 tgroup2 組設(shè)定對(duì) /project 的 rx 權(quán)限
三、最大有效權(quán)限 mask
mask 是用來指定最大有效權(quán)限的。如果給用戶賦予了ACL權(quán)限,是需要和mask的權(quán)限"相與"才能得到用戶的真正權(quán)限。
假如 /project 目錄的mask權(quán)限設(shè)定為 r-x,那么即使ACL權(quán)限設(shè)定為rwx,也不會(huì)有 w 權(quán)限。
四、刪除ACL權(quán)限
# setfacl x u:用戶名 文件名 刪除指定用戶的ACL權(quán)限
# setfacl x u:組名 文件名 刪除指定用戶組的ACL權(quán)限
# setfacl b 文件名 刪除文件所有的ACL權(quán)限
五、遞歸ACL權(quán)限(針對(duì)目錄)
遞歸是父目錄在設(shè)定ACL權(quán)限時(shí),所有子文件的子目錄也會(huì)擁有相同的ACL權(quán)限
# setfacl m u:用戶名:權(quán)限 R 文件名
六、默認(rèn)ACL權(quán)限(針對(duì)目錄)
默認(rèn)ACL權(quán)限的左右是如果給父目錄設(shè)定了默認(rèn)ACL權(quán)限,那么父目錄中所有新建的子文件都會(huì)繼承父目錄的ACL權(quán)限
# setfacl m d:u:用戶名:權(quán)限 文件名
遞歸和默認(rèn)ACL權(quán)限的區(qū)別在于,遞歸改變目錄中已經(jīng)創(chuàng)建的文件,而默認(rèn)ACL是將設(shè)定新創(chuàng)建的文件
本文轉(zhuǎn)自 ? mlwzby ? 51CTO博客,原文鏈接:http://blog.51cto.com/aby028/1865189
總結(jié)
- 上一篇: QComboBox可以随意设置itemD
- 下一篇: Hibernate的复合主键映射