# User Management ## Overview User Manager service exposes D-Bus methods for user management operations. ### User Manager Interface User manager interface `xyz.openbmc_project.User.Manager` provides following methods, properties and signals. #### xyz.openbmc_project.User.Manager interface ##### methods - CreateUser - To create new user to the system. - RenameUser - To rename existing user to new name in the system. ##### properties - AllGroups - To list all the groups supported in the system. - AllPrivileges - To list all the privileges supported in the system. ##### signals - UserRenamed - Signal sent out when user is renamed in the system. #### xyz.openbmc_project.User.AccountPolicy interface ##### properties - MaxLoginAttemptBeforeLockout - Permissible attempt before locking out the user for failed login attempts. - AccountUnlockTimeout - Timeout (in seconds) to unlock the account after a lockout. - MinPasswordLength - Minimum password length, which can be set. - RememberOldPasswordTimes – Number of times old password shouldn’t be allowed when updating password for the user. ### Users Interface User manager daemon, will create user objects for every user existing in the system under object path `/xyz/openbmc_project/user/`. Each user object can be handled through 'org.freedesktop.DBus.ObjectManager'. User object will expose following properties and methods. #### xyz.openbmc_project.User.Attributes interface ##### properties - UserPrivilege - Privilege of the user. - UserGroups - Groups to which the user belongs. - UserEnabled - User enabled state. - UserLockedForFailedAttempt - Locked or unlocked state of the user account. #### xyz.openbmc_project.Object.Delete #### methods - Delete - To delete the user object in the system. ## Note This interface doesn't provide ways to set / update password. The same must be set / updated through pam_chauthtok() (PAM modules). This is to avoid sending out password through D-Bus.