summaryrefslogtreecommitdiff
path: root/meta-ampere
diff options
context:
space:
mode:
authorHieu Huynh <hieuh@os.amperecomputing.com>2022-03-13 06:38:38 +0300
committerHieu Huynh <hieuh@os.amperecomputing.com>2022-03-13 06:38:38 +0300
commit4401d19c54b2691f0d3aa147b95d29168ae4bd54 (patch)
treeabab12125195f99f18a0d006c3e5e1e0d4afb645 /meta-ampere
parentd5caa5728f6ec57dd3d6fbc896de140ca13f154d (diff)
downloadopenbmc-4401d19c54b2691f0d3aa147b95d29168ae4bd54.tar.xz
meta-ampere: Support Ampere password policy
Implement Ampere password policy as followings: - Password must between 9-20 characters, 1 lower case, 1 upper case, one digit and 1 special character. - No more than 3 consecutive identical characters. Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com> Change-Id: I20134f51e06ef0aabeddfc4d1560acfa7483deab
Diffstat (limited to 'meta-ampere')
-rw-r--r--meta-ampere/meta-common/recipes-extended/pam/libpam/pam.d/common-password30
-rw-r--r--meta-ampere/meta-common/recipes-extended/pam/libpam_%.bbappend4
2 files changed, 34 insertions, 0 deletions
diff --git a/meta-ampere/meta-common/recipes-extended/pam/libpam/pam.d/common-password b/meta-ampere/meta-common/recipes-extended/pam/libpam/pam.d/common-password
new file mode 100644
index 0000000000..5a42680ee2
--- /dev/null
+++ b/meta-ampere/meta-common/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_cracklib.so debug enforce_for_root reject_username minlen=9 difok=0 lcredit=-1 ocredit=-1 dcredit=-1 ucredit=-1 maxrepeat=3
+password [success=ok default=die] pam_ipmicheck.so spec_grp_name=ipmi 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-ampere/meta-common/recipes-extended/pam/libpam_%.bbappend b/meta-ampere/meta-common/recipes-extended/pam/libpam_%.bbappend
new file mode 100644
index 0000000000..4ede0332eb
--- /dev/null
+++ b/meta-ampere/meta-common/recipes-extended/pam/libpam_%.bbappend
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += " file://pam.d/common-password \
+ "