Dont use --no-same-owner when extracting tar archives
This flag is missing on OpenBSD and is the default on other platforms when extracting as non-root. Make the uname/gname taringo field empty so when extracting as root files will always be owned by root.
This commit is contained in:
parent
0e7f1d60d6
commit
b0ea960159
@ -65,7 +65,7 @@ def serialize_env(env: Dict[str, str], base_env: Dict[str, str]) -> bytes:
|
||||
def make_tarfile(ssh_opts: SSHOptions, base_env: Dict[str, str]) -> bytes:
|
||||
|
||||
def normalize_tarinfo(tarinfo: tarfile.TarInfo) -> tarfile.TarInfo:
|
||||
tarinfo.uname = tarinfo.gname = 'kitty'
|
||||
tarinfo.uname = tarinfo.gname = ''
|
||||
tarinfo.uid = tarinfo.gid = 0
|
||||
return tarinfo
|
||||
|
||||
|
||||
@ -126,7 +126,7 @@ untar_and_read_env() {
|
||||
|
||||
tdir=$(command mktemp -d "$HOME/.kitty-ssh-kitten-untar-XXXXXXXXXXXX")
|
||||
[ $? = 0 ] || die "Creating temp directory failed"
|
||||
read_n_bytes_from_tty "$1" | command base64 -d | command tar xpjf - --no-same-owner -C "$tdir"
|
||||
read_n_bytes_from_tty "$1" | command base64 -d | command tar xpjf - -C "$tdir"
|
||||
data_file="$tdir/data.sh"
|
||||
[ -f "$data_file" ] && . "$data_file"
|
||||
data_dir="$HOME/$KITTY_SSH_KITTEN_DATA_DIR"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user