場景引入:
[root@spark001 ~]# chmod 755 /etc/hosts
chmod: changing permissions of ‘/etc/hosts’: Operation not permitted
[root@spark001 ~]#
或想要對文件進行修改時候,都是提示無法操作的,儘管你是root~
what? linux 中還有文件是我root不能操作的!
解決
主要說明:可能你的文件出於安全考慮 此時正 是 鎖住狀態,解鎖即可。
Linux lsattr命令用於顯示文件屬性。
用chattr執行改變文件或目錄的屬性,可執行lsattr指令查詢其屬性。
ps:lsattr這個大學上課的時候好像學過,不過忘記啦~
[root@spark001 ~]# lsattr /etc/hosts
----ia-------e-- /etc/hosts
[root@spark001 ~]#
可以發現當前文件有個i屬性,查閱命令幫助文檔可以看到有i屬性的文件是不能修改的,更不可被刪除,即使是root用戶也不可
既然知道了文件不能操作的原因是加了i屬性,所以相應的解決方案就是把文件的i屬性去除,然後對此文件內容進行修改,最好在操作完成後恢復文件的i屬性。
這裏最好同時把a屬性也搞掉,a代表 讓某個文件只能往裏面追加數據
去除ia屬性:chattr -ia /etc/hosts
添加ia屬性:chattr +ia /etc/hosts
如下:
[root@spark001 ~]# chattr -ia /etc/hosts
[root@spark001 ~]# lsattr /etc/hosts
-------------e-- /etc/hosts
[root@spark001 ~]#
到這裏,就可以對文件的權限和內容進行修改了,我其實主要是想修改文件的內容了。
接下來,就可以正常操作/etc/hosts文件了,修改完畢之後,最好還是
添加ia屬性:chattr +ia /etc/hosts
相當於把文件鎖住,這樣就不會被 任意一個用戶 誤操作啦~~