2021-05-12 14:32:11
Red Hat Linux 7 下 ACL許可權基本設定
一 ACL簡介:
存取控制列表(Access Control List,ACL) 是路由器和交換機介面的指令列表,用來控制埠進出的封包。ACL適用於所有的被路由協定,如IP、IPX、AppleTalk等。
二 如何檢視許可權列表:
[linuxidc@foundation2 Desktop]$ ls -l file
-rw-rw-r-- . 1 root kiosk 0 Nov 7 09:19 file
如果此位為 “.” 代表這位沒有許可權列表
如果此為 “+” 代表有許可權列表存在
那麼我們首先給 file 檔案加上許可權列表
並且通過 ll 命令發現已經有了許可權列表
則可以通過 getfacl 命令檢視更加詳細的許可權
[root@localhost Desktop]# setfacl -m u:student:rwx file
[root@localhost Desktop]# ll
total 4
-rw-rwxr--+ 1 root root 0 Nov 9 11:11 file
[root@localhost Desktop]# getfa
getfacl getfattr
[root@localhost Desktop]# getfacl file
# file: file
# owner: root
# group: root
user::rw-
user:student:rwx
group::r--
mask::rwx
other::r--
那麼這些分別代表什麼呢
[root@localhost Desktop]$ getfacl file
# file: file 檔名稱
# owner: root 檔案所有人
# group: kiosk 檔案所有組
user::rw- 檔案使用者許可權
user:student:rwx 檔案特定使用者許可權
group::rw- 所有組許可權
mask::rwx 特定使用者生效的最大許可權
other::r-- 其他人許可權
三 如何設定 acl 許可權
由上圖 有設定方式,故下面是我的一些設定方式的總結
setfacl -m <u|g|m>:<username|groupname>:許可權 filename acl設定方式
setfacl -b filname 刪除檔案許可權列表,一下子就全刪了,+號都沒有了
setfacl -x <u|g>:<username|groupname> filename 刪除特定許可權的特定使用者或組
四 acl 預設許可權
預設許可權之針對目錄使用,是讓目錄中所有新建檔案都繼承此許可權
setfacl -m d:<u|g|o>:<username|group>:rwx directory
設定預設許可權,這個許可權對目錄本身不生效,只對裡面內容生效(新建的)
[root@localhost /]# mkdir /xp
[root@localhost /]# setfacl -m d:u:student:rwx /xp
[root@localhost /]# getfacl /xp
getfacl: Removing leading '/' from absolute path names
# file: xp
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:student:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
[root@localhost xp]# touch file
[root@localhost xp]# ll
total 4
-rw-rw-r--+ 1 root root 0 Nov 9 15:25 file
[root@localhost xp]# cat file
[root@localhost xp]#
由上面可知道other對於它只有r許可權
那麼接下來我們用student 使用者試試有沒有剛才設定的許可權(切記,許可權加了之後才新建的file)
[root@localhost xp]# su - student
Last login: Mon Nov 9 15:24:51 EST 2015 on pts/0
[student@localhost ~]$ cd /xp
[student@localhost xp]$ echo hello,world >file
[student@localhost xp]$ cat file
hello,world
顯然已經成功,不過只是對新建的檔案產生作用,以前存在的不受影響。
setfacl -x d:<u|g|o>:<username|group> directory
復原目錄中某條預設許可權
setfacl -b directory
刪除檔案許可權列表
[root@localhost xp]# setfacl -x d:u:student file
[root@localhost xp]# getfacl file
# file: file
# owner: root
# group: root
user::rw-
user:student:rwx #effective:rw-
group::r-x #effective:r--
mask::rw-
other::r--
[root@localhost xp]# setfacl -b file
[root@localhost xp]# ll
total 4
-rw-r--r--. 1 root root 12 Nov 9 15:30 file
相關文章