Linux文件权限如何备份及恢复?

admin Linux运维评论568字数 1378阅读模式
摘要

你可能听说或碰到过这样的事情:一个系统管理员菜鸟不小心输入”chmod -R 777 /”从而导致了巨大的悲剧,使得整个系统遭到了严重的破坏。在日常管理中,我们有许多工具可以用来备份文件权限,如cp、rsync、etckeeper等。如果你使用了这个备份工具,那么你的确不需要担心改变的文件权限问题。

在Linux上,实际上备份和恢复文件权限使用访问控制列表(ACL)是容易的。ACL根据不同的属主和属组在兼容posix的文件系统上定义了单个文件的权限。

以下演示如何使用ACL工具备份和恢复Linux的文件权限

1. 安装ACL工具

在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

版权声明:文章图片资源来源于网络,如有侵权,请留言删除!!!
admin
  • 本文由 发表于 2021年9月28日 17:33:48
  • 转载请务必保留本文链接:https://www.58pxe.com/7768.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: