linux文件权限备份、恢复-linux文件权限如何备份、恢复-getfacl/setfacl备份恢复文件权限

0、序

在运维这条路上走久了,你能听到或者遇到这样的事情就越多,甚至是你自己干过的:

一个信心满满的运维人员一个不小心,输入 "chmod -R  777 /" 导致一个巨大的悲剧,然后整个部门从上到下被撸一顿。虽然说LSer的背锅能力很强大,但能少背就尽量少背。

在日常运维流水线上,我们可用于备份文件权限的工具很多,每个团队,每个队员所喜好的工具也各有不同,但目标是一致的。下面简单介绍使用getfacl和setfacl来备份恢复文件权限的方法。

1、命令简介

    getfacl命令来自于英文词组”get file access control list“的缩写,其功能是用于显示文件或目录的ACL策略。对指定的文件或目录进行精准的权限控制,FACL是不二之选。对于每个文件,getfacl显示文件名、所有者、组和访问控制列表(ACL)。如果目录具有默认ACL,则获取facl还显示默认ACL。非目录不能具有默认ACL。

getfacl参数说明

setfacl参数说明


  setfacl,​顾名思义,设置文件或者目录访问控制列表,即​ACL​规则。这一般是用于对文件或者目录执行扩展授权,比如文件属于用户user1,但是希望给user2也添加授权,让user2也可以对文件进行操作,我们就可以通过setfacl命令实现。

2、步骤

2.1、备份

用getfacl 例子: getfacl -R /path/to/file > file_bak/path/to/file:需要备份权限的文件。
file_bak:最终的备份文件。

例如: getfacl -R usr >usr_backup.bak

查看内容:

2.2、恢复

用 setfacl 例子: setfacl --restore=file_bak /path/to/file

3、总结

运维工作就是这样,知道越多,越发现自己知道的越少。要想让自己知道的更多,日常工作中需要及时总结,转化为自己的技能。多项技能多条路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/667204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牛客周赛 Round 31

D. 思路&#xff1a;使用map构造两个链表。 #include <bits/stdc.h> using namespace std;map<int,int> l,r; int main() {int q;cin>>q;int op-1e9-1;int ed1e91;r[op]ed;l[ed]op;while(q--){int a;cin>>a;if(a1){int x,y;cin>>x>>y;int…

编程笔记 html5cssjs 069 JavaScript Undefined数据类型

编程笔记 html5&css&js 069 JavaScript Undefined数据类型 一、undefined数据类型二、类型运算小结 在JavaScript中&#xff0c;undefined 是一种基本数据类型&#xff0c;它表示一个变量已经声明但未定义&#xff08;即没有赋值&#xff09;或者一个对象属性不存在。 …

MIT6.5830 实验3

前置回顾 在实验2中&#xff0c;完成了增删查改、排序、分组、聚合、连接等基本操作&#xff0c;在已提供 sql 解析器的基础上&#xff0c;能够运行进本的 sql 语句。都是逻辑层的实现&#xff0c;没有涉及物理存储方面的内容。 实验目标 实现最简单的基于锁的transaction&am…

MicroPython ESP32开发:通过寄存器直接访问外围设备

可以通过直接读写寄存器来控制 ESP32 的外设。这就需要阅读数据手册&#xff0c;了解要使用哪些寄存器以及要写入哪些值。下面的示例展示了如何打开和更改 MCPWM0 外设的预分频器。 from micropython import const from machine import mem32# Define the register addresses …

面向对象OOP

一、面向对象的定义 基于"类"和"对象"的"组件化"编程思想 二、面向对象的核心思想 封装 继承 多态 (1)封装 : 隐藏代码实现细节&#xff0c;提高简洁性 (2)继承 &#xff1a;代码的复用&#xff0c;通过定义父类&#xff0c;子类在父类基础上…

【STM32+HAL库+CubeMX】UART轮询收发、中断收发、DMA收发方法及空闲中断详解

&#xff08;转载&#xff09;原文链接&#xff1a;https://blog.csdn.net/qq_39344192/article/details/131470735 1. 什么是UART&#xff1f; UART是一种异步串行通信接口&#xff0c;常用于通过串口与外部设备进行通信。它通过发送和接收数据帧来实现数据传输&#xff0c;使…

Android开发中,Vue 3处理回退按键事件

vue3有一些变化&#xff0c;按照网上有些文章的方法&#xff0c;发现行不通&#xff0c;通过一段时间的打印、尝试后&#xff0c;发现以下方法可行。 第一步&#xff09;首先定义一个处理回退事件的js函数&#xff0c;一定是vue.methods中的函数&#xff0c;否则找不到this&am…

postman 文档、导出json脚本 导出响应数据 response ,showdoc导入postman json脚本 导出为文档word或markdown

