Tar 分解权限不同

Tar 分解权限不同

从以下位置下载打开的 JDK tar.gz 文件https://jdk.java.net/15/。当我使用命令 tar -xf openjdk-15.0.2_linux-x64_bin.tar.gz 在一个框上展开此文件时,权限如下所示

drwxr-xr-x  2 me me 4.0K Feb 17 15:57 bin

另一方面,当将同一文件复制到其他框并使用相同命令展开时

drwxr-x---  2 me me 4.0K Feb 17 16:37 bin

同样的情况也适用于 bin 目录中的其他文件 - 除了我自己(我展开了该文件)之外,没有人具有执行权限。因此,我无法以其他用户身份执行任何 java 命令。

两台机器都是 Ubuntu 20.04。是什么导致了这种差异?

答案1

如中所述man tar,当您以非特权用户身份提取档案时tar,默认行为是将调用用户的umask权限应用于提取的文件:

   --no-same-permissions
          Apply  the user's umask when extracting permissions from the ar‐
          chive (default for ordinary users).

具体来说,umask 为0027会删除 所有权限others,而0022仅删除写权限。

相关内容