1. 程式人生 > 其它 >備份和還原linux檔案許可權

備份和還原linux檔案許可權

在Linux上,備份和恢復檔案許可權使用訪問控制列表(ACL)是容易的。ACL根據不同的屬主和屬組在相容posix的檔案系統上定義了單個檔案的許可權

在Debian, Ubuntu,Linux Mint上


$ sudo apt-get install acl

在CentOS,Fedora,RHEL上

sudo yum install acl

2. 備份當前目錄下(包括子目錄)所有檔案的許可權

[root@linuxprobe tmp]#  ls -l
total 8
-rwxr--r--. 1 root root  0 Mar  3 04:40 install.txt
-rwxr-xr-x. 1
root root 0 Mar 3 04:41 linuxprobe.txt [root@linuxprobe tmp]# getfacl -R . > permissions.txt ...

此命令將所有檔案的ACL資訊全部寫入名為permissions.txt檔案。

以下是生成的permissions.txt檔案中部分目錄資訊

[root@linuxprobe tmp]# cat permissions.txt
# file: .
# owner: root
# group: root
# flags: --t
user::rwx
group::rwx
other::rwx
# 
file: install.txt # owner: root # group: root user::rwx group::r-- other::r-- # file: linuxprobe.txt # owner: root # group: root user::rwx group::r-x other::r-x # file: permissions.txt # owner: root # group: root user::rw- group::r-- other::r-- ...

3. 修改某一檔案許可權,如:修改linuxprobe.txt及install.txt許可權

[root@linuxprobe tmp]# chmod
733 linuxprobe.txt [root@linuxprobe tmp]# chmod 573 install.txt [root@linuxprobe tmp]# ls -l total 8 -r-xrwx-wx. 1 root root 0 Mar 3 04:40 install.txt -rwx-wx-wx. 1 root root 0 Mar 3 04:41 linuxprobe.txt -rw-r--r--. 1 root root 4361 Mar 3 04:41 permissions.txt ......

4. 恢復原有許可權

1)cd到建立permissions.txt時所在的目錄
2)執行以下命令

setfacl --restore=permissions.txt

可以看到linuxprobe.txt及install.txt許可權恢復了

[root@linuxprobe tmp]# setfacl --restore=permissions.txt
[root@linuxprobe tmp]# ls -l
total 8
-rwxr--r--. 1 root root    0 Mar  3 04:40 install.txt
-rwxr-xr-x. 1 root root    0 Mar  3 04:41 linuxprobe.txt
-rw-r--r--. 1 root root 4361 Mar  3 04:41 permissions.txt
......

參考:https://linux.cn/article-7197-1.html