首頁 > 軟體

Linux基礎教學學習筆記21——使用ACLs控制檔案許可權

2020-06-16 18:03:45

Linux基礎教學學習筆記21——使用ACLs控制檔案許可權

一、ACLs對檔案的存取許可權進行精細化控制

ACL可以對特定使用者和組進行許可權設定;

getfacl檢視檔案的ACL

setfacl修改使用者對檔案的存取許可權:
[root@linuxidc tmp]# setfacl -m u:RedHat:r-x a1
[root@linuxidc tmp]# getfacl a1
# file: a1
# owner: root
# group: root
user::-wx
user:redhat:r-x
group::-w-
mask::rwx
other::--x

取消使用者的存取許可權:

[root@linuxidc tmp]# setfacl -x u:redhat a1

setfacl如果不指明使用者,則預設為對使用者設許可權,不針對任何使用者:

設定mask值,可以遮蔽所有已經設定ACL的使用者的許可權,只需要重新給使用者設定ACL,mask許可權即可取消:
[tom@linuxidc tmp]$ setfacl -m m::r a1
setfacl: a1: Operation not permitted
[root@linuxidc tmp]# setfacl -m m::r a1
[root@linuxidc tmp]# getfacl a1
# file: a1
# owner: root
# group: root
user::-wx
group::-w-#effective:---
mask::r--
other::--x

       

[root@linuxidc tmp]# getfacl passwd 
# file: passwd
# owner: root
# group: root
user::rwx
user:tom:rwx#effective:r-x
group::r--
mask::r-x
other::r-x
[root@linuxidc tmp]# setfacl -m u:tom:rwx passwd 
[root@linuxidc tmp]# getfacl 
Usage: getfacl [-aceEsRLPtpndvh] file ...
Try `getfacl --help' for more information.
[root@linuxidc tmp]# getfacl passwd 
# file: passwd
# owner: root
# group: root
user::rwx
user:tom:rwx
group::r--
mask::rwx
other::r-x

給組設定ACL:

[root@linuxidc tmp]# setfacl -m g:redhat:rwx passwd 
[root@linuxidc tmp]# getfacl passwd 
# file: passwd
# owner: root
# group: root
user::rw-
group::r--
group:redhat:rwx
mask::rwx
other::r--

給other設定ACL:

[root@linuxidc tmp]# setfacl -m o::r-x passwd 
[root@linuxidc tmp]# getfacl passwd 
# file: passwd
# owner: root
# group: root
user::rw-
group::r--
group:redhat:rwx
mask::rwx
other::r-x

讓使用者在目錄中新建立的檔案都有預設的許可權:
[root@linuxidc tmp]# setfacl -m d:u:redhat:rwx xx/
[root@linuxidc tmp]# cd xx
[root@linuxidc xx]# touch cc
[root@linuxidc xx]# getfacl cc
# file: cc
# owner: root
# group: root
user::rw-
user:redhat:rwx#effective:rw-
group::r-x#effective:r--
mask::rw-
other::r--

取消目錄預設的許可權:

[root@linuxidc tmp]# setfacl -x d:u:redhat xx/
[root@linuxidc tmp]# getfacl xx/
# file: xx/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:mask::r-x
default:other::r-x

將某個檔案ACL的許可權複製給其他檔案:

[root@linuxidc tmp]# getfacl passwd | setfacl --set-file=- ens38 
[root@linuxidc tmp]# getfacl ens38 
# file: ens38
# owner: root
# group: root
user::rw-
group::r--
group:redhat:rwx
mask::rwx
other::r-x
[root@linuxidc tmp]# getfacl passwd 
# file: passwd
# owner: root
# group: root
user::rw-
group::r--
group:redhat:rwx
mask::rwx
other::r-x

 
[root@linuxidc tmp]# getfacl setuid.txt 
# file: setuid.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--

    -M 選項可以接受標準輸入,但是選項後面要加上-
[root@linuxidc tmp]# getfacl passwd | setfacl -M- setuid.txt 
[root@linuxidc tmp]# getfacl setuid.txt 
# file: setuid.txt
# owner: root
# group: root
user::rwx
user:tom:rwx
group::r--
mask::rwx
other::r-x

-
    -b選項可刪除檔案所有擴充套件的ACL許可權:
[root@linuxidc tmp]# setfacl -b passwd

 EXAMPLES
      Granting an additional user read access
              setfacl -m u:lisa:r file
      Revoking write access from all groups and all named users (using the effective rights mask)
              setfacl -m m::rx file
      Removing a named group entry from a file's ACL
              setfacl -x g:staff file
      Copying the ACL of one file to another
              getfacl file1 | setfacl --set-file=- file2
      Copying the access ACL into the Default ACL
              getfacl --access dir | setfacl -d -M- dir

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-03/115402.htm


IT145.com E-mail:sddin#qq.com