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

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

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

但如果只是想暂时备份文件权限(而不是文件本身),例如:为了阻止一些目录的内容被覆盖暂时移除该目录下所有文件写的权限;或是正在排除文件权限问题的过程中需要对文件进行chmod命令操作。在这些情况下,我们可以在原始文件权限改变之前对其进行备份,一会我们需要它的时候再将原始权限还原。在很多情况下,如果你只是想要备份文件的权限,那么完整的文件备份是不必要的。

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

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

1. 安装ACL工具

在Debian, Ubuntu,Linux Mint上


  1. $ sudo apt-get install acl

在CentOS,Fedora,RHEL上


  1. $ sudo yum install acl

2. 备份当前目录下(包括子目录)所有文件的权限


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

此命令将所有文件的ACL信息全部写入名为permissions.txt文件。

以下是生成的permissions.txt文件中部分目录信息


  1. [root@linuxprobe tmp]# cat permissions.txt
  2. # file: .
  3. # owner: root
  4. # group: root
  5. # flags: --t
  6. user::rwx
  7. group::rwx
  8. other::rwx
  9. # file: install.txt
  10. # owner: root
  11. # group: root
  12. user::rwx
  13. group::r--
  14. other::r--
  15. # file: linuxprobe.txt
  16. # owner: root
  17. # group: root
  18. user::rwx
  19. group::r-x
  20. other::r-x
  21. # file: permissions.txt
  22. # owner: root
  23. # group: root
  24. user::rw-
  25. group::r--
  26. other::r--
  27. ...

3. 修改某一文件权限,如:修改linuxprobe.txt及install.txt权限


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

4. 恢复原有权限

1)cd到创建permissions.txt时所在的目录
2)执行以下命令:


  1. setfacl --restore=permissions.txt

可以看到linuxprobe.txt及install.txt权限恢复了


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

 

本文来自合作伙伴“Linux中国”

原文发布时间为:2013-04-02.

时间: 2024-08-03 00:21:18

如何备份及恢复 Linux 文件权限的相关文章

Linux 文件权限详解 含义和修改和安全

Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 第一次接触Linux 的时候,对于文件权限方面的知识基本上是一窍不懂. 只知道文件打不开或执行不过去的时候,使用 sudo ,涉及到文件夹的时候,就使用 sudo chmod -R 777 /home/name/xxx 这样基本上都可以执行了,这样是可以使用,但是安全方面也就没有了保障,可以说就是定时炸弹,哈哈 首先介绍一下不同权限所代表的意思: 通

Linux文件权限

一.Linux文件权限     每个Linux文件具有四种访问权限:可读(r).可写(w).可执行(x)和无权限(-).     利用ls -l命令可以看到某个文件或目录的权限,它以显示数据的第一个字段为     准.第一个字段由10个字符组成,如下:         -rwxr-xr-x     第一位表示文件类型,-表示文件,d表示目录     2-4位表示文件所有者的权限,u权限     5-7位表示文件所有者所属组成员的权限,g权限     8-10位表示所有者所属组之外的用户的权限,o

初识 Linux 文件权限

在 Linux 中最基本的任务之一就是设置文件权限.理解它们是如何实现的是你进入 Linux 世界的第一步.如您所料,这一基本操作在类 UNIX 操作系统中大同小异.实际上,Linux 文件权限系统就直接取自于 UNIX 文件权限(甚至使用许多相同的工具). 但不要以为理解文件权限需要长时间的学习.事实上会很简单,让我们一起来看看你需要了解哪些内容以及如何使用它们. 基础概念 你要明白的第一件事是文件权限可以用来干什么.当你设置一个分组的权限时发生了什么?让我们将其展开来说,这个概念就真的简单多

Linux文件权限与目录管理详解_Linux

一.Linux文件系统的三种身份 1).文件所有者 2).同组用户 同一个用户组的用户可以访问该用户组的文件: 每个账号可以加入多个用户组. 在同一个用户组的文件也可以设置不同的权限,可以不让本组用户查看.3).其他人 除了文件主.同组用户以外的人就是其他人. PS: /etc/passwd 记录所有用户的账号 /etc/shadow 记录所有用户的密码 /etc/group 记录所有的组名 二.文件属性 ls -al 显示所有的文件名和相关属性(包括以.开头的隐藏文件) total 72 dr

Linux文件权限简介

一.用户与用户组 为了更好地理解文件权限,我们需要先有用户和用户组的概念.因为在Linux里面,任何一个文件都具有"User(用户).Group(用户组)及Others(其他用户)"3种身份的个别权限. 1.用户和文件所有者的概念 你用来登陆Linux主机的那个用户名就是一个用户,例如,root就是一个用户,而Linux上存在很多的用户.如果你在Linux上创建了一个文件,那么默认情况下你就是这个文件的所有者. 2.用户组的概念 有了用户就可以区分不同的文件的所有者,也可以根据文件的所

Linux文件权限的设置方法

  Linux中,每一个文件都具有特定的属性.主要包括文件类型和文件权限两个方面.可以分为5种不同的类型:普通文件.目录文件.链接文件.设备文件和管道文件. 所谓的文件权限,是指对文件的访问权限,包括对文件的读.写.删除.执行.Linux 是一个多用户操作系统,它允许多个用户同时登录和工作.因此 Linux 将一个文件或目录与一个用户或组联系起来.访问控制列表(ACL:Access Control List)为计算机提供更好的访问控制,它的作用是限制包括root用户在内的所有用户对文件.资源或者

修改linux文件权限命令:chmod命令详解_Linux

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作.可执行权限表示允许将该文件作为一个程序执行.文件被创建时,文件所有者自动拥有对该文件的读.写和可执行权限,以便于对文件的阅读和修改.用户也可根据需要把访问权限设置为需要的任何组合. 有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户.其他用户.所有者一般是文件的

Linux 文件权限的设置技巧

Windows系统其实和Linux系统有相似的地方,Windows系统文件.目录的属性有只读.隐藏,而Linux也一样. Linux中,每一个文件都具有特定的属性.主要包括文件类型和文件权限两个方面.可以分为5种不同的类型:普通文件.目录文件.链接文件.设备文件和管道文件. 所谓的文件权限,是指对文件的访问权限,包括对文件的读.写.删除.执行.Linux 是一个多用户操作系统,它允许多个用户同时登录和工作.因此 Linux 将一个文件或目录与一个用户或组联系起来.访问控制列表(ACL:Acces

linux文件权限之-i(不可修改权限),a(只可追加权限)

之前介绍了让普通用户有root权限的setuid权限,以及除了自己之外别人都无法删除的粘着位t权限.除了这两种之外,linux文件系统还有两种很实用的权限i和a i:不可修改权限 例:chattr u+i filename 则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr -i filename就可以了.查看文件是否设置了i权限用lsattr filename. 测试如下 01 #创建text文件,这个文件root有读写的权限 02 [root@test