Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。本文主要介绍Linux chattr 命令。

1、命令简介

chattr指令可改变linux文件系统的文件属性

2、命令用法

chattr [-RVf] [-+=AacDdijsSu] [-v version] files...

3、命令描述

chattr命令其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,则许多功能不能实现。同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护//dev/tmp/var目录。

4、命令选项

-R

递归处理目录下的所有文件

-v

设置文件或目录版本

-V

显示指令执行过程

+

开启文件或目录的该项属性

-

关闭文件或目录的该项属性

=

指定文件或目录的该项属性

A

文件或目录的 atime (access time)不可被修改(modified),

可以有效预防例如手提电脑磁盘I/O错误的发生。

S

硬盘I/O同步选项,功能类似sync。

a

即append,设定该参数后,只能向文件中添加数据,

而不能删除,多用于服务器日志文 件安全,

只有root才能设定这个属性。

c

即compresse,设定文件是否经压缩后再存储。

读取时需要经过自动解压操作。

d

即no dump,设定文件不能成为dump程序的备份目标。

i

设定文件不能被删除、改名、设定链接关系,

同时不能写入或新增内容。

i参数对于文件系统的安全设置有很大帮助。

j

即journal,设定此参数使得当通过mount参数

s

保密性地删除文件或目录,

即硬盘空间被全部收回。

u

与s相反,当设定为u时,

数据内容其实还存在磁盘中,

可以用于undeletion.

注意:各参数选项中常用到的是aia选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。

5、使用示例

1)用chattr命令防止系统中某个关键文件被修改

chattr +i /etc/fstab

chattr +i的文件恢复可以修改

chattr -i /etc/fstab

2)文件只能往里面追加内容不能删除一些日志文件适用于这种操作

chattr +a /data/user.log

3)查看文件的属性

lsattr  simple.txt

推荐文档