chmod: changing permissions of ‘/root/.ssh/authorized_keys’: Operation not permitted
阿新 • • 發佈:2021-02-02
一般,Linux下root使用者的許可權是最大 (Linux下UID數值越小的使用者,許可權越大,可以看到最小值為0,即root使用者)
但是在使用chmod改變檔案許可權的時候,即使在root使用者下,也會遇到operation not permitted的問題。
其實chmod的底層實現是chattr命令,用此命的功能更為強大,甚至可以鎖定檔案,即使root使用者也操作不了此檔案。
然後執行下面的命令檢視當前檔案屬性,可以發現有 i 和 a 兩個屬性:
lsattr authorized_keys
說明此時的檔案是被鎖定的,任何使用者都是修改不了的,那麼我們就去掉這兩個屬性:
chattr -ia authorized_keys
此時再次使用chmod命令即可更改檔案的許可權。
該方法對於檔案目錄同樣適用,但是檔案目錄使用lsattr命令檢視屬性的時候並沒有反應,但是使用chattr命令去掉ia屬性之後,能夠成功使用chmod更改許可權。
如果想要恢復ia屬性,使用:
chattr +ia authorized_keys