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 显示目录本身的特殊权限