Package oshi.util

Class 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 ID
      static java.lang.String getUser​(java.lang.String userId)
      Gets a user from their ID
      private 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 / Administrator
      private 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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
    • Constructor Detail

      • UserGroupInfo

        private UserGroupInfo()
    • 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 - a String 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)