我的 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 获得所有权。