新聞中心

成都創(chuàng)新互聯(lián)主營大邑縣網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app開發(fā)定制,大邑縣h5微信小程序開發(fā)搭建,大邑縣網(wǎng)站營銷推廣歡迎大邑縣等地區(qū)企業(yè)咨詢
[root@localhost ~]# ls -l
total 36
drwxr-xr-x. 2 root root 4096 Apr 15 16:33 Desktop
drwxr-xr-x. 2 root root 4096 Apr 15 16:33 Documents
...
-rwxr-xr-x. 2 root root 4096 Apr 15 16:33 post-install
...
以上輸出信息中,“rwxr-xr-x”就指明了不同用戶訪問文件的權(quán)限,即文件所有者擁有對文件的讀、寫、訪問權(quán)限(rwx),文件所屬群組擁有對文件的讀、訪問權(quán)限(r-x),其他用戶擁有對文件的讀、訪問權(quán)限(r-x)。
權(quán)限前的字符,表示文件的具體類型,比如 d 表示目錄,- 表示普通文件,l 表示連接文件,b 表示設(shè)備文件,等等。
但在實際應(yīng)用中,以上這 3 種身份根本不夠用,給大家舉個例子。
圖 1 ACL 訪問控制權(quán)限
圖 1 的根目錄中有一個 /project 目錄,這是班級的項目目錄。班級中的每個學(xué)員都可以訪問和修改這個目錄,老師需要擁有對該目錄的最高權(quán)限,其他班級的學(xué)員當(dāng)然不能訪問這個目錄。
需要怎么規(guī)劃這個目錄的權(quán)限呢?應(yīng)該這樣,老師使用 root 用戶,作為這個目錄的屬主,權(quán)限為 rwx;班級所有的學(xué)員都加入 tgroup 組,使 tgroup 組作為 /project 目錄的屬組,權(quán)限是 rwx;其他人的權(quán)限設(shè)定為 0(也就是 ---)。這樣一來,訪問此目錄的權(quán)限就符合我們的要求了。
有一天,班里來了一位試聽的學(xué)員 st,她必須能夠訪問 /project 目錄,所以必須對這個目錄擁有 r 和 x 權(quán)限;但是她又沒有學(xué)習(xí)過以前的課程,所以不能賦予她 w 權(quán)限,怕她改錯了目錄中的內(nèi)容,所以學(xué)員 st 的權(quán)限就是 r-x??墒侨绾畏峙渌纳矸菽??變?yōu)閷僦???dāng)然不行,要不 root 該放哪里?加入 tgroup 組?也不行,因為 tgroup 組的權(quán)限是 rwx,而我們要求學(xué)員 st 的權(quán)限是 r-x。如果把其他人的權(quán)限改為 r-x 呢?這樣一來,其他班級的所有學(xué)員都可以訪問 /project 目錄了。
顯然,普通權(quán)限的三種身份不夠用了,無法實現(xiàn)對某個單獨(dú)的用戶設(shè)定訪問權(quán)限,這種情況下,就需要使用 ACL 訪問控制權(quán)限。
ACL,是 Access Control List(訪問控制列表)的縮寫,在 Linux 系統(tǒng)中, ACL 可實現(xiàn)對單一用戶設(shè)定訪問文件的權(quán)限。也可以這么說,設(shè)定文件的訪問權(quán)限,除了用傳統(tǒng)方式(3 種身份搭配 3 種權(quán)限),還可以使用 ACL 進(jìn)行設(shè)定。拿本例中的 st 學(xué)員來說,既然賦予它傳統(tǒng)的 3 種身份,無法解決問題,就可以考慮使用 ACL 權(quán)限控制的方式,直接對 st 用戶設(shè)定訪問文件的 r-x 權(quán)限。
開啟 ACL 權(quán)限
CentOS 6.x 系統(tǒng)中,ACL 權(quán)限默認(rèn)處于開啟狀態(tài),無需手工開啟。但如果你的操作系統(tǒng)不是 CentOS 6.x,可以通過如下方式查看ACL權(quán)限是否開啟:
[root@localhost ~]# mount
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on I type ext4 (rw)
…省略部分輸出…
#使用mount命令可以看到系統(tǒng)中已經(jīng)掛載的分區(qū),但是并沒有看到ACL權(quán)限的設(shè)置
[root@localhost ~]# dumpe2fs -h /dev/sda3
#dumpe2fs是查詢指定分區(qū)文件系統(tǒng)詳細(xì)信息的命令
…省略部分輸出…
Default mount options: user_xattr acl
…省略部分輸出…
其中,dumpe2fs 命令的 -h 選項表示僅顯示超級塊中的信息,而不顯示磁盤塊組的詳細(xì)信息;
使用 mount 命令可以查看到系統(tǒng)中已經(jīng)掛載的分區(qū),而使用 dumpe2fs 命令可以查看到這個分區(qū)文件系統(tǒng)的詳細(xì)信息。大家可以看到,我們的 ACL 權(quán)限是 /dev/sda3 分區(qū)的默認(rèn)掛載選項,所以不需要手工掛載。
如果 Linux 系統(tǒng)如果沒有默認(rèn)掛載,可以執(zhí)行如下命令實現(xiàn)手動掛載:
[root@localhost ~]# mount -o remount,acl /
#重新掛載根分區(qū),并加入ACL權(quán)限
使用 mount 命令重新掛載,并加入 ACL 權(quán)限。但使用此命令只是臨時生效,要想永久生效,需要修改 /etc/fstab 文件,修改方法如下:
[root@localhost ~]#vi /etc/fstab
UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 /ext4 defaults,acl 1 1
#加入ACL權(quán)限
[root@localhost ~]# mount -o remount /
#重新掛載文件系統(tǒng)或重啟系統(tǒng),使修改生效
在你需要開啟 ACL 權(quán)限的分區(qū)行上(也就是說 ACL 權(quán)限針對的是分區(qū)),手工在 defaults 后面加入 ",acl" 即可永久在此分區(qū)中開啟 ACL 權(quán)限。
分享題目:ACL權(quán)限是什么,LinuxACL訪問控制權(quán)限(包含開啟方式)
網(wǎng)頁URL:http://m.fisionsoft.com.cn/article/dpjchhe.html


咨詢
建站咨詢
