文件系统属性chattr权限,也叫不可改变位权限,该权限没有风险,但是他能限制root用户。

1、命令格式

[root@localhost ~]# chattr [+-=] [选项] 文件或目录名

选项

  • +:增加权限。
  • -:删除权限。
  • =:等于某权限。(不常用)
  • i:如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据(也就是文件不能做任何修改,相当于把文件加了一把锁,包括root在内都不行。);如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。
  • a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除。
  • e:Linux中绝大多数的文件都默认拥有e属性。表示该文件是使用ext文件系统进行字储的,而且不能使用chattr -e命令取消e属性。

提示:常用的就是ia属性。

2、查看文件系统属性chattr权限

# 给abc文件加入i属性
[root@localhost ~]# chattr +i abc # ll命令是查看不到任何结果的,这点比较不好。
[root@localhost ~]# ll abc
rw-r--r-.1 root root 0 2月 19 13:08 abc

如果需要查看chattr权限,需要用如下命令:

[rootelocalhost ~]# chattr [选项] 文件名

选项:

  • -a:显示所有文件和目录。
  • -d:若目标是目录,仅列出目录本身的属性,而不是子文件的。
[root@localhost ~]# chattr abc
----i--------e- abc

注意:带~表示临时文件,和Windows系统的word的临时文件差不多一个意思。直接rm删除就可以了。

如下图所示:

3、示例

例1:给文件赋予chattr权限的i属性。

# 建立测试文件,给文件赋予i属性
[root@localhost ~]# touch ftest
[root@localhost ~]# chattr +i ftest # 赋予i属性后,root也不能删除
[root@localhost ~]# rm -rf ftest
rm:无法删除"ftest":不允许的操作 # 也不能修改文件的数据
[root@localhost ~]# echo 111 >> ftest
-bash:ftest:权限不够

例2:给目录赋予chattr权限的i属性。

# 建立测试目录给
[root@localhost ~]# mkdir dtest
# 再建立一个测试文件abc
[root@localhost dtest]# touch dtest/abc
# 给目录赋予i属性
[root@localhost ~]# chattr +i dtest/ # dtest目录不能新建文件
[root@localhost ~]# cd dtest/
[root@localhost dtest] # touch bcd
touch:无法创建"bcd":权限不够 # 但是可以修改文件内容
[root@localhost dtest]# echo 1111 >> abc
[root@localhost dtest]# cat abc
1111 # 不能删除目录内文件
[root@localhost dtest]# rm -rf abc
rm:无法删除"abc":权限不够

例3:测试chattr权限的a属性。

# 给abc文件赋予a属性
[root@localhost ~]# chattr +a abc # 向abc文件中追加内容
# 注意一定不能用vim编辑器,用vim编辑器编辑内容不能保存。
[root@localhost ~]# echo aaaaaaaaaaaaaaaaaaaaaa >> abc
[root@localhost ~]# cat abc
aaaaaaaaaaaaaaaaaaaaaa # 可以复制文件和新建文件到指定目录
[root@localhost ~]# cp /var/log/messages /back/log/ # 但是不允许删除文件
[root@localhost ~]# rm -rf abc
rm:无法删除"/back/1og/messages":不允许的操作

