中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux的ACL規則設置——setfacl及getfacl命令的使用詳解

發布時間:2020-06-14 20:23:35 來源:網絡 閱讀:656 作者:warrent 欄目:系統運維

Linux系統中可以針對組、用戶、其他人設置不同的讀寫執行權限,但是還不夠精準,若想給某個特定的用戶設置一個獨特的權限呢?而這個用戶又不是該文件或目錄的屬組或屬組,怎么破?

針對特定的某個用戶設置權限的方法如下:

[root@localhost ~]# dmesg | grep -i acl     #查看系統是否可以設置ACL,若可以查到下面標紅的字樣,則代表沒問題。
[    1.173259] systemd[1]: systemd 219 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +'ACL' +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
[    2.487295] SGI XFS with 'ACL's, security attributes, no debug enabled

1、setfacl——設置ACL規則(針對單一用戶或組設置)

setfacl的常用選項如下:

  • -m:設置后續的ACL參數給文件使用,不可與-x一起使用;
  • -x:刪除后續的ACL參數,不可與-m一起使用;
  • -b:刪除所有的ACL設置參數;
  • -k:刪除默認的ACL參數;
  • -R:遞歸設置ACL,就是包括子目錄都會被應用;
  • -d:設置默認ACL參數,只對目錄有效,在該目錄新建的數據會引用此默認值;

設置舉例:

[root@localhost ~]# touch acl_test1      #創建一個測試文件
[root@localhost ~]# setfacl -m u:lv:rw acl_test1      #單獨賦予用戶“lv”讀寫權限
[root@localhost ~]# ll acl_test1 #查看文件屬性,在權限欄最后多了一個“+”,這就是剛設置的ACL
-rw-rw-r--+ 1 root root 0 9月   3 08:45 acl_test1
[root@localhost ~]# setfacl -m u::rwx acl_test1     #若u后面不寫用戶,則表示設置該文件的屬主權限
[root@localhost ~]# ll acl_test1       #會發現屬主的權限變成了rwx。
-rwxrw-r--+ 1 root root 0 9月   3 08:45 acl_test1

2、getfacl——查看設置的ACL規則

選項和setfacl基本相同,可以通過man手冊來查看具體的使用選項,最主要還是用來查看我們使用setfacl設置的ACL規則;

使用舉例:

[root@localhost ~]# getfacl acl_test1      #使用getfacl查看設置的ACL權限
# file: acl_test1       #文件名
# owner: root          #文件屬主
# group: root            #文件屬組
user::rwx              #屬主的權限
user:lv:rw-              #用戶“lv”的權限
group::r--               #文件屬組的權限
mask::rw-               #此文件默認的有效權限
#用戶或群組所設置的權限必須要存在于mask的權限設置范圍內才會生效
other::r--                 #其他任何人的權限

[root@localhost ~]# ll acl_test1     #使用“ll”命令查看后,進行比較
-rwxrw-r--+ 1 root root 0 9月   3 08:45 acl_test1

3、setfacl和getfacl綜合使用舉例:

#1、針對有效權限mask的設置方式
[root@localhost ~]# setfacl -m m:r acl_test1     #設置該文件的權限僅有讀權限(r)。
[root@localhost ~]# getfacl acl_test1     #查看
# file: acl_test1
# owner: root
# group: root
user::rwx
user:lv:rw-         #effective:r--    #注釋為有效權限只有r(讀權限),哪怕用戶后面有w(寫權限),也不生效
group::r--
mask::r--   #是因為這里,這里有并且用戶也具有的權限,才是有效權限,如這里的“r”權限。
other::r--
#2、針對特定群組的方式設置權限(刪除了原本的文件,又新建了一個acl_test1):
[root@localhost ~]# setfacl -m g:mygroup:rx acl_test1     #設置mygroup組有rx權限
[root@localhost ~]# getfacl acl_test1     #查看
# file: acl_test1
# owner: root
# group: root
user::rw-
group::r--
group:mygroup:r-x                     #這里就是新設置的權限
mask::r-x
other::r--
#3、讓myuser1在/usr/local下面一直具有rx的默認權限
[root@localhost ~]# setfacl -m d:u:myuser1:rx /usr/local/     #設置權限
[root@localhost ~]# getfacl /usr/local/       #查看
getfacl: Removing leading '/' from absolute path names
# file: usr/local/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:myuser1:r-x               #就是這行咯
default:group::r-x
default:mask::r-x
default:other::r-x
#創建一個目錄,并查看是否繼承了默認權限
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mkdir test
[root@localhost local]# ls -ld test/      #有“+”的權限,說明繼承默認權限了
drwxr-xr-x+ 2 root root 6 9月   3 09:51 test/
[root@localhost local]# getfacl test      #使用getfacl查看
# file: test
# owner: root
# group: root
user::rwx
user:myuser1:r-x
group::r-x
mask::r-x
other::r-x
default:user::rwx
default:user:myuser1:r-x              #就是這行咯
default:group::r-x
default:mask::r-x
default:other::r-x
#以下為取消用戶的某些ACL規則
[root@localhost local]# setfacl -x u:myuser1 /usr/local/     #取消myuser1用戶對該目錄的ACL規則
[root@localhost local]# setfacl -x d:u:myuser1 /usr/local/    #取消遞歸的ACL規則
[root@localhost local]# setfacl -m u:myuser1:- /usr/local    #使myuser1用戶無法使用該目錄,在權限字段使用“-”表示即可。

———————— 本文至此結束,感謝閱讀 ————————

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉林市| 鹿泉市| 孝昌县| 临高县| 贵州省| 临澧县| 朔州市| 德昌县| 慈溪市| 罗江县| 宁安市| 祁东县| 西青区| 宁阳县| 安康市| 凌源市| 济南市| 屯昌县| 刚察县| 阜康市| 红桥区| 策勒县| 读书| 秀山| 苗栗市| 略阳县| 嵊州市| 金坛市| 隆化县| 屏边| 新田县| 淮滨县| 泗洪县| 鸡东县| 滦平县| 邛崃市| 醴陵市| 喀喇沁旗| 林周县| 吴江市| 郧西县|