chmod: changing permissions of ‘/root/.ssh/authorized_keys’: Operation not permitted

一般,Linux下root用户的权限是最大 (Linux下UID数值越小的用户,权限越大,可以看到最小值为0,即root用户)
但是在使用chmod改变文件权限的时候,即使在root用户下,也会遇到operation not permitted的问题。
其实chmod的底层实现是chattr命令,用此命的功能更为强大,甚至可以锁定文件,即使root用户也操作不了此文件。

然后执行下面的命令查看当前文件属性,可以发现有 i 和 a 两个属性:

lsattr authorized_keys

在这里插入图片描述
说明此时的文件是被锁定的,任何用户都是修改不了的,那么我们就去掉这两个属性:
可以使用chattr去掉这属性:

chattr -ia authorized_keys

此时再次使用chmod命令即可更改文件的权限。

该方法对于文件目录同样适用,但是文件目录使用lsattr命令查看属性的时候并没有反应,但是使用chattr命令去掉ia属性之后,能够成功使用chmod更改权限。

如果想要恢复ia属性,使用:

chattr +ia authorized_keys

猜你喜欢

转载自blog.csdn.net/qq_42224683/article/details/112919520