lsattr命令

lsattr命令用于查看文件的第二扩展文件系统属性。

语法

lsattr (选项) (参数)

选项

-E:可显示设备属性的当前值,但这个当前值是从用户设备数据库中获得的,而不是从设备直接获得的。

-D:显示属性的名称,属性的默认值,描述和用户是否可以修改属性值的标志。

-R:递归的操作方式;

-V:显示指令的版本信息;

-a:列出目录中的所有文件,包括隐藏文件。

lsattr经常使用的几个选项-D,-E,-R这三个选项不可以一起使用,它们是互斥的,经常使用的还有-l,-H,使用lsattr时,必须指出具体的设备名,用-l选项指出要显示设备的逻辑名称,否则要用-c,-s,-t等选项唯一的确定某个已存在的设备。

参数

文件:指定显示文件系统属性的文件名。

实例

lsattr -E -l rmt0 -H

lsattr -EO -l rmt0

来自: http://man.linuxde.net/lsattr

chattr命令

chattr命令用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

a:让文件或目录仅供附加用途;

b:不更新文件或目录的最后存取时间;

c:将文件或目录压缩后存放;

d:将文件或目录排除在倾倒操作之外;

i:不得任意更动文件或目录;

s:保密性删除文件或目录;

S:即时更新文件或目录;

u:预防意外删除。

语法

chattr (选项)

选项

-R:递归处理,将指令目录下的所有文件及子目录一并处理;

-v<版本编号>:设置文件或目录版本;

-V:显示指令执行过程;

+<属性>:开启文件或目录的该项属性;

-<属性>:关闭文件或目录的该项属性;

=<属性>:指定文件或目录的该项属性。

实例

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

chattr +i /etc/fstab

然后试一下rm、mv、rename等命令操作于该文件,都是得到Operation not permitted的结果。

让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作:

chattr +a /data1/user_act.log

来自: http://man.linuxde.net/chattr

总结:

lsattr 显示当前目录下的文件或目录的特殊权限

chattr +a 12.txt 给文件12.txt增加追加权限,只能对文件执行追加操作

lsattr 12.txt 显示文件12.txt的特殊权限

echo "111" >> 12.txt 追加成功

cat 12.txt 查看内容

vi 12.txt vi打开失败

echo "abc" > 12.txt 重定向失败

rm -f 12.txt 删除失败

mv 12.txt 11.txt 重命名失败

chattr +i 12.txt 给文件12.txt增加i权限,i 权限什么都允许做

echo "111" > 12.txt 重定向失败

echo "111" >> 12.txt 追加失败

rm -f 12.txt 删除失败

mv 12.txt 11.txt 重命名失败

chown aming 12.txt 改属主失败

lsattr -R 111 以递归的方式显示111目录下内容的特殊权限

chattr +i 111/12.txt 包含特殊权限文件的目录

rm -rf 111 删除失败

lsattr -d 111 显示目录本身的特殊权限