lsattr命令用于显示文件的属性。
lsattr [-RVadlv] [file | folder] 参数: -a: 显示所有文件和目录(包括隐藏文件),包括以.为名称开头字符的额外内建,即现行目录.与上层目录..。 -d: 显示目录名称,而非其内容。 -l: 指出要显示设备的逻辑名称。 -R: 递归处理,将指定目录下的所有文件及子目录一并处理。 -v: 显示文件或目录版本。 -V: 显示版本信息。 文件属性: a: 使文件或目录仅供附加用途。 b: 不更新文件或目录的最后存取时间。 c: 将文件或目录压缩后存放。 d: 将文件或目录排除在倾倒操作之外。 i: 不得任意更动文件或目录。 s: 保密性删除文件或目录。 S: 即时更新文件或目录。 u: 预防意外删除。chattr命令:
chattr命令用于修改文件的属性。
chattr [-RVf] [-+=AacDdeijsSu] [-v version] files... 选项 -R:递归处理,将指令目录下的所有文件及子目录一并处理; -v<版本编号>:设置文件或目录版本; -V:显示指令执行过程; +<属性>:开启文件或目录的该项属性; -<属性>:关闭文件或目录的该项属性; =<属性>:指定文件或目录的该项属性。 模式 a:让文件或目录仅供附加用途; b:不更新文件或目录的最后存取时间; c:将文件或目录压缩后存放; d:将文件或目录排除在倾倒操作之外; i:不得任意更动文件或目录; s:保密性删除文件或目录; S:即时更新文件或目录; u:预防意外删除。使用举例:
例如你的linux系统中有一个普通文件:
you@ubuntu:/home/you$ ls -l test -rwxr-xr-x 1 root root 10346 10月 30 12:08 test
现在把它删掉,
you@ubuntu:/home/you$ sudo rm -rf test rm: cannot remove `test': Operation not permitted
删不掉!!! 居然有超级权限删除不掉的普通文件,疑惑中…
查阅了一下资料,发现有隐藏属性这种更厉害的东西,使用 lsattr 命令查看了一下
you@ubuntu:/home/you$ lsattr test -----a-------e- test
看了一下a字母的作用:文件或目录仅可追加数据,不可删除等操作。使用 chattr 命令去掉a之后便可以正常删除。
you@ubuntu:/home/you$ sudo chattr -a test you@ubuntu:/home/you$ lsattr test -------------e- test you@ubuntu:/home/you$ sudo rm -rf test you@ubuntu:/home/you$
若下次想把重要的内容上锁,防止意外删除,可以重新加上,当然也是需要root权限操作,并且使用普通的 ls 查看命令是看不出来的…
you@ubuntu:/home/you$ lsattr test -------------e- test you@ubuntu:/home/you$ sudo chattr +a test [sudo] password for yu: you@ubuntu:/home/you$ lsattr test -----a-------e- test



