Linux备份及恢复及文件权限的介绍

发布时间 - 2017-05-24 00:00:00    点击率:

这篇文章主要介绍了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]$

【相关推荐】

1. Mysql免费视频教程

2. 详解innodb_index_stats导入数据时 提示表主键冲突的错误

3. linux下zip文件解压出现乱码怎么办?

4. 教你怎么在linux中调整分区大小

5. Linux如何检测服务器网络状况


# linux  # 如果你  # 备份文件  # 情况下  # 菜鸟  # 目录下  # 不需要  # 我们可以  # 有许多  # 对其  # 教你 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 焦点电影公司作品,电影焦点结局是什么?  JavaScript数据类型有哪些_如何准确判断一个变量的类型  Laravel如何升级到最新版本?(升级指南和步骤)  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  在线制作视频网站免费,都有哪些好的动漫网站?  Laravel如何实现模型的全局作用域?(Global Scope示例)  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  Laravel Session怎么存储_Laravel Session驱动配置详解  Thinkphp 中 distinct 的用法解析  浅析上传头像示例及其注意事项  轻松掌握MySQL函数中的last_insert_id()  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  如何基于云服务器快速搭建个人网站?  如何在Ubuntu系统下快速搭建WordPress个人网站?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  实例解析Array和String方法  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  JS去除重复并统计数量的实现方法  图册素材网站设计制作软件,图册的导出方式有几种?  Laravel定时任务怎么设置_Laravel Crontab调度器配置  Laravel如何创建自定义Artisan命令?(代码示例)  如何在腾讯云服务器上快速搭建个人网站?  如何在云虚拟主机上快速搭建个人网站?  js实现点击每个li节点,都弹出其文本值及修改  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  香港服务器网站推广:SEO优化与外贸独立站搭建策略  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何在IIS中配置站点IP、端口及主机头?  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  iOS中将个别页面强制横屏其他页面竖屏  简单实现Android文件上传  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  Laravel模型事件有哪些_Laravel Model Event生命周期详解  如何快速搭建高效WAP手机网站?  Laravel怎么判断请求类型_Laravel Request isMethod用法  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  如何在阿里云通过域名搭建网站?  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  JavaScript如何实现继承_有哪些常用方法  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  Laravel如何使用模型观察者?(Observer代码示例)  微信小程序 wx.uploadFile无法上传解决办法  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel如何记录自定义日志?(Log频道配置)