Package oshi.util
Class UserGroupInfo
- java.lang.Object
-
- oshi.util.UserGroupInfo
-
@ThreadSafe public final class UserGroupInfo extends java.lang.Object
Utility class to temporarily cache the userID and group maps in *nix, for parsing process ownership. Cache expires after one minute.
-
-
Field Summary
Fields Modifier and Type Field Description private static boolean
ELEVATED
private static java.util.function.Supplier<java.util.Map<java.lang.String,java.lang.String>>
GROUPS_ID_MAP
private static java.util.function.Supplier<java.util.Map<java.lang.String,java.lang.String>>
USERS_ID_MAP
-
Constructor Summary
Constructors Modifier Constructor Description private
UserGroupInfo()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static java.lang.String
getentGroup(java.lang.String groupId)
private static java.lang.String
getentPasswd(java.lang.String userId)
private static java.util.Map<java.lang.String,java.lang.String>
getGroupMap()
static java.lang.String
getGroupName(java.lang.String groupId)
Gets the group name for a given IDstatic java.lang.String
getUser(java.lang.String userId)
Gets a user from their IDprivate static java.util.Map<java.lang.String,java.lang.String>
getUserMap()
static boolean
isElevated()
Determine whether the current process has elevated permissions such as sudo / Administratorprivate static java.util.Map<java.lang.String,java.lang.String>
parseGroup(java.util.List<java.lang.String> group)
private static java.util.Map<java.lang.String,java.lang.String>
parsePasswd(java.util.List<java.lang.String> passwd)
-
-
-
Field Detail
-
USERS_ID_MAP
private static final java.util.function.Supplier<java.util.Map<java.lang.String,java.lang.String>> USERS_ID_MAP
-
GROUPS_ID_MAP
private static final java.util.function.Supplier<java.util.Map<java.lang.String,java.lang.String>> GROUPS_ID_MAP
-
ELEVATED
private static final boolean ELEVATED
-
-
Method Detail
-
isElevated
public static boolean isElevated()
Determine whether the current process has elevated permissions such as sudo / Administrator- Returns:
- True if this process has elevated permissions
-
getUser
public static java.lang.String getUser(java.lang.String userId)
Gets a user from their ID- Parameters:
userId
- a user ID- Returns:
- a pair containing that user id as the first element and the user name as the second
-
getGroupName
public static java.lang.String getGroupName(java.lang.String groupId)
Gets the group name for a given ID- Parameters:
groupId
- aString
object.- Returns:
- a
String
object.
-
getUserMap
private static java.util.Map<java.lang.String,java.lang.String> getUserMap()
-
getentPasswd
private static java.lang.String getentPasswd(java.lang.String userId)
-
parsePasswd
private static java.util.Map<java.lang.String,java.lang.String> parsePasswd(java.util.List<java.lang.String> passwd)
-
getGroupMap
private static java.util.Map<java.lang.String,java.lang.String> getGroupMap()
-
getentGroup
private static java.lang.String getentGroup(java.lang.String groupId)
-
parseGroup
private static java.util.Map<java.lang.String,java.lang.String> parseGroup(java.util.List<java.lang.String> group)
-
-