linux在root用戶下無法使用chattr的解決辦法


最近在學習linux操作系統的時候,想用chattr來修改某一個文件的權限時,突然爆出了以下這個錯誤:

bash /usr/bin/chattr permission denied

考慮到可能是普通用戶權限不夠,我又切換到了root用戶。按理說root用戶的權限是最高的了,結果還是爆出上面那個錯誤。

查閱了國內的相關博客,發現沒有解決這一問題的,於是FQ在外網上找到了解決辦法。

以下是鏈接

# chattr -l
-bash: /usr/bin/chattr: Permission denied
# chattr -i chattr
-bash: /usr/bin/chattr: Permission denied
# chmod +x chattr
chmod: changing permissions of `chattr': Operation not permitted

為了恢復chattr的功能,解決辦法如下:

# cp /usr/bin/chattr /usr/bin/chattr2
# chmod 755 /usr/bin/chattr2
# chattr2 -i /usr/bin/chattr
# chmod 755 /usr/bin/chattr
# ls -la /usr/bin/chattr  
# lsattr /usr/bin/chattr
-rwxr-xr-x 1 root root 9664 2010-08-17 01:29 /usr/bin/chattr
-----------------e- /usr/bin/chattr

大致思路是:復制chattr的副本chattr2,用chmod來修改chattr2的權限(號碼為755)。然后反過來使用chattr2打開chattr的權限,再用chmod修改。最后chattr就能使用了。

通過這個問題的解決,讓我體會對一句話有了深刻的體會:inux一切皆文件

 

補充關於權限:i和a的說明

i:不可修改權限 例:chattr u+i filename 則filename文件就不可修改,無論任何人,如果需要修改需要先刪除i權限,用chattr -i filename就可以了。查看文件是否設置了i權限用lsattr filename。

a:只追加權限, 對於日志系統很好用,這個權限讓目標文件只能追加,不能刪除,而且不能通過編輯器追加。可以使用chattr +a設置追加權限。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM