飘云
飘云

Linux内核操作系统下root权限修改文件权限遇到 chmod: changing permissions of '***': Operation not permitted错误的解决方法

飘云70

Linux内核操作系统下root权限修改文件权限遇到 chmod: changing permissions of '***': Operation not permitted错误的解决方法

一、问题描述

众所周知,在linux系统中,权限最大的是root,但凡修改涉及到系统本身的重大权限的操作,都需要root的权限才能操作。但是有些时候也有root干不了的事情。 比如:
chmod: changing permissions of 'authorized_keys': Operation not permitted

二、问题背景

有时候需要修改文件的权限,但是即使在root下使用chmod命令也不一定能成功更改,有时也会遇到Operation not permitted的问题。 一般,Linux下root用户的权限是最大 (Linux下UID数值越小的用户,权限越大,可以看到最小值为0,即root用户) Linux内核操作系统下root权限修改文件权限遇到 chmod: changing permissions of '***': Operation not permitted错误的解决方法 但是在使用chmod改变文件权限的时候,即使在root用户下,也会遇到operation not permitted的问题。 其实chmod的底层实现是chattr命令,用此命的功能更为强大,甚至可以锁定文件,即使root用户也操作不了此文件。

三、解决方案

lsattr可用来查看文件的属性:
lsattr filename
如果文件属性中有i与a,或者有其中的一个 可以使用chattr去掉这属性:
chattr -ia filename
此时再次使用chmod命令即可更改文件的权限。 该方法对于文件目录同样适用,但是文件目录使用lsattr命令查看属性的时候并没有反应,但是使用chattr命令去掉ia属性之后,能够成功使用chmod更改权限。 如果想要恢复ia属性,使用:
chattr +ia filename
即可~ 相关资料来源参考: chmod: changing permissions of 'xxx': Operation not permitted - 丹华抱一鷇音子root权限下修改文件权限遇到 chmod: changing permissions of '***': Operation not permitted_SweeNeil的博客

标签: linuxchattrlsattrchmodOperationpermitted

抱歉,评论功能暂时关闭!