Permissions

無法刪除文件,即使以 root 身份執行

  • June 29, 2018

我正在將一台機器從 RHEL 4 遷移到 5。我們沒有實際進行升級,而是創建了一個新的 VM(兩台機器都在雲中),並且我正在兩者之間複製數據。

我遇到了以下文件,我需要將其從新機器中刪除,但無法刪除,即使以 root 身份執行:

-rw-------  1 2003 2003  219 jan 11 14:22 .bash_history

該文件位於 /home/USER/ 中,其中 USER 是製造機器的人的帳戶。他在舊機器上沒有帳戶,所以我試圖刪除他的主文件夾,以便新機器與舊機器相符,但我收到以下錯誤:

rm: ne peut enlever `.bash_history': Opération non permise

(翻譯自法語:cannot remove XXX, operation not allowed)

我曾嘗試使用以下命令,但這沒有任何區別:

chattr -i .bash_history

是創建 ID 為 2003 的使用者的唯一選擇,還是有其他方法?


編輯

我試過使用rm -f,我得到了同樣的錯誤。我首先使用相同類型的錯誤chmod 777

我已經能夠chown包含我要刪除的文件的文件夾,所以它是:

drwx------ 2 root root 1024 jan 24 15:58 USER

編輯2

按照 Angus 的建議執行lsattr命令會得到以下輸出:

-----a------- USER/.bash_history
------------- USER/..
------------- USER/.

該文件被標記為僅附加 - 在使用更改此標誌時,chattr -a .bash_history我能夠刪除該文件。

檢查目錄的權限。要刪除其中的文件,它應該是您可寫的

chmod ugo+w .

並且不是不可變的或僅附加的:

chattr -i -a .

ls -la和檢查lsattr -a

我遇到了類似的問題,但之前嘗試過權限和 chattr 都無濟於事。植根於終端。CD 到目錄。

但是,對我有用的是檢查麻煩文件所在目錄的權限-如果可以,請繼續:

chmod ugo+w filename

這失敗了 - 然後:

chattr -i -a filename 

被接受了-然後

chmod ugo+w 

被接受了

rm filename

它消失了。

惠普工作站上的 Fedora 25。

引用自:https://unix.stackexchange.com/questions/29902