Permissions
如果我更改 tar 文件的權限,這是否適用於其中的文件?
我有一個通過 定期執行的腳本,該腳本
cron
會創建一個tar.gz
用於備份目錄的文件。由於我無法控制的原因,唯一可以執行腳本
cron
的使用者是 root 使用者。所以生成的tar
文件不能被任何其他使用者移動或刪除。因此,作為腳本的一部分,我想在文件上執行一個
chown
and以便其他使用者可以操作它。chmod``tar
但是僅更改文件的權限就足夠了
tar
,還是將root使用者權限也保存到內部的文件中tar
?當使用者解壓縮tar
文件時,他們是否能夠像自己創建文件一樣對這些文件進行操作?
如果提取的使用者是“普通”使用者,則文件將歸該使用者所有(預設情況下)。
從 tar 的手冊頁
--same-owner try extracting files with the same ownership as exists in the archive (default for superuser) --no-same-owner extract files as yourself (default for ordinary users)
簡短的回答:沒有。
該
tar
實用程序專門用於在類 unix 系統下歸檔目錄結構。它保留了包含的文件/目錄的所有所有權和權限資訊¹。無論使用者執行該tar
命令。至少這是標準呼叫的情況。但我認為,如果您要執行任何
tar
可能更改權限處理的高級選項,您就不會問這個問題 :)¹一個例外:正常
tar
不保留 SELinux 設置或 acl。您需要star
或最新版本tar
來保留這些。另請參閱http://magazine.redhat.com/2007/07/02/tips-from-an-rhce-tar-vs-star-the-battle-of-xattrs/。如果備份的文件具有任何擴展屬性,您可能需要考慮到這一點。