無法刪除從其他地方複製的目錄 centos 6

無法刪除從其他地方複製的目錄 centos 6

我們的一位使用者錯誤地使用命令將一些系統目錄(例如/lib)複製到她的主目錄cp -r /lib .,然後她無法刪除這些目錄。命令rm -rf ./lib返回一個錯誤列表,顯示“權限被拒絕”(我認為每個文件一個)。我確信複製和刪除命令都使用相同的使用者名,且其間沒有發生任何類型的權限變更。

我可能可以使用 root 權限刪除這些目錄,但我想知道為什麼會發生這種情況。這是我們使用的Centos 6.8的bug嗎?或者為什麼使用者無法刪除她在主目錄中建立的目錄?

答案1

cp -r預設複製權限模式。因此,如果/lib不是所有者可寫的,./lib則也將不可寫。嘗試刪除不可寫目錄的內容會被拒絕,即使您是該目錄的擁有者也是如此。您可以使用 修復權限chmod -R u+w ./lib

這是一個示範:

barmar@dev:~/test.dir$ mkdir subdir
barmar@dev:~/test.dir$ touch subdir/foo
barmar@dev:~/test.dir$ chmod a-w subdir
barmar@dev:~/test.dir$ cp -r subdir newsubdir
barmar@dev:~/test.dir$ rm -rf newsubdir
rm: cannot remove `newsubdir/foo': Permission denied
barmar@dev:~/test.dir$ chmod a+w newsubdir
barmar@dev:~/test.dir$ rm -rf newsubdir
barmar@dev:~/test.dir$ 

相關內容