linux中用ACL實現靈活的權限管理

ACL是什么??

ACL英文原意是Access Control List(訪問控制列表).它能夠實現靈活的權限管理,除了文件的所有者,所屬組和其他人,設置相應的權限外,ACL允許你給任何用戶或是用戶組設置任何文件/目錄的訪問權限(注意的是有些不支持數字模式的權限給定)

ACL有什么用??

作為UGO權限管理的補充,aclGUO辦不到或者是難以辦到的功能

        1.可以針對用戶來設置權限

        2.可以針對用戶組來設置權限

        3.子文件/子目錄繼承父目錄的權限

檢查linux是否支持ACL??

acl需要linux內核和文件系統的配合才能工作,目前我們能見到的大多數linux發行版默認是支持的,但最好還是先檢查一下

 圖片1.png

注意:在linuxVfat 文件系統不支持acl

      centos7.0默認創建的xfsext4文件系統上有acl

      centos7.x之前版本,手工創建的ext4文件系統也不支持acl

      功能。需手動增加:

               tune2fs -o acl /dev/sdb1

               mount -o acl /dec/sdb1 /mnt

設置/dev/sda1掛載選項,用Posix Access Control Lists和用戶指定的擴展屬性

 那如何設置acl呢??

  1.   setfacl  -m  u:用戶名:所給權限:文件

 圖片2.png   

   2.  setfacl  -m  u:用戶名:所給的權限:目錄

如果后面是目錄,則只有所給的這個目錄有這個權限,其子目錄里面沒有。

    3.    setfacl  -Rm  g:組名:所給權限X:目錄

R 就會遞歸到子目錄里和文件,用X只給目錄執行權限給文件件怎會沒有

   4.    setfacl  -M file.acl 文件或是目錄

比如,編輯一個acl文件。以后用到這個權限時直接調用就行了 uwang0   gtomrw

大量文件對要求有相同的acl,可寫在文件里這樣統一管理比較方便

   5.    setfacl  -m  du:用戶名:權限 目錄

表示在這個目錄下新建的文件、目錄默認都會有這個acl

   6.    setfacl  -x  u:用戶名:文件|目錄

刪除所創建的acl

   7.    setfacl  -X  file.acl 目錄

默認acl權限給了x,文件也不會繼承x權限

base acl不能刪除

   8.    setfacl  -k  dir 刪除默認acl權限

   9.    setfacl  -b  file清除所有自己設置的acl權限

 圖片3.png

如何限制特殊用戶的最高權限呢??

acl文件上的group權限是mask值(自定義用戶,自定義組,擁有組的最大權限)而非傳統的組權限

mask 只影響除所用者和other的之外的人和組的最大權限

mask需要與用戶的權限進行邏輯與運算后,才能變成有限的權限

用戶或組的設置必須在mask權限設定范圍內才會生效

  10.  Setfacl -m mask ::rw 文件名(中間兩個冒號之間沒有空格)

圖片4.png 

  –set選項會把原有的acl項都刪除,用新的替代,需要注意的是一定要包含UGO的設置,不能像-m一樣只是添加acl就可以如

  11.  setfacl –set u::rw,uwangrw,g::r,o::–  文件

  12 .  acl 的備份 getfacl -R /tmp/dir >acl.txt

  13.  getfacl 可看到特殊權限

 

原創文章,作者:yywan1314,如若轉載,請注明出處:http://www.www58058.com/27841

(0)
yywan1314yywan1314
上一篇 2016-08-05 16:13
下一篇 2016-08-05 16:13

相關推薦

  • class15磁盤管理(二) 高級磁盤管理(一)

    掛載點和/etc/fstab 配置文件系統體系 被mount、fsck和其它程序使用 系統重啟時保留文件系統體系 可以在設備欄使用文件系統卷標 使用mount -a命令掛載  /etc/fstab 中的所有文件系統 文件掛載配置文件 /etc/fstab每行定義一個要掛載的文件系統;   &nbsp…

    Linux干貨 2016-09-05
  • centos7 搭建SVN服務器

    運維常見的工作就是日常軟件的安裝和維護,SVN雖然被Git侵占了市場份額,但是仍然是高效簡捷的源碼管理工具。從日常軟件的安裝部署開始,熟悉一些Linux的常用命令。

    Linux干貨 2018-03-26
  • 第九周:shell腳本之判斷練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash # declare -i LoginUser=0 declare -i NologinUser=0 while r…

    Linux干貨 2016-11-21
  • Linux用戶和組管理及相關命令詳解

        概要:在學習Linux的初級階段,用戶管理是基礎管理的重要部分,任何命令的運行,系統的正常運轉,均離不開用戶管理的內容,本篇就為大家介紹下Linux用戶管理的一些基礎概念和一些基礎命令的用法。內容主要分為以下三個部分:        &nbs…

    Linux干貨 2016-08-02
  • 網絡班27期第五周作業

    N27_網絡班 第五周作業 1、 顯示當前系統上root、fedora或user1用戶的默認shell [root@localhost ~]# grep -E ‘^(root|fedora|user1)’ /etc/passwd | cut -d: -f1,7 2、 找出/etc/rc.d/init.d/function文件中某單詞后面跟一組小括號的行,形如…

    Linux干貨 2017-08-28
  • 馬哥教育網絡班20期+第8周博客作業

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。   網橋:鏈接層設備,基于MAC地址過濾。   集線器:物理層設備,基本都屬于半雙工模式。集線器與網橋在現在的局域網中基本都不用了。   二層交換機:基本MAC轉發數據,功能齊全的可支持VLAN等功能。常見的有100/1…

    學員作品 2016-09-10
欧美性久久久久