root使用者操作檔案提示 changing permissions of '***': Operation not permitted

dba_sam發表於2021-08-03

一、問題描述

在linux系統中,root使用者的許可權是最大的,只要是修改涉及到系統本身的重大許可權的操作,都需要root的許可權才能操作。但是有時候root他會遇到幹不了的事。

比如如下:

遇到 chmod: changing permissions of ‘.user.ini’: Operation not permitted


二、問題背景

root使用者修改使用者許可權或刪除檔案遇到Operation not permitted的問題。

一般,Linux下root使用者的許可權是最大 (Linux下UID數值越小的使用者,許可權越大,可以看到最小值為0,即root使用者)

root:x:0:0:root:/root:/bin/bash


但是在使用chmod改變檔案許可權的時候,即使在root使用者下,也會遇到operation not permitted的問題。

其實chmod的底層實現是 chattr命令,此命令的功能更為強大,甚至可以鎖定檔案,即使root使用者也操作不了此檔案。


三、解決方案

lsattr可用來檢視檔案的屬性:

lsattr filename

如果檔案屬性中有i與a,或者有其中的一個,可以使用 chattr去掉這屬性:

chattr -ia filename

上圖中,多了一個i屬性

這裡可以使用

chattr -i .user.ini


修改檔案屬性後,就可以使用chmod命令修改檔案的許可權或刪除檔案。

該方法對於檔案目錄同樣適用,但是檔案目錄使用lsattr命令檢視屬性的時候並沒有反應,但是使用chattr命令去掉ia屬性之後,能夠成功使用chmod更改許可權。

如果想要恢復ia屬性,使用:

chattr +ia filename

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000068/viewspace-2784875/,如需轉載,請註明出處,否則將追究法律責任。

相關文章