新聞中心

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


咨詢
建站咨詢
