在linux系统下,有时候为了修改文件或目录的权限,需要用chmod命令对其权限进行修改,但是对于部分系统文件,会报下面的错误
chmod 700 test.txt
chmod: changing permissions of test.txt: Operation not permitted
出现这个问题的原因是这些文件在创建时,认为是不可变的,创建者通过chattr设置了immutable属性,解决方法如下:
查看文件的属性是否包含
lsattr test.txt
----i----------e----- test.txt
其中i表明被打上了immutable属性,可以通过chattr进行修改
chattr -i test.txt
然后可以用chmod修改文件权限了
chmod 700 test.txt
如果以后要设置回immutable,可以通过下面命令添加
chattr +i test.txt
注意:
1. 相关命令同样适用于目录
2. 可以通过-R选项对目录进行递归操作
3. 如果chattr失败,有可能是由于文件所在文件系统比较老,最好确保文件系统与内核配套
本文讲述了在Linux系统中遇到Operationnotpermitted错误,如何识别并使用`chattr`命令管理因immutable属性而无法chmod的文件或目录,包括查看属性、解除属性、以及注意事项,如目录递归操作和旧文件系统的兼容性问题。
2454

被折叠的 条评论
为什么被折叠?



