linux中acl管理詳解

2021-08-04 13:32:05 字數 2834 閱讀 7500

1、acl簡介;

2、centos7 與之前版本的區別;

3、管理acl工具的介紹

4、注意事項

訪問控制表(access control list,acl),又稱訪問控制串列,是使用以訪問控制矩陣為基礎的訪問控制方法,每乙個物件對應乙個串列主體[1]。訪問控制表描述每乙個物件各自的訪問控制,並記錄可對此物件進行訪問的所有主體對物件的許可權。

主要功能:為了更好的管理使用者許可權,可以自由的設定使用者的訪問檔案的許可權,實行有效的管理。對某些組或者使用者有特殊許可權的設定。

centos7版本,進行對磁碟的分割槽,自動建立acl功能。而centos6之前的版本只有安裝系統建立的分割槽中自動建立acl功能。安裝系統成功後,建立分割槽時不自動建立acl功能;如果需要可以手動建立:

首先要掛載分割槽才可以新增acl功能;

tune2fs –o acl /dev/sdb1

mount –o acl /dev/sdb1 /mnt/test

(1)setfacl set file access control lists
usage:

setfacl [-bkndrlpvh] [ acl_spec] [ acl_file] file …

setfacl –restore=file

options:

-m:修改使用者、組、mask acl許可權;

-b:清空所有acl許可權;

-x:刪除acl許可權;但是刪除的不乾淨;

-k:清除預設acl許可權;

-m:呼叫檔案修改acl許可權;

-r:遞迴修改目錄下acl許可權;

示例
getfacl file|directory 檢視檔案acl功能;

setfacl -m u:username:mode file|directory 修改檔案或目錄使用者的acl許可權;

setfacl -m g:groupname:mode file|directory 修改檔案或目錄組的acl許可權;

setfacl -rm g:groupname:mode directory 遞迴修改目錄下acl許可權;

setfacl -m file.acl file|directory 呼叫檔案修改檔案後目錄的acl許可權;

setfacl -x u:username: file|directory 刪除使用者許可權;

setfacl -x file.acl(檔案中寫有刪除的許可權內容) directory 只對目錄起作用;

setfacl -b file 清除檔案的acl許可權;

setfacl -k file 刪除預設的acl許可權;

setfacl -rm u:mage:rwx dir/

x:對目錄檔案下的檔案都生效;

setfacl -rm u:mage:rwx dir/

x:只對目錄起作用,對目錄下的檔案不生效;

getfacl file1 | setfacl –set-file=- file2 複製file1的acl許可權給file2;

(2)設定mask許可權:
mask許可權只對自定使用者、自定義組、所屬組有效,對所有者和其他使用者無效;

mask相當於乙個高壓線,上述有效的定義中不能超過mask定義的許可權。

setfacl -m mask::rx file 設定mask許可權;

–set選項會把原有的acl項都刪除,用新的替代,需要注意的是一定要包含ugo的設定,不能象-m一樣只是新增acl就可以。

setfacl –set u::rw,u:wang:rw,g::r,o::- file1

(3)備份和恢復acl
主要的檔案操作命令cp和mv都支援acl,只是cp命令需要加上-p 引數。但是tar等常見的備份工具是不會保留目錄和檔案的acl資訊 .

備份:getfacl -r directory >/path/to/some_file

備份是會自動刪除路徑前/,方便以後路徑改變;

恢復:

setfacl –restore /path/to/some_file

setfacl -r –set-file=acl.txt /path/to/source

(1)設定了acl功能在許可權或.會變成+。

(2)設定了acl功能,所屬組的許可權不能原所屬組的許可權,而是自定義組的許可權。

(3)如果對組修改許可權,組中的使用者對此檔案都有組的許可權;使用者既在組中又單獨對使用者修改許可權,這個使用者只能匹配使用者定義的許可權。

(4)乙個使用者屬於多個組,使用者得到的許可權累加。

(5)acl生效順序:所有者-->自定義使用者-->自定義組(如果有多個組,許可權累加)-->其他人。

cp /etc/passwd f2

[root@localhost dir]# ll #此時檢視檔案時,新建立的檔案又acl功能;舊檔案沒有acl功能;

total 8

-rw-r--r--. 1 root root 23 jul 29 02:43 f1

-rw-r--r--+ 1 root root 2801 jul 29 02:48 f2

備份和恢復示例:

Linux 許可權管理 ACL

用於解決使用者對檔案授權身份不足的問題。root localhost dumpe2fs h dev sda2 分割槽 如果沒有找到則需要重新掛載 root localhost mount o remount acl 臨時生效 root localhost vim etc fstab uuid 2fa...

linux下acl應用詳解

簡介acl是訪問控制列表 access control lists 的縮寫,對於unix系統 acl是標準unix檔案屬性 r,w 的附加擴充套件。acl給予使用者和管理員更好控制檔案讀寫和許可權賦予的能力,商業unix和ntfs以及freebsd都支援檔案系統的 acl,linux從2.6核心開始...

Linux賬號管理和ACL許可權管理

使用者識別符號 etc passwd 檔案結構 賬號名稱 口令 uid gid 使用者資訊說明欄 家目錄 shell etc shadow檔案結構 賬號名稱 口令 最近更動口令日期 口令不可被更改的天數 口令需要重新變更的天數 口令需要變更前警告的天數 口令失效日期 賬號失效日期 etc group...