in bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/linux/LinuxAccountUtils.java [300:329]
public static String getUserPrimaryGroup(String user) {
if (!isUserExists(user)) {
return null;
}
// Search for user's primary group id
int groupId = 0;
Stream<String> lines = FileUtils.readFile2Str(new File("/etc/passwd")).lines();
for (String line : lines.toList()) {
String[] split = line.split(":");
if (split[0].equals(user)) {
groupId = Integer.parseInt(split[3]);
}
}
if (groupId == 0) {
return null;
}
// Search for group name
lines = FileUtils.readFile2Str(new File("/etc/group")).lines();
for (String line : lines.toList()) {
String[] split = line.split(":");
if (Integer.parseInt(split[2]) == groupId) {
return split[0];
}
}
return null;
}