你可能据说或碰到过这样的事情:一个系统管理员菜鸟不当心输入"chmod -R 777 /"从而致使了巨大的悲剧,使得整个系统遭到了严重的破坏。在平常管理中,咱们有许多工具能够用来备份文件权限,如cp、rsync、etckeeper等。若是你使用了这个备份工具,那么你的确不须要担忧改变的文件权限问题。linux
但若是只是想暂时备份文件权限(而不是文件自己),例如:为了阻止一些目录的内容被覆盖暂时移除该目录下全部文件写的权限;或是正在排除文件权限问题的过程当中须要对文件进行chmod命令操做。在这些状况下,咱们能够在原始文件权限改变以前对其进行备份,一会咱们须要它的时候再将原始权限还原。在不少状况下,若是你只是想要备份文件的权限,那么完整的文件备份是没必要要的。
在Linux上,实际上备份和恢复文件权限使用访问控制列表(ACL)是容易的。ACL根据不一样的所主和所组在兼容posix的文件系统上定义了单个文件的权限。工具
如下演示如何使用ACL工具有份和恢复Linux的文件权限rest
1. 安装ACL工具教程
在Debian, Ubuntu,Linux Mint上get
$ sudo apt-get install acl
在CentOS,Fedora,RHEL上io
$ 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文件。file
如下是生成的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权限rsync
[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 ......
免费提供最新Linux技术教程书籍,为开源技术爱好者努力作得更多更好:http://www.linuxprobe.com/