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