chattr 设置文件属性
语法选项
chattr用于修改文件系统的隐藏权限属性;文件和目录,除了可以设定普通权限和特殊权限外,还可以利用文件和目录具有的一些隐藏属性。
[root@zaishu ~]
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 | 检查压缩文件中的错误。 | e | Extend格式 | j | 数据日志,系统默认 | S | 同步文件内容变更后立即同步到硬盘(sync)。 | t | 让文件系统支持尾部合并 | T | 目录层次的顶部 |
文件赋予 i 属性
设置有 i 属性的文件,即便是 root 用户,也无法删除和修改数据。
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
rm:cannot remove 'ftest':Operation not permitted
[root@localhost ~]
bash:ftest:Permission denied
目录赋予 i 属性
目录设置 i 属性,即使是 root 用户,也无法在目录内部新建或删除文件,但可以修改文件内容。 给设置有 i 属性的文件删除此属性也很简单,只需将 chattr 命令中 + 改为 - 即可。
[root@localhost ~]
[root@localhost d1]
[root@localhost ~]
[root@localhost ~]
[root@localhost d1]
touch: cannot touch 'bed':Permission denied
[root@localhost d1]
[root@localhost d1]
11
[root@localhost d1]
rm: cannot remove 'abc': Permission denied
文件或目录添加 a 属性
目录设置a 属性,即使是 root 用户,也无法在目录内部删除文件,只可以新建文件。 如果对文件设置 a 属性,那么只能在文件中増加数据,但是不能删除和修改数据。
给设置有a 属性的文件删除此属性也很简单,只需将 chattr 命令中 + 改为 - 即可。。命令如下:
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
rm: cannot remove '/back/log/messages': Permission denied
对于文件不能覆盖(删除或者修改),只能追加
[root@zaishu ~]
[root@zaishu ~]
[root@zaishu ~]
[root@zaishu ~]
-bash: test: Operation not permitted
文件添加A的属性
给文件添加A的属性,访问时间不再改变
[root@node2 ~]
[root@node2 ~]
-------A-------- 1
[root@node2 ~]
ssadfdsafasdfsadfsadfsdfs
[root@node2 ~]
-------A-------- 1
[root@node2 ~]
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 ~]
ssadfdsafasdfsadfsadfsdfs
[root@node2 ~]
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 ~]
-a:后面不带文件或目录名,表示显示所有文件和目录(包括隐藏文件和目录)
-d:如果目标是目录,只会列出目录本身的隐藏属性,而不会列出所含文件或子目录的隐藏属性信息;
-R:和 -d 恰好相反,作用于目录时,会连同子目录的隐藏信息数据也一并显示出来。
属性含义
属性 | 功能 |
---|
i | 如果对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加和修改数据; 如果对目录设置 i 属性,那么只能修改目录下文件中的数据,但不允许建立和删除文件; | a | 如果对文件设置 a 属性,那么只能在文件中増加数据,但是不能删除和修改数据; 如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删除文件; | u | 设置此属性的文件或目录,在删除时,其内容会被保存,以保证后期能够恢复,常用来防止意外删除文件或目录。 | s | 和 u 相反,删除文件或目录时,会被彻底删除,不可恢复。 | A | 文件访问时间不会发生变化,也就是atime不会变化 | c | 默认将文件或目录进行压缩 | C | 不执行写入时复制 多个调用者获取同一个资源,另一个调用者对这资源进行了修改,不生成一个副本给其他掉在用着使用 | d | 不dump,当使用dump命令备份时忽略本文件/目录 | D | 检查压缩文件中的错误。 | e | Extend格式 | j | 数据日志,系统默认 | S | 同步文件内容变更后立即同步到硬盘(sync)。 | t | 让文件系统支持尾部合并 | T | 目录层次的顶部 |
查看文件
[root@localhost ~]
-----------e- attrtest
[root@localhost ~]
[root@localhost ~]
----ia---j-e- attrtest
查看所有
[root@localhost ~]
-----------e- ./.
------------- ./..
-----------e- ./.gconfd
-----------e- ./.bashrc
...
查看目录
/back/log目录,其拥有a和e属性
[root@localhost ~]
-----a------e- /back/log
总结
提示:这里对文章进行总结: 例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
|