这个权限十分隐蔽,很容易忽视
命令格式
chattr命令只能是root权限,lsattr则普通用户也可以使用
chattr [+-=] [选项] 文件或目录
- i属性: 如果对文件设置了i属性,则不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置了i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。
- a属性: 只能对文件增加数据,不能删除和修改数据(注意不能用VIM操作,因为系统无法判断是增加还是修改),如果对目录设置a属性,则只允许目录中建立和修改文件,不允许删除。
- =属性: 等于某个权限。
测试文件:
1 | touch abc |
测试目录
1 | mkdir qqq |
目录的attr显示有时需要需要用 lsattr -d,但是ubuntu下实测不加也可以显示
总结
- chattr可以用来解决误删除,但是实际使用中很隐蔽,很容易忽略。