root權限下修改文件權限遇到 chmod: changing permissions of '***': Operation not permitted

轉自:https://www.cnblogs.com/cpl9412290130/p/11592803.html

一、問題描述

衆所周知,在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

即可~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章