如何备份及恢复Linux文件权限
2016-04-01 08:37
567 查看
你可能听说或碰到过这样的事情:一个系统管理员菜鸟不小心输入"chmod -R 777 /"从而导致了巨大的悲剧,使得整个系统遭到了严重的破坏。在日常管理中,我们有许多工具可以用来备份文件权限,如cp、rsync、etckeeper等。如果你使用了这个备份工具,那么你的确不需要担心改变的文件权限问题。
但如果只是想暂时备份文件权限(而不是文件本身),例如:为了阻止一些目录的内容被覆盖暂时移除该目录下所有文件写的权限;或是正在排除文件权限问题的过程中需要对文件进行chmod命令操作。在这些情况下,我们可以在原始文件权限改变之前对其进行备份,一会我们需要它的时候再将原始权限还原。在很多情况下,如果你只是想要备份文件的权限,那么完整的文件备份是不必要的。
在Linux上,实际上备份和恢复文件权限使用访问控制列表(ACL)是容易的。ACL根据不同的所主和所组在兼容posix的文件系统上定义了单个文件的权限。
以下演示如何使用ACL工具备份和恢复Linux的文件权限
1. 安装ACL工具
在Debian, Ubuntu,Linux Mint上
在CentOS,Fedora,RHEL上
2. 备份当前目录下(包括子目录)所有文件的权限
此命令将所有文件的ACL信息全部写入名为permissions.txt文件。
以下是生成的permissions.txt文件中部分目录信息
3. 修改某一文件权限,如:修改linuxprobe.txt及install.txt权限
4. 恢复原有权限
1)cd到创建permissions.txt时所在的目录
2)执行以下命令:
可以看到linuxprobe.txt及install.txt权限恢复了
免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://***/
但如果只是想暂时备份文件权限(而不是文件本身),例如:为了阻止一些目录的内容被覆盖暂时移除该目录下所有文件写的权限;或是正在排除文件权限问题的过程中需要对文件进行chmod命令操作。在这些情况下,我们可以在原始文件权限改变之前对其进行备份,一会我们需要它的时候再将原始权限还原。在很多情况下,如果你只是想要备份文件的权限,那么完整的文件备份是不必要的。
在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 ......
免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://***/
相关文章推荐
- Linux Centos 搭建SFTP服务器
- linux中强大且常用命令:find、grep
- linux系统命令解析(0基础篇)
- ll | sort -k 5 -n,必须要记录这个命令,这就是linux
- Linux CentOS命令行界面字体重复问题解决记录
- (OK) centos7 编译 php-5.6.14
- (OK) 调试cBPM—CentOS7—gdb—gdbserver—问题的解决—完整的调试过程—成功
- OK) 调试cBPM—CentOS7—gdb—gdbserver—问题的解决—5—process指向错误地址
- (OK) 调试cBPM—CentOS7—gdb—gdbserver—问题的解决—4—段错误
- VMware虚拟机克隆Linux系统后找不到eth0网卡的问题
- linux中断流程详解
- Linux内核线程
- linux C 中常用的字符串操作函数
- linux设备驱动归纳总结(三):6.poll和sellct
- linux设备驱动归纳总结(四):5.SMP下的竞态和并发
- linux设备驱动归纳总结(五):2.操作硬件——IO内存
- Linux 错误码列表
- Linux驱动学习笔记(3)字符设备驱动
- linux设备驱动归纳总结(三):4.ioctl的实现
- linux中gets()函数和fgets()函数