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

转载 2016年05月31日 23:04:05

译:烨子

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

但如果只是想暂时备份文件权限(而不是文件本身),例如:为了阻止一些目录的内容被覆盖暂时移除该目录下所有文件写的权限;或是正在排除文件权限问题的过程中需要对文件进行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
......

本文转载自:http://www.linuxprobe.com/backup-linux-file-permission.html免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

相关文章推荐

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

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

Linux 备份及恢复 Linux 文件权限

概述一个系统管理员菜鸟不小心输入”chmod -R 777 /”从而导致了巨大的悲剧,使得整个系统遭到了严重的破坏。在日常管理中,我们有许多工具可以用来备份文件权限,如cp、rsync、etckeep...

交换机的配置文件备份及恢复

  • 2011年08月29日 15:40
  • 36KB
  • 下载

oracle导出数据,备份及恢复数据,及数据库日志文件的查看

以salary为例,在PLSQL Developer中操作 1.导出salary表的数据:将 salary 表的数据以 insert 语句的方式导出                        ...

Linux下mysql定时备份及恢复

备份 1.数据库定时备份工作脚本:(日期时间作为名称的压缩文件,解压开是sql脚本) /root/backup/script/backup_mysql.sh   2.备份输出路...

Linux下mysql定时备份及恢复

备份 1.数据库定时备份工作脚本:(日期时间作为名称的压缩文件,解压开是sql脚本) /root/backup/script/backup_mysql.sh 2.备份输出路径: ...
  • bjash
  • bjash
  • 2017年03月29日 19:27
  • 143

Linux下Oracle9i RMAN备份及恢复步骤介绍

1、转换服务器归档模式,如果已是归档模式可跳过此步:    %sqlplus /nolog (启动sqlplus)   SQL> conn / as sysdba (以DBA身份连接数据库)  ...

Linux 系统文件权限的备份与恢复

说一下Linux 上如何批量备份和恢复权限以便在`chmod` 灾难后及时修复系统。纯粹是看CSDN 能用MD 写博客了,试试效果。...

iisbackupIIS备份及恢复

  • 2011年10月26日 14:35
  • 73KB
  • 下载

Oracle9i RMAN 备份及恢复步骤

  • 2010年04月19日 15:09
  • 61KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何备份及恢复Linux文件权限
举报原因:
原因补充:

(最多只允许输入30个字)