JDK默认用户和组是什么?

JDK默认用户和组是什么?

我的 redhat 机器上有一个新安装的 jdk1.8.0_121。当我ls -la在安装目录中时,收到以下输出,

total 178952
drwxr-xr-x.  5 root        root               87 Mar 23 16:00 .
dr-xr-xr-x. 19 root        root              256 Mar 23 18:19 ..
drwxr-xr-x.  8   10         143              255 Dec 12 19:50 jdk1.8.0_121
-rw-r--r--.  1 root        root        183246769 Dec 14 14:42 jdk-8u121-linux-x64.tar.gz
drwxr-xr-x.  2 root        root                6 Mar  9  2015 rh

我关心的是这条线,

drwxr-xr-x. 8 10 143 255 Dec 12 19:50 jdk1.8.0_121

这些用户(“10”,没有相应的用户)和组(“143”,没有相应的组)是预期的还是我在安装时错过了一些东西?

答案1

这仅仅意味着 tarball 存储的文件的用户 ID (UID) 为 10,组 ID (GID) 为 143,并且由于您将其提取为 root,这些标识符被保留。你没有错过任何东西,但你可以chown将文件root:

chown -R root:root jdk1.8.0_121

如果用户在您的系统上拥有 id 10,这将避免将来出现任何意外。

答案2

Java没有用户,同样Python也没有用户。由于您将允许任何用户运行它,因此您可能希望将其定位在 /usr/local/jdk_version 中并与 /usr/local/jdk 进行符号链接。

Tomcat、jenkins 等可以从它们的启动脚本中引用它。

正如 Stephen 指出的,您应该 chown 此项以防止未来用户 ID 8 获得所有权。

相关内容