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/<user name>. 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.