From f61a81a2acb7c9e6bfd8f6cc388a768029d53c33 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Mon, 4 Feb 2019 14:28:33 -0500 Subject: phosphor: pam: move libpam to recipes-extended Move pam metadata from recipes-core to recipes-extended, to match oe-core. (From meta-phosphor rev: 6f75a62ec75deb7ba6efdc5b5c3dda960dda701d) Change-Id: If8e36b1199f9e70ce27522d915ceaa281caaabc6 Signed-off-by: Brad Bishop --- .../pam/libpam/pam.d/common-account | 26 +++++++++++++++++++ .../recipes-extended/pam/libpam/pam.d/common-auth | 19 ++++++++++++++ .../pam/libpam/pam.d/common-password | 30 ++++++++++++++++++++++ .../recipes-extended/pam/libpam_%.bbappend | 12 +++++++++ meta-phosphor/recipes-extended/pam/pam-ipmi_git.bb | 23 +++++++++++++++++ 5 files changed, 110 insertions(+) create mode 100644 meta-phosphor/recipes-extended/pam/libpam/pam.d/common-account create mode 100644 meta-phosphor/recipes-extended/pam/libpam/pam.d/common-auth create mode 100644 meta-phosphor/recipes-extended/pam/libpam/pam.d/common-password create mode 100644 meta-phosphor/recipes-extended/pam/pam-ipmi_git.bb (limited to 'meta-phosphor/recipes-extended/pam') diff --git a/meta-phosphor/recipes-extended/pam/libpam/pam.d/common-account b/meta-phosphor/recipes-extended/pam/libpam/pam.d/common-account new file mode 100644 index 0000000000..10cfc73ea9 --- /dev/null +++ b/meta-phosphor/recipes-extended/pam/libpam/pam.d/common-account @@ -0,0 +1,26 @@ +# +# /etc/pam.d/common-account - authorization settings common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of the authorization modules that define +# the central access policy for use on the system. The default is to +# only deny service to users whose accounts are expired in /etc/shadow. +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. +# + +# here are the per-package modules (the "Primary" block) +account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so +# here's the fallback if no module succeeds +account requisite pam_deny.so +account required pam_tally2.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +account required pam_permit.so +# and here are more per-package modules (the "Additional" block) +# end of pam-auth-update config diff --git a/meta-phosphor/recipes-extended/pam/libpam/pam.d/common-auth b/meta-phosphor/recipes-extended/pam/libpam/pam.d/common-auth new file mode 100644 index 0000000000..4ac58fb54d --- /dev/null +++ b/meta-phosphor/recipes-extended/pam/libpam/pam.d/common-auth @@ -0,0 +1,19 @@ +# +# /etc/pam.d/common-auth - authentication settings common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of the authentication modules that define +# the central authentication scheme for use on the system +# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the +# traditional Unix authentication mechanisms. + +# here are the per-package modules (the "Primary" block) +auth [success=ok default=1] pam_tally2.so deny=0 unlock_time=0 +auth [success=1 default=ignore] pam_unix.so nullok_secure +# here's the fallback if no module succeeds +auth requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +auth required pam_permit.so +# and here are more per-package modules (the "Additional" block) diff --git a/meta-phosphor/recipes-extended/pam/libpam/pam.d/common-password b/meta-phosphor/recipes-extended/pam/libpam/pam.d/common-password new file mode 100644 index 0000000000..f0f051802f --- /dev/null +++ b/meta-phosphor/recipes-extended/pam/libpam/pam.d/common-password @@ -0,0 +1,30 @@ +# +# /etc/pam.d/common-password - password-related modules common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of modules that define the services to be +# used to change user passwords. The default is pam_unix. + +# Explanation of pam_unix options: +# +# The "sha512" option enables salted SHA512 passwords. Without this option, +# the default is Unix crypt. Prior releases used the option "md5". +# +# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in +# login.defs. +# +# See the pam_unix manpage for other options. + +# here are the per-package modules (the "Primary" block) +password [success=ok default=die] pam_ipmicheck.so spec_grp_name=ipmi +password [success=ok default=die] pam_cracklib.so debug enforce_for_root reject_username minlen=8 difok=0 use_authtok +password [success=ok ignore=ignore default=die] pam_pwhistory.so debug enforce_for_root remember=0 use_authtok +password [success=ok default=die] pam_unix.so sha512 use_authtok +password [success=1 default=die] pam_ipmisave.so spec_grp_name=ipmi spec_pass_file=/etc/ipmi_pass key_file=/etc/key_file +# here's the fallback if no module succeeds +password requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +password required pam_permit.so +# and here are more per-package modules (the "Additional" block) diff --git a/meta-phosphor/recipes-extended/pam/libpam_%.bbappend b/meta-phosphor/recipes-extended/pam/libpam_%.bbappend index 714496a947..f97664f20a 100644 --- a/meta-phosphor/recipes-extended/pam/libpam_%.bbappend +++ b/meta-phosphor/recipes-extended/pam/libpam_%.bbappend @@ -1,3 +1,15 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI += " file://pam.d/common-password \ + file://pam.d/common-account \ + file://pam.d/common-auth \ + " + +RDEPENDS_${PN}-runtime += "${MLPREFIX}pam-plugin-cracklib-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-tally2-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \ + " + do_install_append() { # The libpam recipe will always add a pam_systemd.so line to # common-session if systemd is enabled; however systemd only diff --git a/meta-phosphor/recipes-extended/pam/pam-ipmi_git.bb b/meta-phosphor/recipes-extended/pam/pam-ipmi_git.bb new file mode 100644 index 0000000000..2f17076a74 --- /dev/null +++ b/meta-phosphor/recipes-extended/pam/pam-ipmi_git.bb @@ -0,0 +1,23 @@ +SUMMARY = "PAM modules for IPMI support" +DESCRIPTION = "PAM modules managing password for IPMI" +HOMEPAGE = "http://github.com/openbmc/pam-ipmi" +PR = "r1" +PV = "1.0+git${SRCPV}" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRC_URI += "git://github.com/openbmc/pam-ipmi" +SRCREV = "65edb939ef8ffc4d46c7d12e759580c048c5d348" +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +DEPENDS += "autoconf-archive-native" +DEPENDS += "openssl libpam" + +FILES_${PN} += " \ + ${base_libdir}/security/ \ + ${sysconfdir}/key_file \ + ${sysconfdir}/ipmi_pass \ + " -- cgit v1.2.3