Permissions

無法重命名我擁有的目錄

  • February 3, 2019

我有一個包含大量子目錄的目錄。我都擁有,權限都是777。

pascal@azazel /box $ ls -al
total 147872
drwxr-xr-x 293 root   root      12288 aoû 22 19:44 .
drwxr-xr-x  25 root   root       4096 jun 28 18:49 ..
drwxrwxrwx   7 pascal pascal     4096 aoû  4  2010 131082
[...]

我想重命名目錄:

pascal@azazel /box $ mv 131073 NewName
mv: impossible de déplacer « 131073 » vers « NewName »: Permission non accordée

該消息是法語的,基本上它說我沒有重命名(移動)目錄的權限。

怎麼了?

重命名文件(無論其類型如何,包括目錄)意味著在其所在目錄中更改其名稱。事實上,在文件系統內部重命名和移動是同一個操作;該文件與其舊名稱分離並附加到其新名稱,這需要修改源目錄和目標目錄(在一個目錄內重命名,源目錄和目標目錄相同)。結果是,/box在您的範例中,您需要對包含目錄的寫入權限。

順便說一句,這些權限與您複製文件然後刪除原始文件所需的權限完全相同。

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