]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: adapt install_pam() for openSUSE
authorFranck Bui <fbui@suse.com>
Thu, 5 Aug 2021 13:34:37 +0000 (15:34 +0200)
committerFranck Bui <fbui@suse.com>
Wed, 18 Aug 2021 15:37:55 +0000 (17:37 +0200)
On openSUSE the default pam config files are shipped in /usr/etc/pam.d.

Also empty password is not allowed by default.

test/test-functions

index fe3081106fe8e68e14d002bb4c9f7e9aa45edffb..8b8c89a20628c2736666ba810f300f7467238b30 100644 (file)
@@ -1587,7 +1587,7 @@ install_pam() {
         paths+=(/lib*/security)
     fi
 
-    for d in /etc/pam.d /etc/security /usr/lib/pam.d; do
+    for d in /etc/pam.d /etc/security /usr/{etc,lib}/pam.d; do
         [ -d "$d" ] && paths+=("$d")
     done
 
@@ -1601,6 +1601,13 @@ install_pam() {
 
     # set empty root password for easy debugging
     sed -i 's/^root:x:/root::/' "${initdir:?}/etc/passwd"
+
+    # And make sure pam_unix will accept it by making sure that
+    # the PAM module has the nullok option.
+    for d in /etc/pam.d /usr/{etc,lib}/pam.d; do
+        [ -d "$initdir/$d" ] || continue
+        sed -i '/^auth.*pam_unix.so/s/$/ nullok/' "$initdir/$d"/*
+    done
 }
 
 install_keymaps() {