Permissions
sudo tar
但擁有生成的文件
我想將一堆文件放入一個帶有
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 執行。