Rhel

JDK預設使用者和組是什麼?

  • December 4, 2019

我的 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”,沒有相應的組)是預期的還是我在安裝時錯過了什麼?

這僅意味著 tarball 儲存使用者 ID (UID) 為 10 且組 ID (GID) 為 143 的文件,並且由於您將其提取為 root,因此這些標識符被保留。你沒有錯過任何東西,但你可以chown將文件根目錄:

chown -R root:root jdk1.8.0_121

如果使用者在您的系統上擁有 id 10,這將避免將來出現任何意外。

Java 沒有使用者,就像 python 沒有使用者一樣。由於它是您將讓任何使用者執行的東西,您可能希望將它定位在 /usr/local/jdk_version 中並與 /usr/local/jdk 進行符號連結。

Tomcat、jenkins 等可以從他們的啟動腳本中引用它。

正如斯蒂芬指出的那樣,您應該 chown 以防止未來的使用者 ID 8 獲得所有權。

引用自:https://unix.stackexchange.com/questions/353513