Linux备份及恢复及Linux文件权限详解

 更新时间:2017年05月15日 11:28:03   投稿:lqh  
这篇文章主要介绍了Linux备份及恢复及Linux文件权限详解的相关资料,需要的朋友可以参考下

Linux备份及恢复及Linux文件权限详解

概述

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

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

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

安装ACL工具

在Debian, Ubuntu,Linux Mint上

$ sudo apt-get install acl

在CentOS,Fedora,RHEL上

$ sudo yum install acl

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

[xgj@entel2 shells]$ getfacl -R . > permissions.txt
[xgj@entel2 shells]$ 
[xgj@entel2 shells]$ ll
total 8
-rw-rw-r-- 1 xgj xgj 231 Jan 16 12:32 permissions.txt
-rwxrwxr-x 1 xgj xgj 420 Jan 16 12:14 sys_info.sh

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

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

[xgj@entel2 shells]$ cat permissions.txt 
# file: .
# owner: xgj
# group: xgj
user::rwx
group::rwx
other::r-x

# file: sys_info.sh
# owner: xgj
# group: xgj
user::rwx
group::rwx
other::r-x

# file: permissions.txt
# owner: xgj
# group: xgj
user::rw-
group::rw-
other::r--

修改某一文件权限

[xgj@entel2 shells]$ ll
total 8
-rw-rw-r-- 1 xgj xgj 231 Jan 16 12:32 permissions.txt
-rwxrwxr-x 1 xgj xgj 420 Jan 16 12:14 sys_info.sh
[xgj@entel2 shells]$ chmod 777 sys_info.sh 
[xgj@entel2 shells]$ ll
total 8
-rw-rw-r-- 1 xgj xgj 231 Jan 16 12:32 permissions.txt
-rwxrwxrwx 1 xgj xgj 420 Jan 16 12:14 sys_info.sh

恢复原有权限

  1. cd到创建sys_info.sh时所在的目录
  2. 执行以下命令:
[xgj@entel2 shells]$ setfacl --restore=permissions.txt
[xgj@entel2 shells]$ ll
total 8
-rw-rw-r-- 1 xgj xgj 231 Jan 16 12:32 permissions.txt
-rwxrwxr-x 1 xgj xgj 420 Jan 16 12:14 sys_info.sh
[xgj@entel2 shells]$ 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • 安装Ubuntu20.04与安装NVIDIA驱动的教程

    安装Ubuntu20.04与安装NVIDIA驱动的教程

    这篇文章主要介绍了安装Ubuntu20.04,安装NVIDIA驱动的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 新手入门级linux系统常用命令大全

    新手入门级linux系统常用命令大全

    本文为大家分享了Linux常用命令,这些命令几乎每天都要用到,记录下来方便以后查询使用
    2018-10-10
  • 在CentOS 7上给一个网卡分配多个IP地址的方法

    在CentOS 7上给一个网卡分配多个IP地址的方法

    本篇文章主要介绍了在CentOS 7上给一个网卡分配多个IP地址的方法,具有一定的参考价值,有需要的可以了解一下。
    2017-03-03
  • linux下修改文件权限chmod命令详细解析

    linux下修改文件权限chmod命令详细解析

    大家好,本篇文章主要讲的是linux下修改文件权限chmod命令详细解析,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • CentOS 7.2配置Apache服务httpd(上)

    CentOS 7.2配置Apache服务httpd(上)

    这篇文章主要为大家详细介绍了CentOS 7.2配置Apache服务 httpd上篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • 详解linux pwm驱动编写

    详解linux pwm驱动编写

    这篇文章主要介绍了详解linux pwm驱动编写,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • CentOS Yum编译安装MySQL 5.6

    CentOS Yum编译安装MySQL 5.6

    这篇文章主要为大家详细介绍了CentOS Yum编译安装MySQL 5.6,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 浅谈linux几种定时函数的使用

    浅谈linux几种定时函数的使用

    下面小编就为大家带来一篇浅谈linux几种定时函数的使用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • linux系统安装zookeeper 服务的方法

    linux系统安装zookeeper 服务的方法

    这篇文章主要介绍了linux 系统安装zookeeper 服务的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • 制作PHP的RPM包详解及实例

    制作PHP的RPM包详解及实例

    这篇文章主要介绍了制作PHP的RPM包详解及实例的相关资料,为了方便源码包的安装,我们需要自己订制软件包的需求,我们会把一些源码包按照我们的需求来做成rpm包,需要的朋友可以参考下
    2016-12-12

最新评论