IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 23.文件隐藏属性设置chattrlsattr详解文件隐藏属性用途示范 -> 正文阅读

[开发测试]23.文件隐藏属性设置chattrlsattr详解文件隐藏属性用途示范


chattr 设置文件属性

语法选项

chattr用于修改文件系统的隐藏权限属性;文件和目录,除了可以设定普通权限和特殊权限外,还可以利用文件和目录具有的一些隐藏属性。

[root@zaishu ~]# chattr [+-=] [属性] 文件或目录名
chattr [-RVf] [-+=aAcCdDeijsStTu] [-v version] files...

1. 选项
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v<版本编号> 设置文件或目录版本。
-V 显示指令执行过程。
+<属性> 开启文件或目录的该项属性。
-<属性> 关闭文件或目录的该项属性。
=<属性> 指定文件或目录的该项属性。

2. 属性及功能
chattr 命令常用的属性选项及功能

属性功能
i如果对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;
如果对目录设置 i 属性,那么只能修改目录下文件中的数据,但不允许建立和删除文件;
a如果对文件设置 a 属性,那么只能在文件中増加数据,但是不能删除和修改数据;
如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删除文件;
u设置此属性的文件或目录,在删除时,其内容会被保存,以保证后期能够恢复,常用来防止意外删除文件或目录。
s和 u 相反,删除文件或目录时,会被彻底删除,不可恢复。
A文件访问时间不会发生变化,也就是atime不会变化
c默认将文件或目录进行压缩
C不执行写入时复制
多个调用者获取同一个资源,另一个调用者对这资源进行了修改,不生成一个副本给其他掉在用着使用
d不dump,当使用dump命令备份时忽略本文件/目录
D检查压缩文件中的错误。
eExtend格式
j数据日志,系统默认
S同步文件内容变更后立即同步到硬盘(sync)。
t让文件系统支持尾部合并
T目录层次的顶部

文件赋予 i 属性

设置有 i 属性的文件,即便是 root 用户,也无法删除和修改数据。

[root@localhost ~]# touch f1
#建立测试文件
[root@localhost ~]# chattr +i f1
[root@localhost ~]# rm -rf f1
rm:cannot remove 'ftest':Operation not permitted
#无法删除"ftesr",操作不允许
#被赋予i属性后,root不能删除
[root@localhost ~]# echo 111>>f1
bash:ftest:Permission denied
#权限不够,不能修改文件中的数据

目录赋予 i 属性

目录设置 i 属性,即使是 root 用户,也无法在目录内部新建或删除文件,但可以修改文件内容。
给设置有 i 属性的文件删除此属性也很简单,只需将 chattr 命令中 + 改为 - 即可。

[root@localhost ~]# mkdir d1
#建立测试目录
[root@localhost d1]# touch d1/abc
#再建立一个测试文件abc
[root@localhost ~]# chattr +i d1
#给目录赋予i属性
[root@localhost ~]# cd d1
[root@localhost d1]# touch bed
touch: cannot touch 'bed':Permission denied
#无法创建"bcd",权限不够,dtest目录不能新建文件
[root@localhost d1]# echo 11>>abc  //可以修改文件内容
[root@localhost d1]# cat abc
11

[root@localhost d1]# rm -rf abc
rm: cannot remove 'abc': Permission denied
#无法删除"abc",权限不够

文件或目录添加 a 属性

目录设置a 属性,即使是 root 用户,也无法在目录内部删除文件,只可以新建文件。
如果对文件设置 a 属性,那么只能在文件中増加数据,但是不能删除和修改数据。

给设置有a 属性的文件删除此属性也很简单,只需将 chattr 命令中 + 改为 - 即可。。命令如下:

[root@localhost ~]# mkdir -p /back/log
#建立备份目录
[root@localhost ~]# chattr +a /back/log
#赋予a属性
[root@localhost ~]# cp /var/log/messages /back/log
#可以复制文件和新建文件到指定目录中
[root@localhost ~]# rm -rf /back/log/messages
rm: cannot remove '/back/log/messages': Permission denied
#无法删除 /back/log/messages,操作不允许

对于文件不能覆盖(删除或者修改),只能追加

[root@zaishu ~]# touch test
[root@zaishu ~]# chattr +a test 

[root@zaishu ~]# echo "abc" >> test 
[root@zaishu ~]# echo "abc" > test 
-bash: test: Operation not permitted

文件添加A的属性

给文件添加A的属性,访问时间不再改变

[root@node2 ~]# chattr +A 1
[root@node2 ~]# lsattr 1
-------A-------- 1
[root@node2 ~]# cat 1
ssadfdsafasdfsadfsadfsdfs

[root@node2 ~]# lsattr 1
-------A-------- 1
[root@node2 ~]# stat 1
  File: ‘1’
  Size: 27        	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 67174765    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-08-05 15:12:28.980059263 +0800
Modify: 2020-06-29 05:04:50.334865922 +0800
Change: 2020-08-05 15:12:54.451060321 +0800
 Birth: -
[root@node2 ~]# cat 1
ssadfdsafasdfsadfsadfsdfs

[root@node2 ~]# stat 1
  File: ‘1’
  Size: 27        	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 67174765    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-08-05 15:12:28.980059263 +0800
Modify: 2020-06-29 05:04:50.334865922 +0800
Change: 2020-08-05 15:12:54.451060321 +0800

注意,通常情况下,不要使用 chattr 命令修改 /、/dev/、/tmp/、/var/ 等目录的隐藏属性,很容易导致系统无法启动。

lsattr 查看隐藏属性

Linux lsattr命令:查看文件系统属性,使用 chattr 命令配置文件或目录的隐藏属性后,可以使用 lsattr 命令查看。

[root@localhost ~]# lsattr [选项] 文件或目录名
-a:后面不带文件或目录名,表示显示所有文件和目录(包括隐藏文件和目录)
-d:如果目标是目录,只会列出目录本身的隐藏属性,而不会列出所含文件或子目录的隐藏属性信息;
-R:和 -d 恰好相反,作用于目录时,会连同子目录的隐藏信息数据也一并显示出来。

属性含义

属性功能
i如果对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;
如果对目录设置 i 属性,那么只能修改目录下文件中的数据,但不允许建立和删除文件;
a如果对文件设置 a 属性,那么只能在文件中増加数据,但是不能删除和修改数据;
如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删除文件;
u设置此属性的文件或目录,在删除时,其内容会被保存,以保证后期能够恢复,常用来防止意外删除文件或目录。
s和 u 相反,删除文件或目录时,会被彻底删除,不可恢复。
A文件访问时间不会发生变化,也就是atime不会变化
c默认将文件或目录进行压缩
C不执行写入时复制
多个调用者获取同一个资源,另一个调用者对这资源进行了修改,不生成一个副本给其他掉在用着使用
d不dump,当使用dump命令备份时忽略本文件/目录
D检查压缩文件中的错误。
eExtend格式
j数据日志,系统默认
S同步文件内容变更后立即同步到硬盘(sync)。
t让文件系统支持尾部合并
T目录层次的顶部

查看文件

[root@localhost ~]# touch attrtest
-----------e- attrtest
[root@localhost ~]# chattr +aij attrtest
[root@localhost ~]# lsattr attrtest
----ia---j-e- attrtest

查看所有

[root@localhost ~]#lsattr -a
-----------e- ./.
------------- ./..
-----------e- ./.gconfd
-----------e- ./.bashrc
...

查看目录

/back/log目录,其拥有a和e属性

[root@localhost ~]#lsattr -d /back/log
-----a------e- /back/log

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 17:03:49  更:2021-12-02 17:04:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 4:17:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码