Skip to content

Commit 9ca1508

Browse files
committed
Replace --sha512 and --yescrypt with --encrypt option
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
1 parent d93f8c9 commit 9ca1508

6 files changed

Lines changed: 9 additions & 24 deletions

File tree

pambase.py

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,10 @@ def main():
5151
)
5252
parser.add_argument("--sssd", action="store_true", help="enable sssd.so module")
5353
parser.add_argument(
54-
"--yescrypt",
55-
action="store_true",
56-
help="enable yescrypt option for pam_unix.so module",
57-
)
58-
parser.add_argument(
59-
"--sha512",
60-
action="store_true",
61-
help="enable sha512 option for pam_unix.so module",
54+
"--encrypt",
55+
choices=["md5", "sha256", "sha512", "blowfish", "gost_yescrypt", "yescrypt"],
56+
default="md5",
57+
help="select encryption to use for passwords stored by pam_unix.so module",
6258
)
6359
parser.add_argument("--krb5", action="store_true", help="enable pam_krb5.so module")
6460
parser.add_argument(
@@ -91,13 +87,6 @@ def process_args(args):
9187

9288
output = vars(args)
9389

94-
if args.yescrypt:
95-
output["unix_extended_encryption"] = "yescrypt shadow"
96-
elif args.sha512:
97-
output["unix_extended_encryption"] = "sha512 shadow"
98-
else:
99-
output["unix_extended_encryption"] = "md5 shadow"
100-
10190
return output
10291

10392

templates/system-auth.tpl

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,7 @@ password [success=1 default=ignore] pam_krb5.so {{ debug }} ignore_root try_firs
7070
password [success=1 default=ignore] pam_systemd_home.so
7171
{% endif %}
7272

73-
{% if passwdqc or pwquality %}
74-
password {{ 'sufficient' if sssd else 'required' }} pam_unix.so try_first_pass use_authtok {{ nullok }} {{ unix_extended_encryption|default('', true) }} {{ debug }}
75-
{% else %}
76-
password {{ 'sufficient' if sssd else 'required' }} pam_unix.so try_first_pass {{ nullok }} {{ unix_extended_encryption|default('', true) }} {{ debug }}
77-
{% endif %}
73+
password {{ 'sufficient' if sssd else 'required' }} pam_unix.so try_first_pass shadow {% if passwdqc or pwquality %}use_authtok{% endif %} {{ nullok }} {{ encrypt }} {{ debug }}
7874

7975
{% if sssd %}
8076
password sufficient pam_sss.so use_authtok

tests/rendered/custom/system-auth

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ auth [default=die] pam_faillock.so authfail
55
account required pam_unix.so
66
account required pam_faillock.so
77
password required pam_passwdqc.so config=/etc/security/passwdqc.conf
8-
password required pam_unix.so try_first_pass use_authtok nullok sha512 shadow
8+
password required pam_unix.so try_first_pass shadow use_authtok nullok sha512
99
session required pam_limits.so
1010
session required pam_env.so
1111
session required pam_unix.so

tests/rendered/default/system-auth

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ auth [success=1 new_authtok_reqd=1 ignore=ignore default=bad] pam_unix.so try
44
auth [default=die] pam_faillock.so authfail
55
account required pam_unix.so
66
account required pam_faillock.so
7-
password required pam_unix.so try_first_pass md5 shadow
7+
password required pam_unix.so try_first_pass shadow md5
88
session required pam_limits.so
99
session required pam_env.so
1010
session required pam_unix.so

tests/rendered/minimal/system-auth

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ auth [success=1 new_authtok_reqd=1 ignore=ignore default=bad] pam_unix.so try
44
auth [default=die] pam_faillock.so authfail
55
account required pam_unix.so
66
account required pam_faillock.so
7-
password required pam_unix.so try_first_pass md5 shadow
7+
password required pam_unix.so try_first_pass shadow md5
88
session required pam_limits.so
99
session required pam_env.so
1010
session required pam_unix.so

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ commands =
1414
default: diff -Nru tests/rendered/default stack
1515
minimal: python pambase.py --minimal
1616
minimal: diff -Nru tests/rendered/minimal stack
17-
custom: python pambase.py --elogind --nullok --passwdqc --sha512 --shells
17+
custom: python pambase.py --elogind --nullok --passwdqc --encrypt sha512 --shells
1818
custom: diff -Nru tests/rendered/custom stack

0 commit comments

Comments
 (0)