国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

ACL權限是什么,Linux ACL訪問控制權限(包含開啟方式)

2024-08-27 23:56:53
字體:
來源:轉載
供稿:網友
linux 系統傳統的權限控制方式,無非是利用 3 種身份(文件所有者,所屬群組,其他用戶),并分別搭配 3 種權限(讀 r,寫 w,訪問 x)。比如,我們可以通過 ls -l 命令查看當前目錄中所有文件的詳細信息,其中就包含對各文件的權限設置:

[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”就指明了不同用戶訪問文件的權限,即文件所有者擁有對文件的讀、寫、訪問權限(rwx),文件所屬群組擁有對文件的讀、訪問權限(r-x),其他用戶擁有對文件的讀、訪問權限(r-x)。

權限前的字符,表示文件的具體類型,比如 d 表示目錄,- 表示普通文件,l 表示連接文件,b 表示設備文件,等等。

但在實際應用中,以上這 3 種身份根本不夠用,給大家舉個例子。
ACL控制權限
圖 1 ACL 訪問控制權限
圖 1 的根目錄中有一個 /project 目錄,這是班級的項目目錄。班級中的每個學員都可以訪問和修改這個目錄,老師需要擁有對該目錄的最高權限,其他班級的學員當然不能訪問這個目錄。

需要怎么規劃這個目錄的權限呢?應該這樣,老師使用 root 用戶,作為這個目錄的屬主,權限為 rwx;班級所有的學員都加入 tgroup 組,使 tgroup 組作為 /project 目錄的屬組,權限是 rwx;其他人的權限設定為 0(也就是 ---)。這樣一來,訪問此目錄的權限就符合我們的要求了。

有一天,班里來了一位試聽的學員 st,她必須能夠訪問 /project 目錄,所以必須對這個目錄擁有 r 和 x 權限;但是她又沒有學習過以前的課程,所以不能賦予她 w 權限,怕她改錯了目錄中的內容,所以學員 st 的權限就是 r-x。可是如何分配她的身份呢?變為屬主?當然不行,要不 root 該放哪里?加入 tgroup 組?也不行,因為 tgroup 組的權限是 rwx,而我們要求學員 st 的權限是 r-x。如果把其他人的權限改為 r-x 呢?這樣一來,其他班級的所有學員都可以訪問 /project 目錄了。

顯然,普通權限的三種身份不夠用了,無法實現對某個單獨的用戶設定訪問權限,這種情況下,就需要使用 ACL 訪問控制權限。

ACL,是 Access Control List(訪問控制列表)的縮寫,在 Linux 系統中, ACL 可實現對單一用戶設定訪問文件的權限。也可以這么說,設定文件的訪問權限,除了用傳統方式(3 種身份搭配 3 種權限),還可以使用 ACL 進行設定。拿本例中的 st 學員來說,既然賦予它傳統的 3 種身份,無法解決問題,就可以考慮使用 ACL 權限控制的方式,直接對 st 用戶設定訪問文件的 r-x 權限。

開啟 ACL 權限

CentOS 6.x 系統中,ACL 權限默認處于開啟狀態,無需手工開啟。但如果你的操作系統不是 CentOS 6.x,可以通過如下方式查看ACL權限是否開啟:

[root@localhost ~]# mount
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on I type ext4 (rw)
…省略部分輸出…
#使用mount命令可以看到系統中已經掛載的分區,但是并沒有看到ACL權限的設置
[root@localhost ~]# dumpe2fs -h /dev/sda3
#dumpe2fs是查詢指定分區文件系統詳細信息的命令
…省略部分輸出…
Default mount options: user_xattr acl
…省略部分輸出…

其中,dumpe2fs 命令的 -h 選項表示僅顯示超級塊中的信息,而不顯示磁盤塊組的詳細信息;

使用 mount 命令可以查看到系統中已經掛載的分區,而使用 dumpe2fs 命令可以查看到這個分區文件系統的詳細信息。大家可以看到,我們的 ACL 權限是 /dev/sda3 分區的默認掛載選項,所以不需要手工掛載。

如果 Linux 系統如果沒有默認掛載,可以執行如下命令實現手動掛載:

[root@localhost ~]# mount -o remount,acl /
#重新掛載根分區,并加入ACL權限

使用 mount 命令重新掛載,并加入 ACL 權限。但使用此命令只是臨時生效,要想永久生效,需要修改 /etc/fstab 文件,修改方法如下:

[root@localhost ~]#vi /etc/fstab
UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 /ext4 defaults,acl 1 1
#加入ACL權限
[root@localhost ~]# mount -o remount /
#重新掛載文件系統或重啟系統,使修改生效

在你需要開啟 ACL 權限的分區行上(也就是說 ACL 權限針對的是分區),手工在 defaults 后面加入 ",acl" 即可永久在此分區中開啟 ACL 權限。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 句容市| 东源县| 仪征市| 库车县| 昔阳县| 分宜县| 临洮县| 文安县| 黄冈市| 青神县| 星子县| 都江堰市| 玛沁县| 荔浦县| 富阳市| 商都县| 襄樊市| 西盟| 广水市| 买车| 朝阳县| 郁南县| 遵义县| 兰州市| 六枝特区| 清涧县| 尼勒克县| 法库县| 和林格尔县| 黑水县| 福安市| 铁岭市| 宜君县| 东阿县| 平顺县| 南汇区| 轮台县| 卓尼县| 天峨县| 岱山县| 阿巴嘎旗|