Permissions

sudo tar 但擁有生成的文件

  • October 14, 2015

我想將一堆文件放入一個帶有tar. 但是,我無權訪問所有這些,所以我必須這樣做sudo tar

但是,既然root已經執行了tar,生成的存檔也歸 root 所有,我必須更改 的權限.tar.gz,這有點乏味。

是不是有某種“部分sudo”可以告訴tar以root身份訪問文件,而是以我的身份創建文件?

您可以利用一個經常讓人們煩惱或驚訝的事實,即重定向發生在 shell 中並且不受 sudo 影響。

使用-(aka /dev/stdout) 作為文件名,然後將輸出重定向到您選擇的文件名。它將歸您所有,使用您的預設權限(由 定義umask)創建。

sudo tar czf - [more options and file/dir names] > myfile.tar.gz

重定向作為您的 UID 發生,而它tar本身作為 root 執行。

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