Permissions
強制 tar 文件內容的所有者和組?
我想創建一個 tar 文件,其內容屬於所有者:組對,該對在創建文件的系統上不存在。
這是我嘗試過的方向:
tar ca --owner='otherowner' --group='othergroup' mydata.tgz mydata
執行此命令時,出現以下錯誤:
tar: otherowner: Invalid owner tar: Error is not recoverable: exiting now
有沒有辦法強制 tar 接受所有者:組,即使它們都不存在於創建文件的系統上?
Linux 不使用內部所有者和組名稱,而是使用數字 - UID 和 GID。為了方便使用者,使用者和組名是從 /etc/passwd 和 /etc/group 文件的內容映射而來的。由於您在任何這些文件中都沒有“其他所有者”條目,Linux 實際上並不知道應該為文件分配哪個 UID 和 GID。讓我們嘗試傳遞一個數字:
$ tar cf archive.tar test.c --owner=0 --group=0 $ tar -tvf archive.tar -rw-rw-r-- root/root 45 2013-01-10 15:06 test.c $ tar cf archive.tar test.c --owner=543543 --group=543543 $ tar -tvf archive.tar -rw-rw-r-- 543543/543543 45 2013-01-10 15:06 test.c
它似乎工作。