Permissions

如果我更改 tar 文件的權限,這是否適用於其中的文件?

  • April 23, 2012

我有一個通過 定期執行的腳本,該腳本cron會創建一個tar.gz用於備份目錄的文件。

由於我無法控制的原因,唯一可以執行腳本cron的使用者是 root 使用者。所以生成的tar文件不能被任何其他使用者移動或刪除。

因此,作為腳本的一部分,我想在文件上執行一個chownand以便其他使用者可以操作它。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/。如果備份的文件具有任何擴展屬性,您可能需要考慮到這一點。

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