保存、补全尽可能多的数据、描述 保存响应数据 Response&#xff1a;&#xff08;如果导出接口数据&#xff0c;会同步导出响应数据&#xff09; 请求接口后&#xff0c;点击下方 Save as Example 可以保存响应数据到本地&#xff08;会在左侧接口下新增一个e.g. 文件用来保…

使用_NT_SYMBOL_PATH在启动VS前设置PDB路径

一、背景 由于公司相关项目的开发管理方式&#xff0c;导致公司会存在多个分支的版本正在开发/测试中。 在这样的背景下&#xff0c;我的日常工作中有时会出现存在某个分支的项目软件的某个功能出现了问题需要我去排查解决&#xff0c;而我当前并不在该分支上开发。于是只能安装…

C++泛编程(3)

类模板基础 1.类模板的基本概念2.类模板的分文件编写3.类模板的嵌套 &#xff08;未完待续...&#xff09; 在往节内容中&#xff0c;我们详细介绍了函数模板&#xff0c;这节开始我们就来聊一聊类模板。C中&#xff0c;类的细节远比函数多&#xff0c;所以这个专题也会更复杂。…

Llama2大模型开源,大模型的Android时代来了?

就昨天凌晨,微软和Meta宣布Llama2大模型开源且进一步放开商用,一下朋友圈刷屏。要知道,开源界最强大的模型就是过去Meta开源的Llama,而现在Llama2更强大,又开放商用,更有微软大模型霸主企业撑腰(微软既投资大模型界的IOS——ChatGPT,又联合发布大模型的Android——Llam…

【2月比赛合集】28场可报名的数据挖掘大奖赛,任君挑选!

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 以下信息仅供参考&#xff0c;以比赛官网为准 目录 Kaggle&#xff08;2场比赛&#xff09;阿里天池&#xff08;…

数据库学习笔记2024/2/4

随笔 1. 为什么学? 认识数据,熟悉数据,掌握数据。 进企业必备技能。 2. 怎么学? 1、MySQL数据库就是存储和管理数据的一个大型软件,这个软件有一个专门的语言叫SQL,主要学的是SQL语言,但想要达到企业用人标准,就还得学会熟练使用MySQL这个软件。 2、学习分三阶段: 一. …

salesforce的公式字段如何显示多个空格

公式字段会自动剔除文本字段中的额外空格&#xff0c;以防止显示过多的空格。如果需要显示多个空格&#xff0c;可以使用非换行空格符 &#xff08;这在某些上下文中可以被视为一个单独的空格&#xff09;。例如&#xff1a; " "

倒计时64天

B-小红的因子数_牛客周赛 Round 31 (nowcoder.com) 超时了&#xff08;108.33/150&#xff09; #include <bits/stdc.h> using namespace std; const int N 1e5 5; const int inf 0x3f3f3f3f; #define int long long void solve() {int x;cin>>x;if(x1){cout&…

微信小程序课设(基于云开发)

微信小程序通过Laf云平台接入ChatGPT实现聊天&#xff0c;回答方式采用流式回答。 以下是图片展示其页面 回答次数通过卡密兑换 以下是对话页面的代码 <!--pages/content/content.wxml--><view class"container"><view class"div" hidde…

软件测试学习笔记-使用jmeter进行接口测试

使用jmeter之前首先需要安装jdk&#xff0c;配置其环境变量&#xff0c;然后再安装jmeter 软件测试学习笔记-使用jmeter进行接口测试 1. 断言1. 响应断言2. JSON断言 2. 参数化1. 用户定义的变量2. CSV参数化 3. 接口关联4. 连接数据库 1. 断言 对某个接口其中一些信息进行判断…

DP第一天:力扣● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯

● 理论基础 DP大约五种问题&#xff1a; 动规基础&#xff08;斐波那契数列、爬楼梯&#xff09;&#xff1b;背包问题&#xff1b;股票问题&#xff1b;打家劫舍&#xff1b;子序列问题。 要搞清楚&#xff1a; DP数组及其下标的含义&#xff1b;DP数组如何初始化&#x…

DiskGenius v4.30专业版下载

DiskGenius是一款专业级的数据恢复软件&#xff0c;算法精湛、功能强大&#xff0c;用户群体广泛&#xff1b;支持各种情况下的文件恢复和分区恢复&#xff0c;恢复效果好&#xff1b;文件预览、扇区编辑、加密分区恢复、Ext4分区恢复、RAID恢复等高级功能应有尽有&#xff0c;…

C++设计模式-简单工厂模式,工厂方法模式,抽象工厂模式

目录 简单工厂模式&#xff0c;工厂方法模式&#xff0c;抽象工厂模式 附&#xff1a; 简单工厂模式&#xff0c;工厂方法模式&#xff0c;抽象工厂模式 简单工厂模式&#xff1a;根据字符串参数返回对象。 工厂方法模式&#xff1a;创建一维对象&#xff0c;即一个工厂创建…