『学了就忘』Linux权限管理 — 56、不可改变位权限(chattr)
文件系统属性chattr
权限,也叫不可改变位权限,该权限没有风险,但是他能限制root
用户。
1、命令格式
[root@localhost ~]# chattr [+-=] [选项] 文件或目录名
选项
+
:增加权限。-
:删除权限。=
:等于某权限。(不常用)i
:如果对文件设置i
属性,那么不允许对文件进行删除、改名,也不能添加和修改数据(也就是文件不能做任何修改,相当于把文件加了一把锁,包括root
在内都不行。);如果对目录设置i
属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。a
:如果对文件设置a
属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a
属性,那么只允许在目录中建立和修改文件,但是不允许删除。e
:Linux中绝大多数的文件都默认拥有e
属性。表示该文件是使用ext
文件系统进行字储的,而且不能使用chattr -e
命令取消e
属性。
提示:常用的就是
i
和a
属性。
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)的更多相关文章
- 『学了就忘』Linux基础命令 — 25、文件基本权限的管理
目录 1.文件和目录的默认权限 2.umask默认权限 (1)查看系统的umask权限 (2)用八进制数值显示umask权限 (3)umask权限的计算方法 (4)注意:umask默认权限的计算绝不是 ...
- 『学了就忘』Linux基础命令 — 23、文件基本权限的介绍和作用
目录 1.基本权限的介绍 (1)权限位的含义 (2)权限的优先级 2.权限的基本作用 (1)权限含义的解释 (2)目录权限说明 1.基本权限的介绍 (1)权限位的含义 前面讲解ls命令时,我们已经知道 ...
- 『学了就忘』Linux基础命令 — 24、文件基本权限的相关命令
目录 1.chmod命令 2.权限模式 (1)用户身份. (2)赋予方式. (3)权限. 3.数字权限 4.文件常用权限 5.chown命令 6.chgrp命令 7.总结 常用基本权限操作命令: ch ...
- 『学了就忘』Linux用户管理 — 50、用户管理相关文件详细说明
目录 1.用户信息文件 2./etc/shadow影子文件 3./etc/group 组信息文件 4.组密码文件 5.用户的家目录 6.用户邮箱目录 7.用户模板目录 总结: 提示:严格的用户权限划分 ...
- 『学了就忘』Linux用户管理 — 51、用户管理相关命令
目录 1.添加用户(useradd命令) 2.设定密码(passwd命令) 3.用户信息修改(usermod命令) 4.删除用户(userdel命令) 5.切换用户身份(su命令) 1.添加用户(us ...
- 『学了就忘』Linux服务管理 — 75、Linux系统中的服务
目录 1.服务的介绍 2.Windows系统中的服务 3.Linux系统中服务的分类 4.独立的服务和基于xinetd服务的区别 5.如何查看一个服务是独立的服务还是基于xinetd的服务 (1)查看 ...
- 『学了就忘』Linux日志管理 — 92、日志轮替
目录 1.日志文件的命名规则 2.logrotate配置文件说明 3.logrotate配置文件的主要参数 1.日志文件的命名规则 日志轮替最主要的作用就是把旧的日志文件移动并改名,同时建立新的空日志 ...
- 『学了就忘』Linux日志管理 — 93、日志轮替补充
目录 1.把自己的日志加入日志轮替 (1)操作方式 (2)示例 2.logrotate命令 1.把自己的日志加入日志轮替 使用RPM包方式安装服务的日志会自动的加入logrotate轮替,一般不需要你 ...
- 『学了就忘』Linux软件包管理 — 40、Linux系统软件包介绍
目录 1.Linux系统软件包分类 2.源码包说明 3.二进制包说明 4.RPM包的优缺点 4.RPM包的两种安装方法 5.总结 1.Linux系统软件包分类 Linux系统下的软件包只有源码包和二进 ...
- 『学了就忘』Linux软件包管理 — 42、对RPM软件包的查询操作
目录 1.查询RPM软件包是否安装 2.查询系统中所有已安装的RPM软件包 3.查询RPM软件包的详细信息 4.查询RPM软件包中的文件列表 5.查询系统文件属于哪个RPM包 6.查询RPM软件包所依 ...
随机推荐
- Upload-labs通关指南(下) 11-20
承接上篇,这次我们继续做下半部分. 有些题目有其他做法是针对于windows系统特性的,并不能在linux上奏效,因此不在考虑范围之内. Pass-11 制作图片马直接上传 copy a.jpg /a ...
- Golang通脉之指针
指针的概念 指针是存储另一个变量的内存地址的变量. 变量是一种使用方便的占位符,用于引用计算机内存地址. 一个指针变量可以指向任何一个值的内存地址. 在上面的图中,变量b的值为156,存储在内存地址0 ...
- 2.3 Core Building Blocks 核心构件
Core Building Blocks 核心构件 DDD mostly focuses on the Domain & Application Layers and ignores the ...
- T-SQL——关于XML类型
目录 0. 将结果集转化为XML格式 1. 列值拼接为字符串 2. 字符串转换为列值 3. 一些说明 参考 志铭-2021年10月23日 10:43:21 0. 将结果集转化为XML格式 测试数据 I ...
- LeetCode:并查集
并查集 这部分主要是学习了 labuladong 公众号中对于并查集的讲解,文章链接如下: Union-Find 并查集算法详解 Union-Find 算法怎么应用? 概述 并查集用于解决图论中「动态 ...
- MySQL:补充知识
MySQL补充知识 在学习完 MySQL 基础与提高内容后: 基础知识笔记: MySQL:基础语法-1 MySQL:基础语法-2 MySQL:基础语法-3 MySQL:基础语法-4 提高知识笔记: M ...
- alertmanager的使用
alertmanager的使用 一.Alertanager的安装 1.下载 2.安装 3.启动 4.alertmanager和prometheus的整合 二.告警分组 1.告警规则 2.alertma ...
- Spring Cloud Gateway Route Predicate Factory 的使用
Spring Cloud Gateway的使用 一.需求 二.基本组成 1.简介 2.核型概念 1.Route 路由 2.Predicate 谓语.断言 3.Filter 过滤器 3.工作原理 三.网 ...
- Spark面试题(二)
首发于我的个人博客:Spark面试题(二) 1.Spark有哪两种算子? Transformation(转化)算子和Action(执行)算子. 2.Spark有哪些聚合类的算子,我们应该尽量避免什么类 ...
- ELK 脚本自动化删除索引
kibana有自带接口,可通过自带的API接口 通过传参来达到删除索引的目的. # 删除15天前的索引 curl -XDELETE "http://10.228.81.161:9201/pa ...