1# User Management
2
3## Overview
4
5User Manager service exposes D-Bus methods for user management operations.
6
7### User Manager Interface
8
9User manager interface `xyz.openbmc_project.User.Manager` provides following
10methods, properties and signals.
11
12#### xyz.openbmc_project.User.Manager interface
13
14##### methods
15
16- CreateUser - To create new user to the system.
17- RenameUser - To rename existing user to new name in the system.
18
19##### properties
20
21- AllGroups - To list all the groups supported in the system.
22- AllPrivileges - To list all the privileges supported in the system.
23
24##### signals
25
26- UserRenamed - Signal sent out when user is renamed in the system.
27
28#### xyz.openbmc_project.User.AccountPolicy interface
29
30##### properties
31
32- MaxLoginAttemptBeforeLockout - Permissible attempt before locking out the
33  user for failed login attempts.
34- AccountUnlockTimeout - Timeout (in seconds) to unlock the account after a
35  lockout.
36- MinPasswordLength - Minimum password length, which can be set.
37- RememberOldPasswordTimes – Number of times old password shouldn’t be allowed
38  when updating password for the user.
39
40### Users Interface
41
42User manager daemon, will create user objects for every user existing
43in the system under object path `/xyz/openbmc_project/user/<user name>`.
44Each user object can be handled through 'org.freedesktop.DBus.ObjectManager'.
45User object will expose following properties and methods.
46
47#### xyz.openbmc_project.User.Attributes interface
48
49##### properties
50
51- UserPrivilege - Privilege of the user.
52- UserGroups - Groups to which the user belongs.
53- UserEnabled - User enabled state.
54- UserLockedForFailedAttempt - Locked or unlocked state of the user account.
55
56#### xyz.openbmc_project.Object.Delete
57
58#### methods
59
60- Delete - To delete the user object in the system.
61
62## Note
63
64This interface doesn't provide ways to set / update password. The same must
65be set / updated through pam_chauthtok() (PAM modules). This is to avoid
66sending out password through D-Bus.
67