一、問題描述
眾所周知,在linux系統中,權限最大的是root,但凡修改涉及到系統本身的重大權限的操作,都需要root的權限才能操作。但是有些時候也有root干不了的事情。
比如:
chmod: changing permissions of 'authorized_keys': Operation not permitted
二、問題背景
有時候需要修改文件的權限,但是即使在root下使用chmod命令也不一定能成功更改,有時也會遇到Operation not permitted的問題。
一般,Linux下root用戶的權限是最大 (Linux下UID數值越小的用戶,權限越大,可以看到最小值為0,即root用戶)
但是在使用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
轉:https://blog.csdn.net/SweeNeil/article/details/103237214/
https://www.cnblogs.com/cpl9412290130/p/11592803.html