Files
無法在副本中保留所有權但可以移動?
我注意到,如果我歸檔,我將無法保留所有權
rsync -o
。但是,當我移動它們時,我是。這一切都沒有管理員權限。這是什麼原理?幾個執行緒,例如 ( 1 ) 似乎呼應了對管理員權限的需求
當您在同一文件系統中移動文件時,這會將文件從其原始位置分離並將其附加到新位置。文件數據沒有改變,文件元數據——inode——也沒有改變。因此文件保留了它的所有權、權限、時間和任何其他屬性:只有它的名稱和包含目錄更改(以及 inode 更改時間 (ctime))。
當您複製文件(使用
rsync
或任何其他實用程序)時,這會創建一個屬於您的具有相同內容的新文件,其修改時間設置為複製完成的日期。根據複製實用程序,它可能會另外從原始文件中複製一些文件的元數據,例如擁有rsync -o
.移動一個 inode 只需要對源目錄(分離它)和目標目錄(重新附加它)有寫權限。它不需要您擁有該文件,甚至可以讀取或寫入它。另一方面,您不能創建屬於另一個使用者的文件,或將文件贈送給另一個使用者(以 root 身份執行的程序除外)。因此,以非 root 身份複製文件不能保留所有權(除非進行複制的使用者擁有原始文件)。