1OBMC_IMAGE_EXTRA_INSTALL:append:ibm-ac-server = " mboxd max31785-msl phosphor-msl-verify liberation-fonts uart-render-controller first-boot-set-hostname"
2OBMC_IMAGE_EXTRA_INSTALL:append:p10bmc = " mboxd ibmtpm2tss"
3OBMC_IMAGE_EXTRA_INSTALL:append:witherspoon-tacoma = " ibmtpm2tss"
4OBMC_IMAGE_EXTRA_INSTALL:append:mihawk = " mboxd liberation-fonts uart-render-controller "
5
6# remove so things fit in available flash space
7IMAGE_FEATURES:remove:witherspoon = "obmc-user-mgmt-ldap"
8IMAGE_FEATURES:remove:witherspoon = "obmc-telemetry"
9
10# Optionally configure IBM service accounts
11#
12# To configure your distro, add the following line to its config:
13#     DISTRO_FEATURES += "ibm-service-account-policy"
14#
15# The service account policy is as follows:
16#   root - The root account remains present.  It is needed for internal
17#     accounting purposes and for debugging service access.
18#   admin - Provides administrative control over the BMC.  The role is
19#     SystemAdministrator.  Admin users have access to interfaces including:
20#     Redfish, REST APIs, Web.  No access to the BMC via: the BMC's physical
21#     console, SSH to the BMC's command line.
22#     IPMI access is not granted by default, but admins can authorize
23#     themselves and enable the IPMI service.
24#     The admin has access to the host console: ssh -p2200 admin@${bmc}.
25#     The admin account does not have a home directory.
26#   service - Provides IBM service and support representatives (SSRs, formerly
27#     known as customer engineers or CEs) access to the BMC.  The role is
28#     OemIBMServiceAgent.  The service user has full admin access, plus access
29#     to BMC interfaces intended only to service the BMC and host, including
30#     SSH access to the BMC's command line.
31#     The service account is not authorized to IPMI because of the inherent
32#     security weakness in the IPMI spec and also because the IPMI
33#     implementation was not enhanced to use the ACF support.
34#     The service account does not have a home directory.  The home directory is
35#     set to / (the root directory) to allow dropbear ssh connections.
36
37# Override defaults from meta-phosphor/conf/distro/include/phosphor-defaults.inc
38inherit extrausers
39
40#IBM_EXTRA_USERS_PARAMS += " \
41#  usermod -p ${DEFAULT_OPENBMC_PASSWORD} root; \
42#  "
43
44# Add group "wheel" (before adding the "service" account).
45IBM_EXTRA_USERS_PARAMS += " \
46  groupadd wheel; \
47  "
48
49# Add the "admin" account.
50IBM_EXTRA_USERS_PARAMS += " \
51  useradd -M -d / --groups priv-admin,redfish,web -s /sbin/nologin admin; \
52  usermod -p ${DEFAULT_OPENBMC_PASSWORD} admin; \
53  "
54
55# Add the "service" account.
56IBM_EXTRA_USERS_PARAMS += " \
57  useradd -M -d / --groups priv-admin,redfish,web,wheel service; \
58  usermod -p ${DEFAULT_OPENBMC_PASSWORD} service; \
59  "
60
61# This is recipe specific to ensure it takes effect.
62EXTRA_USERS_PARAMS:pn-obmc-phosphor-image += "${@bb.utils.contains('DISTRO_FEATURES', 'ibm-service-account-policy', "${IBM_EXTRA_USERS_PARAMS}", '', d)}"
63
64# The service account needs sudo.
65IMAGE_INSTALL:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ibm-service-account-policy', 'sudo', '', d)}"
66