1. 程式人生 > 實用技巧 >Linux如何刪除被設定了隱藏屬性的檔案

Linux如何刪除被設定了隱藏屬性的檔案

關於Linux如何刪除被設定了隱藏屬性的檔案的一些問題

最近博主在熟悉Linux檔案許可權操作的時候複製了/etc/fstab 來建立了一個帶了只允許追加內容屬性的可執行檔案,並且改動了其所屬者和所屬組

一些關鍵命令:

  chmod 1770 /tmp/test #注意:這裡設定1770是為了測試檔案在原本其他使用者已無執行許可權下是否會產生偽許可權顯示

  chattr +a /tmp/test #給檔案設定只能追加內容屬性

查詢其屬性如圖所示

然後在刪除的時候遇到了些問題,以擁有者alice的身份去刪除,顯示無許可權

以root使用者身份也無法刪除該檔案

檢視上一級目錄許可權資訊

tmp目錄的許可權設定也沒問題,那會不會是檔案出了問題或者系統卡住了呢,下面來測試一下。

測試追加屬性功能

(alice和mary在admin組內,bobby不在)

追加內容和檢視功能均正常,說明不是檔案或者系統出了問題

唯一的可能性就是剛才設定的隱藏屬性在阻止使用者進行刪除操作了,用 lsattr 檢視檔案屬性

man命令檢視chattr的幫助手冊

注意這裡只提到了清除屬性,並沒有說超級管理員之類的可以對檔案進行刪除操作

重新使用chattr清除a屬性

再嘗試用boddy使用者執行刪除操作

訪問拒絕,因為boddy不屬於admin組

使用alice使用者進行刪除操作

執行成功,問題解決

總結:在遇到無法刪除的檔案時,首先檢視該檔案所屬使用者及所屬組的資訊,切換至相對應的使用者進行操作,若仍無法進行刪除時,考慮該檔案是否添加了隱藏屬性,去除後即可進行刪除,極端情況考慮上一級甚至上上一級檔案是否設定了隱藏屬性,需要一一進行去除