『学了就忘』Linux权限管理 — 56、不可改变位权限(chattr)的更多相关文章

  1. 『学了就忘』Linux基础命令 — 25、文件基本权限的管理

    目录 1.文件和目录的默认权限 2.umask默认权限 (1)查看系统的umask权限 (2)用八进制数值显示umask权限 (3)umask权限的计算方法 (4)注意:umask默认权限的计算绝不是 ...

  2. 『学了就忘』Linux基础命令 — 23、文件基本权限的介绍和作用

    目录 1.基本权限的介绍 (1)权限位的含义 (2)权限的优先级 2.权限的基本作用 (1)权限含义的解释 (2)目录权限说明 1.基本权限的介绍 (1)权限位的含义 前面讲解ls命令时,我们已经知道 ...

  3. 『学了就忘』Linux基础命令 — 24、文件基本权限的相关命令

    目录 1.chmod命令 2.权限模式 (1)用户身份. (2)赋予方式. (3)权限. 3.数字权限 4.文件常用权限 5.chown命令 6.chgrp命令 7.总结 常用基本权限操作命令: ch ...

  4. 『学了就忘』Linux用户管理 — 50、用户管理相关文件详细说明

    目录 1.用户信息文件 2./etc/shadow影子文件 3./etc/group 组信息文件 4.组密码文件 5.用户的家目录 6.用户邮箱目录 7.用户模板目录 总结: 提示:严格的用户权限划分 ...

  5. 『学了就忘』Linux用户管理 — 51、用户管理相关命令

    目录 1.添加用户(useradd命令) 2.设定密码(passwd命令) 3.用户信息修改(usermod命令) 4.删除用户(userdel命令) 5.切换用户身份(su命令) 1.添加用户(us ...

  6. 『学了就忘』Linux服务管理 — 75、Linux系统中的服务

    目录 1.服务的介绍 2.Windows系统中的服务 3.Linux系统中服务的分类 4.独立的服务和基于xinetd服务的区别 5.如何查看一个服务是独立的服务还是基于xinetd的服务 (1)查看 ...

  7. 『学了就忘』Linux日志管理 — 92、日志轮替

    目录 1.日志文件的命名规则 2.logrotate配置文件说明 3.logrotate配置文件的主要参数 1.日志文件的命名规则 日志轮替最主要的作用就是把旧的日志文件移动并改名,同时建立新的空日志 ...

  8. 『学了就忘』Linux日志管理 — 93、日志轮替补充

    目录 1.把自己的日志加入日志轮替 (1)操作方式 (2)示例 2.logrotate命令 1.把自己的日志加入日志轮替 使用RPM包方式安装服务的日志会自动的加入logrotate轮替,一般不需要你 ...

  9. 『学了就忘』Linux软件包管理 — 40、Linux系统软件包介绍

    目录 1.Linux系统软件包分类 2.源码包说明 3.二进制包说明 4.RPM包的优缺点 4.RPM包的两种安装方法 5.总结 1.Linux系统软件包分类 Linux系统下的软件包只有源码包和二进 ...

  10. 『学了就忘』Linux软件包管理 — 42、对RPM软件包的查询操作

    目录 1.查询RPM软件包是否安装 2.查询系统中所有已安装的RPM软件包 3.查询RPM软件包的详细信息 4.查询RPM软件包中的文件列表 5.查询系统文件属于哪个RPM包 6.查询RPM软件包所依 ...

随机推荐

  1. 2020.11.14-pta天梯练习赛补题

    7-7 矩阵A乘以B 给定两个矩阵A和B,要求你计算它们的乘积矩阵AB.需要注意的是,只有规模匹配的矩阵才可以相乘.即若A有R​a​​行.C​a​​列,B有R​b​​行.C​b​​列,则只有C​a​​ ...

  2. 解决npm : 无法加载文件 D:\Code\renren-fast-vue\node_modules\.bin\npm.ps1,因为在......

    解决这个问题: 看看错误信息: npm : 无法加载文件 D:\DevPath\nodejs\npm.ps1,因为在此系统上禁止运行脚本.有关详细信息,请参阅 https:/go.microsoft. ...

  3. Bug概述、状态、类型、级别、优先级提交和Bug生命周期管理

    缺陷概述: 1)缺陷(Defect):是指存在于软件之中偏差,可被激活,以静态形式存在于软件内部,相当于Bug. 2)故障(Fault):当缺陷被激活后,软件运⾏中出现的状态,可引起意外情况,若不加处 ...

  4. props&attrs provide inject

    defineComponent({ props: {// 1 } setup (props, {attrs, emit}) { } }) 一,组件传值: 父传子: 1.如果没有在定义的props中声明 ...

  5. MAC 安装 apache ab 压力测试工具以及遇到的坑

    ab 是apache对 http服务器进行压力测试的工具,它可以测试出服务器每秒可以处理多少请求.本文记录mac版本安装 ab 的步骤以及遇到的坑. 下载 进入 apache ab官网 下载页面. 安 ...

  6. 使用Mybatis的TypeHandler加解密数据

    使用Mybatis的TypeHandler加解密数据 一.背景 二.解决方案 三.需求 四.实现思路 1.编写一个实体类,凡是此实体类的数据都表示需要加解密的 2.编写一个加解密的`TypeHandl ...

  7. 使用logstash的grok插件解析springboot日志

    使用logstash的grok插件解析springboot日志 一.背景 二.解决思路 三.前置知识 四.实现步骤 1.准备测试数据 2.编写`grok`表达式 3.编写 logstash pipel ...

  8. CCD摄像头视场角计算公式

    视场角大小和CCD传感器尺寸和镜头焦距有关: 水平视场角 = 2 × arctan(w / 2f); 垂直视场角 = 2 × arctan(h / 2f); 视场角 = 2 × arctan(d / ...

  9. linux中dd命令

    转载:https://www.runoob.com/linux/linux-comm-dd.html Linux dd 命令用于读取.转换并输出数据. dd 可从标准输入或文件中读取数据,根据指定的格 ...

  10. git merge远程合并

    当某个分支上的开发工作完成后需要将其合入主分支master 但是在提交合并前我们自己最好做一次衍合,目的是检测是否有冲突的风险,如果有应该在本分支先解决冲突然后在提交合并. 否则解决冲突的工作就全部转 ...