Linux文件特殊属性
文件特殊属性
在Linux系统中,文件特殊属性是指通过chattr命令设置的属性,这些属性可以改变文件或目录的行为。这些特殊属性通常用于系统管理,以增强文件的安全性和性能。以下是一些常见的文件特殊属性及其含义:
常见文件特殊属性
i (immutable):
含义:文件或目录被设置为不可变,无法被修改、删除、移动或重命名,直到其属性被更改。
设置方法:sudo chattr +i <file>
清除方法:sudo chattr -i <file>
a (append only):
含义:文件只能被追加内容,不能被修改或删除。
设置方法:sudo chattr +a <file>
清除方法:sudo chattr -a <file>
s (secure deletion):
含义:当文件被删除时,其数据块会被清零,确保数据被安全删除。
设置方法:sudo chattr +s <file>
清除方法:sudo chattr -s <file>
u (undeletable):
含义:文件或目录不能被删除,但可以被修改。
设置方法:sudo chattr +u <file>
清除方法:sudo chattr -u <file>
A (no atime updates):
含义:文件或目录的访问时间(atime)不会被更新。
设置方法:sudo chattr +A <file>
清除方法:sudo chattr -A <file>
S (synchronous updates):
含义:文件或目录的元数据(如修改时间)会立即同步到磁盘,而不是缓存到内存中。
设置方法:sudo chattr +S <file>
清除方法:sudo chattr -S <file>
d (no dump):
含义:文件或目录不会被dump命令备份。
设置方法:sudo chattr +d <file>
清除方法:sudo chattr -d <file>
c (compression):
含义:文件会被自动压缩。
设置方法:sudo chattr +c <file>
清除方法:sudo chattr -c <file>
e (extent format):
含义:文件使用扩展格式存储,这可以提高大文件的性能。
设置方法:sudo chattr +e <file>
清除方法:sudo chattr -e <file>
h (huge file):
含义:文件被视为大文件,适用于大文件的优化。
设置方法:sudo chattr +h <file>
清除方法:sudo chattr -h <file>
案例
lsattr命令查看文件的特殊属性:
[root@h3c-prometheus bak]# touch hack.sh aa.sh
[root@h3c-prometheus bak]# lsattr
---------------- ./zabbix.conf.php
---------------- ./maintenance.inc.php
---------------- ./hack.sh
---------------- ./aa.sh
设置文件属性为不可变
[root@h3c-prometheus bak]# chattr +i hack.sh
[root@h3c-prometheus bak]# lsattr
---------------- ./zabbix.conf.php
---------------- ./maintenance.inc.php
----i----------- ./hack.sh
---------------- ./aa.sh
[root@h3c-prometheus bak]# rm -rf hack.sh 
rm: 无法删除"hack.sh": 不允许的操作                                   #无法删除
去掉特殊属性
[root@h3c-prometheus bak]# chattr -i hack.sh
[root@h3c-prometheus bak]# rm -rf hack.sh
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号