目錄
Linux提權管理
su命令
準備一個用戶
sudo命令
sudo配置
Linux文件權限管理
文件系統權限介紹
rwx 權限解讀
文件系統權限管理
chmod 命令
針對文件
針對目錄
chown chgrp 命令
驗證文件權限rwx效果
驗證目錄權限rwx效果
權限補充說明
管理文件默認權限
umask 命令
umask 持久化生效
管理文件特殊權限
SUID 針對文件
SGID 針對目錄
sticky 針對目錄
查找系統中所有特殊權限文件
管理文件擴展權限
管理文件訪問控制列表
針對用戶
針對組
mask 設置
針對目錄的 acl
Linux提權管理
大多數時候Linux系統管理員以非特權用戶身份登錄系統,并使用工具暫時獲得特權用戶root管理系統。
su命令
-
su username啟動一個非登錄shell,使用當前的環境設置
-
su - username啟動一個登錄shell,設置了shell環境
-
username省略時代表切換到root用戶
盡可能使用nologin shell登錄
準備一個用戶
useradd demisse1
#設置密碼
echo 123456 |passwd --stdin demisse
grep demisse1 /etc/passwd
#以特定用戶執行特定命令
su - demisse1 -c id
#加單引號
su -l demisse1 -c 'cat /etc/hosts'
sudo命令
從根本上說,Linux實現了一個非常粗糙的獲得權限模型:root可以做任何事情,其他用戶與系統相關什么也不能做。
-
su 缺點:
-
用戶必須知道root用戶密碼獲取root用戶所有權限。
-
未記錄用戶執行命令。
-
無法以/sbin/nologin的用戶身份運行命令。
-
sudo優點:
-
sudo允許用戶以其他用戶身份執行特定命令。
-
sudo需要用戶輸入用戶自己的密碼,而非他們想訪問的用戶密碼。
-
sudo執行的命令會記錄在
/var/log/secure
文件中。 -
sudo語法:
sudo [-u username] command
sudo id
#沒有sudo權限的用戶
[09:38:31 demisse1@rocky8-znf ~]$ sudo id
sudo配置
總結:在分配命令的時候,切記:只給用戶特定功能的命令(例如用戶管理相關命令),而不是通用功能的工具(例如vim)。
配置文件路徑:
-
主配置文件:
/etc/sudoers
,正常情況不要修改。 -
從配置文件:
/etc/sudoer.d/*
,如果想添加配置,在此處添加。
Linux文件權限管理
文件系統權限介紹
-
Linux 文件權限簡單靈活,易于理解和應用,能夠處理大多數權限使用情況。
-
文件有三個適用權限的用戶類別:
-
單個用戶擁有者,通常是創建該文件的用戶。
-
單個組擁有者,通常是創建該文件的用戶的主要組。
-
除了用戶擁有者和組擁有者之外的其他用戶。
ls -l test
-
以
/etc/passwd
為例,權限字符串-rw-r--r--
分為四份: -
第一位代表文件類型,例如
-
代表普通文件,d
代表目錄,l
(L 的小寫)代表軟鏈接等。 -
第二到第四位,代表 user-owner(用戶擁有者)具有的權限,也就是 demisse 用戶具有的權限。
-
第五到第七位,代表 group-owner(組擁有者)具有的權限,也就是 wheel 組中成員具有的權限。
-
第八到第十位,代表 user-owner 和 group-owner 之外的用戶具有的權限。
-
權限優先級:如果文件的用戶是 demisse,組成員中也有 demisse用戶,那么 demisse獲得的最終權限是用戶擁有者的權限,而不是組中成員具有的權限。
rwx 權限解讀
文件系統權限管理
chmod 命令
作用:更改文件不同ower權限。
語法1:chmod WhoHowWhat /path/to/file
-
Who: u(user) g(group) o(other) a(all)
-
How: +(添加) -(減去) =(精確設置)
-
What: r(read) w(write) x(excute) -(不具有權限)
針對文件
[root@rocky8 ~]# mkdir /lab
[root@rocky8 ~]# cd /lab
[root@rocky8 lab]# cp /etc/passwd .# 給user增加x權限
[root@rocky8 lab]# chmod u+x ./passwd
[root@rocky8 lab]# ls -l passwd
-rwxr--r--. 1 root root 2312 11月 8 14:17 passwd# 一次性設置多個
[root@rocky8 lab]# chmod u-wx,g+w,o=- passwd
[root@rocky8 lab]# ls -l passwd
-r--rw----. 1 root root 2312 11月 8 14:17 passwd# 一次性設置所有對象
[root@rocky8 lab]# chmod a=rwx passwd
[root@rocky8 lab]# ls -l passwd
-rwxrwxrwx. 1 root root 2312 11月 8 14:17 passwd
[root@rocky8 lab]# chmod a-wx passwd
[root@rocky8 lab]# ls -l passwd
-r--r--r--. 1 root root 2312 11月 8 14:17 passwd
針對目錄
# 針對目錄,準備目錄和文件
[root@rocky8 lab]# mkdir dir01
[root@rocky8 lab]# touch dir01/file01
[root@rocky8 lab]# ls -ld dir01 dir01/file01
drwxr-xr-x. 2 root root 20 11月 8 14:22 dir01
-rw-r--r--. 1 root root 0 11月 8 14:22 dir01/file01# 遞歸清除所有對象所有權限
[root@rocky8 lab]# chmod -R a=- dir01
[root@rocky8 lab]# ls -ld dir01 dir01/*
d---------. 2 root root 20 11月 8 14:22 dir01
----------. 1 root root 0 11月 8 14:22 dir01/file01# 遞歸設置user對象權限為rwx
[root@rocky8 lab]# chmod -R u+rwx dir01
[root@rocky8 lab]# ls -ld dir01 dir01/*
drwx------. 2 root root 20 11月 8 14:22 dir01
-rwx------. 1 root root 0 11月 8 14:22 dir01/file01
語法2: chmod ### /path/to/file
-
第1個#,代表user權限
-
第2個#,代表group權限
-
第3個#,代表other權限
#
,是一個數字范圍是0(---)到7(rwx)。
# 示例1,文件權限為 -rw- r-- r--
# 用二進制表達權限為 110 100 100,對應10進制為644# 示例2,文件權限為 -rwx rw- r-x
# 用二進制表達權限為 111 110 101,對應10進制為765# 文件權限為634對應的權限
[root@rocky8 ~]# mkdir /lab;cd /lab
[root@rocky8 lab]# cp /etc/passwd .
[root@rocky8 lab]# chmod 634 passwd
[root@rocky8 lab]# ls -l passwd
-rw--wxr--. 1 root root 2312 11月 8 14:17 passwd
[root@rocky8 lab]# stat -c %A passwd
-rw--wxr--
[root@rocky8 lab]# stat -c %a passwd
634# 文件權限為755對應的權限
[root@rocky8 lab]# chmod 755 passwd
[root@rocky8 lab]# ls -l passwd
-rwxr-xr-x. 1 root root 2312 11月 8 14:17 passwd
chown chgrp 命令
作用:更改文件屬主。
[root@rocky8 lab]# ls -l passwd
-rwxr-xr-x. 1 root root 2312 11月 8 14:17 passwd# 修改user owner
[root@rocky8 lab]# chown demisse passwd
[root@rocky8 lab]# ls -l passwd
-rwxr-xr-x. 1 demisse root 2312 11月 8 14:17 passwd# 修改group owner
[root@rocky8 lab]# chgrp wheel passwd
[root@rocky8 lab]# ls -l passwd
-rwxr-xr-x. 1 demisse wheel 2312 11月 8 14:17 passwd# 同時修改 user和group owner
[root@rocky8 lab]# chown laowang:root passwd
[root@rocky8 lab]# ls -l passwd
-rwxr-xr-x. 1 laowang root 2312 11月 8 14:17 passwd# 對目錄遞歸修改
[root@rocky8 lab]# ls -R -ld dir01 dir01/*
drwxrwx---. 2 root root 20 11月 8 14:22 dir01
-rwxrwx---. 1 root root 0 11月 8 14:22 dir01/file01# 對目錄遞歸修改user owner
[root@rocky8 lab]# chown -R demisse dir01/
[root@rocky8 lab]# ls -R -ld dir01 dir01/*
drwxrwx---. 2 demisse root 20 11月 8 14:22 dir01
-rwxrwx---. 1 demisse root 0 11月 8 14:22 dir01/file01# 對目錄遞歸同時修改user和group owner
[root@rocky8 lab]# chown -R laowang:wheel dir01/
[root@rocky8 lab]# ls -R -ld dir01 dir01/*
drwxrwx---. 2 laowang wheel 20 11月 8 14:22 dir01
-rwxrwx---. 1 laowang wheel 0 11月 8 14:22 dir01/file01
案例:準備一個普通用戶家目錄
模擬:創建一個用戶tom,該用戶沒有自動創建家目錄
[root@rocky8 ~]# useradd -M tom
準備用戶家目錄
[root@rocky8 ~]# cp -r /etc/skel/ /home/tom
[root@rocky8 ~]# ls -ld /home/tom
drwxr-xr-x. 3 root root 78 7月 22 11:52 /home/tom[root@rocky8 ~]# chmod u=rwx,go=- /home/tom
[root@rocky8 ~]# ls -ld /home/tom
drwx------. 3 root root 78 7月 22 11:52 /home/tom[root@rocky8 ~]# chown -R tom:tom /home/tom# 驗證
[root@rocky8 ~]# su - tom
[tom@rocky8 ~]$
驗證文件權限rwx效果
# 初始環境準備
[root@rocky8 ~]# mkdir /lab
[root@rocky8 lab]# cd /lab
[root@rocky8 lab]# cp /etc/hosts .
[root@rocky8 lab]# chmod o=- hosts
[root@rocky8 lab]# cat hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6# 驗證
[demisse@rocky8 lab]$ ls -l hosts
-rw-r-----. 1 root root 158 Nov 8 14:57 hosts
[demisse@rocky8 lab]$ cat hosts
cat: hosts: Permission denied
[demisse@rocky8 lab]$ echo hello world > hosts
-bash: hosts: Permission denied
[demisse@rocky8 lab]$ /lab/hosts
-bash: /lab/hosts: Permission denied# r權限驗證--準備
[root@rocky8 lab]# chmod o=r hosts# r權限驗證
[demisse@rocky8 lab]$ ls -l hosts
-rw-r--r--. 1 root root 158 Nov 8 14:57 hosts
[demisse@rocky8 lab]$ cat hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6# w權限驗證--準備
[root@rocky8 lab]# chmod o=w hosts# w權限驗證
[demisse@rocky8 lab]$ ls -l hosts
-rw-r---w-. 1 root root 158 Nov 8 14:57 hosts
[demisse@rocky8 lab]$ echo ni hao > hosts
[demisse@rocky8 lab]$ cat hosts
cat: hosts: Permission denied# 是否可以使用vim修改文件內容
[demisse@rocky8 lab]$ vim hosts
# 仍然無法讀取文件內容,只能覆蓋修改[demisse@rocky8 lab]$ echo hello world >> hosts
[root@rocky8 lab]# cat hosts
ni hao
hello world# x權限驗證--準備
[root@rocky8 lab]# chmod o=x hosts
[root@rocky8 lab]# echo 'echo hello world' > mycommand
[root@rocky8 lab]# cat /lab/mycommand
echo hello world
[root@rocky8 lab]# chmod u+x mycommand
[root@rocky8 lab]# ls -l mycommand
-rwxr----x. 1 root root 17 11月 8 15:07 hosts
[root@rocky8 lab]# /lab/mycommand
hello world# x權限驗證
[demisse@rocky8 lab]$ /lab/mycommand
bash: /lab/hosts: Permission denied
# 原因:無法讀取文件代碼
[root@rocky8 lab]# chmod o=rx mycommand
[demisse@rocky8 lab]$ /lab/mycommand
hello world
驗證目錄權限rwx效果
# 初始環境準備
[root@rocky8 lab]# mkdir dir01
[root@rocky8 lab]# mv hosts dir01
[root@rocky8 lab]# chown -R root:root dir01/
[root@rocky8 lab]# chmod -R a=- dir01
[root@rocky8 lab]# chmod o=r dir01/hosts
[root@rocky8 lab]# ls -ld dir01 dir01/*
d---------. 2 root root 19 11月 8 15:29 dir01
-------r--. 1 root root 17 11月 8 15:07 dir01/hosts# 驗證
[demisse@rocky8 lab]$ ls dir01/
ls: cannot open directory dir01/: Permission denied
[demisse@rocky8 lab]$ cd dir01/
-bash: cd: dir01/: Permission denied
[demisse@rocky8 lab]$ touch dir01/file01
touch: cannot touch 'dir01/file01': Permission denied# r權限驗證--準備
[root@rocky8 lab]# chmod o=r dir01/# r權限驗證
[demisse@rocky8 lab]$ ls dir01/
hosts
[demisse@rocky8 lab]$ ls -l dir01/
ls: cannot access dir01/hosts: Permission denied
total 0
-????????? ? ? ? ? ? hosts# x權限驗證--準備
[root@rocky8 lab]# ls -ld dir01 dir01/*
d--------x. 2 root root 19 11月 8 15:29 dir01
-------r--. 1 root root 17 11月 8 15:07 dir01/hosts# x權限驗證
[demisse@rocky8 lab]$ cat dir01/hosts
echo hello world
[demisse@rocky8 lab]$ cd dir01/
[demisse@rocky8 dir01]$ ls
ls: cannot open directory .: Permission denied
[demisse@rocky8 dir01]$ cat hosts
echo hello world# w權限驗證--準備
[root@rocky8 lab]# chmod o=w dir01/
[root@rocky8 lab]# ls -ld dir01 dir01/*
d-------w-. 2 root root 19 11月 8 15:29 dir01
-------r--. 1 root root 17 11月 8 15:07 dir01/hosts# w權限驗證
[demisse@rocky8 lab]$ touch dir01/file01
touch: cannot touch 'dir01/file01': Permission denied
[demisse@rocky8 lab]$ rm dir01/hosts
rm: cannot remove 'dir01/hosts': Permission denied# 追加x權限
[root@rocky8 lab]# chmod o=wx dir01/
[root@rocky8 lab]# ls -ld dir01 dir01/*
d-------wx. 2 root root 19 11月 8 15:29 dir01
-------r--. 1 root root 17 11月 8 15:07 dir01/hosts# 體會wx效果
[demisse@rocky8 lab]$ cat dir01/hosts
echo hello world
[demisse@rocky8 lab]$ touch dir01/file01
[demisse@rocky8 lab]$ rm dir01/hosts
rm: remove write-protected regular file 'dir01/hosts'? yes
[root@rocky8 lab]# ls -ld dir01 dir01/*
d-------wx. 2 root root 20 11月 8 15:41 dir01
-rw-r--r--. 1 demisse demisse 0 11月 8 15:41 dir01/file01
權限補充說明
-
對于文件來說:
-
賦予 w 權限的時候,也會賦予 r 權限。
-
賦予 x 權限的時候,也會賦予 r 權限。
-
對于目錄來說:
-
賦予 r 權限的時候,也會賦予 x 權限。
-
賦予 w 權限的時候,也會賦予 rx 權限。
管理文件默認權限
umask 命令
設置文件默認要取消的權限。
# 默認情況
[demisse@rocky8 ~]$ mkdir lab;cd lab
[demisse@rocky8 lab]$ touch f1;mkdir d1
[demisse@rocky8 lab]$ ls -l
total 0
drwxr-xr-x. 2 demisse demisse 6 Nov 8 17:05 d1
-rw-r--r--. 1 demisse demisse 0 Nov 8 17:05 f1# umask值中權限是要剔除掉的
[demisse@rocky8 lab]$ umask
0022
# 設置為0
[demisse@rocky8 lab]$ umask 0
[demisse@rocky8 lab]$ umask
0000# 再次創建文件
[demisse@rocky8 lab]$ touch f2;mkdir d2
[demisse@rocky8 lab]$ ls -ld *2
drwxrwxrwx. 2 demisse demisse 6 Nov 8 17:07 d2
-rw-rw-rw-. 1 demisse demisse 0 Nov 8 17:07 f2# 此時目錄的權限是777,文件的權限是666# 根據用戶需求定制umask值,例如希望group和other位置不具有權限
[demisse@rocky8 lab]$ umask 077
[demisse@rocky8 lab]$ umask
0077[demisse@rocky8 lab]$ touch f3;mkdir d3
[demisse@rocky8 lab]$ ls -ld *3
drwx------. 2 demisse demisse 6 Nov 8 17:10 d3
-rw-------. 1 demisse demisse 0 Nov 8 17:10 f3
umask 持久化生效
# 針對單個用戶
[demisse@rocky8 lab]$ echo 'umask 077' >> ~/.bashrc# 針對所有用戶
[root@rocky8 ~]# echo 'umask 077' >> /etc/bashrc
管理文件特殊權限
命令對文件能執行哪些操作,取決于執行者。
SUID 針對文件
# 普通用戶執行passwd命令可以修改/etc/shadow文件原因
[demisse@rocky8 ~]$ passwd
Changing password for user demisse.
Changing password for demisse.
(current) UNIX password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[demisse@rocky8 ~]$ ls -l /etc/shadow
----------. 1 root root 1264 Nov 8 16:38 /etc/shadow# 查看passwd程序權限
[demisse@rocky8 ~]$ ls -l $(which passwd)
-rwsr-xr-x. 1 root root 27856 Apr 1 2020 /usr/bin/passwd# 普通用戶執行passwd的命令時候,有效身份是root用戶, root用戶是可以修改shadow文件內容。# suid應用
[root@rocky8 ~]# chmod u+s /usr/bin/vim
[root@rocky8 ~]# ls -l /usr/bin/vim
-rwsr-xr-x. 1 root root 2337216 10月 14 2020 /usr/bin/vim# 添加suid權限
[root@rocky8 ~]# chmod u+s /usr/bin/vim
[root@rocky8 ~]# ls -l /usr/bin/vim
-rwsr-xr-x. 1 root root 2337216 10月 14 2020 /usr/bin/vim
# 此時普通用戶就可以修改任意文件
[demisse@rocky8 ~]$ vim /etc/passwd# 刪除suid權限
[root@rocky8 ~]# chmod u-s /usr/bin/vim
SGID 針對目錄
# 準備用戶和組
[root@rocky8 lab]# groupadd devops
[root@rocky8 lab]# useradd -G devops dev1
[root@rocky8 lab]# useradd -G devops dev2# 準備目錄
[root@rocky8 lab]# mkdir webapp
[root@rocky8 lab]# chgrp devops webapp
[root@rocky8 lab]# chmod g=rwx webapp/
# 準備默認權限
[root@rocky8 lab]# echo "umask 002" >> /etc/bashrc# 實驗一:普通用戶創建文件,只有自己可以編輯
[root@rocky8 lab]# su dev1
[dev1@rocky8 lab]$ touch webapp/dev-f1
[dev1@rocky8 lab]$ ll webapp/dev-f1
-rw-rw-r--. 1 dev1 dev1 0 7月 22 15:12 webapp/dev-f1# 實驗二:普通用戶創建文件,組中成員也可以編輯
[root@rocky8 lab]# chmod g+s webapp[root@rocky8 lab]# su dev1
[dev1@rocky8 lab]$ touch webapp/dev-f2
[dev1@rocky8 lab]$ ll webapp
總用量 0
-rw-rw-r--. 1 dev1 dev1 0 7月 22 15:12 dev-f1
-rw-rw-r--. 1 dev1 devops 0 7月 22 15:13 dev-f2[root@rocky8 lab]# su dev2
[dev2@rocky8 lab]$ echo hello world >> webapp/dev-f2
[dev2@rocky8 lab]$ cat webapp/dev-f2
hello world
sticky 針對目錄
# 示例文件
[root@rocky8 lab]# ls -ld /tmp
drwxrwxrwt. 20 root root 4096 11月 8 16:50 /tmp
[root@rocky8 lab]# stat -c %a /tmp
1777
[demisse@rocky8 ~]$ rm /tmp/storage.log
rm: remove write-protected regular empty file '/tmp/storage.log'? yes
rm: cannot remove '/tmp/storage.log': Operation not permitted# 用戶只能刪除自己創建的文件
[demisse@rocky8 ~]$ touch /tmp/demisse-f1
[demisse@rocky8 ~]$ ls /tmp/demisse-f1
/tmp/demisse-f1
[demisse@rocky8 ~]$ rm /tmp/demisse-f1
查找系統中所有特殊權限文件
# 查找系統中所有具有suid權限的文件
[root@rocky8 ~]# find / -perm -4000
# 或者
[root@rocky8 ~]# find / -perm -u+s
管理文件擴展權限
需求:創建一個文件,root用戶也無法編輯和刪除?
解答:文件擴展屬性。
[demisse@rocky8 lab]$ chattr --help
Usage: chattr [-pRVf] [-+=aAcCdDeijPsStTuF] [-v version] files...
兩個常用屬性:
-
append only (a),只能追加文件內容。
-
immutable (i),不可變更屬性。
append only
[root@rocky8 ~]# touch /opt/operator.log
[root@rocky8 ~]# chattr +a /opt/operator.log[root@rocky8 ~]# echo hello world > /opt/operator.log
-bash: /opt/operator.log: 不允許的操作[root@rocky8 ~]# echo hello world 1 >> /opt/operator.log
[root@rocky8 ~]# echo hello world 2 >> /opt/operator.log[root@rocky8 ~]# rm -f /opt/operator.log
rm: 無法刪除'/opt/operator.log': 不允許的操作
immutable 屬性
[root@rocky8 ~]# cp /etc/passwd ./passwd[root@rocky8 ~]# chattr +i passwd
[root@rocky8 ~]# echo 'lw:x:1000:1000:lw:/home/lw:/bin/bash' >> passwd
-bash: passwd: 不允許的操作
[root@rocky8 ~]# rm -f passwd
rm: 無法刪除'passwd': 不允許的操作[root@rocky8 ~]# chattr -i passwd
[root@rocky8 ~]# echo 'lw:x:1000:1000:lw:/home/lw:/bin/bash' >> passwd# 重要的文件,內容改完后,再把i屬性加回去。
[root@rocky8 ~]# chattr +i passwd
管理文件訪問控制列表
需求:如何給不同的用戶賦予不同的權限?
解答:訪問控制列表。
針對用戶
# 準備文件
[root@rocky8 lab]# cp /etc/passwd ./passwd
[root@rocky8 lab]# chmod o=- passwd
[root@rocky8 lab]# ll passwd
-rw-r-----. 1 root root 2539 7月 22 16:36 passwd# 賦予demisse讀取權限
[root@rocky8 lab]# setfacl -m u:demisse:rw passwd# 此時 group 位置對應的權限是mask權限,也就是特定用戶、所有組和other用戶能夠獲得的最大權限。
[root@rocky8 lab]# ls -l passwd
-rw-rw----+ 1 root root 2539 7月 22 16:36 passwd
[root@rocky8 lab]# getfacl passwd
# file: passwd
# owner: root
# group: root
user::rw-
user:demisse:rw-
group::r--
mask::rw-
other::---# 驗證
[demisse@rocky8 ~]$ ll /lab/passwd
-rw-r-----+ 1 root root 2539 7月 22 16:36 /lab/passwd
[demisse@rocky8 ~]$ head -n 1 /lab/passwd
root:x:0:0:root:/root:/bin/bash# 同時設置多個規則,參照如下
[root@rocky8 lab]# setfacl -m u:tom:rwx,u:demisse:r passwd
針對組
[root@rocky8 lab]# setfacl -m g:wheel:rwx passwd# 此時 mask 值變為 rwx
[root@rocky8 lab]# ls -l passwd
-rw-rwx---+ 1 root root 2539 7月 22 16:36 passwd
[root@rocky8 lab]# getfacl passwd
# file: passwd
# owner: root
# group: root
user::rw-
user:demisse:rw-
group::r--
group:wheel:rwx
mask::rwx
other::---
mask 設置
為了防止權限失控,最后一步設置相關用戶的最大權限。
[root@rocky8 lab]# setfacl -m m:- passwd[root@rocky8 lab]# ls -l passwd
-rw-------+ 1 root root 2539 7月 22 16:36 passwd
[root@rocky8 lab]# getfacl passwd
# file: passwd
# owner: root
# group: root
user::rw-
user:demisse:rw- #effective:---
group::r-- #effective:---
group:wheel:rwx #effective:---
mask::---
other::---
針對目錄的 acl
在具有默認acl規則的目錄中創建文件,文件會繼承目錄的默認acl。
[root@rocky8 lab]# mkdir test
[root@rocky8 lab]# setfacl -m u:demisse:rw test
[root@rocky8 lab]# ls -ld test
drwxrwxr-x+ 2 root root 6 7月 22 16:47 test[root@rocky8 lab]# touch test/f1
[root@rocky8 lab]# ls -l test/f1
-rw-r--r--. 1 root root 0 7月 22 16:47 test/f1# 設置目錄默認 acl
[root@rocky8 lab]# setfacl -m d:u:demisse:rw test
[root@rocky8 lab]# getfacl test/
# file: test/
# owner: root
# group: root
user::rwx
user:demisse:rw-
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:demisse:rw-
default:group::r-x
default:mask::rwx
default:other::r-x[root@rocky8 lab]# touch test/f2
[root@rocky8 lab]# ls -l test/f2
-rw-rw-r--+ 1 root root 0 7月 22 16:48 test/f2
[root@rocky8 lab]# getfacl test/f2
# file: test/f2
# owner: root
# group: root
user::rw-
user:demisse:rw-
group::r-x #effective:r--
mask::rw-
other::r--