]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Don't fail if /etc/pam.d/login doesn't exist.
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 11 May 2022 07:58:15 +0000 (09:58 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 11 May 2022 09:47:23 +0000 (11:47 +0200)
mkosi/__init__.py

index 6e4bf7816f777911f6e39d74849874cb9f22cb65..66a87303c0e0d0b17b710afb3e0e94b4e74acae5 100644 (file)
@@ -3337,9 +3337,11 @@ def invoke_fstrim(args: MkosiArgs, root: Path, do_run_build_script: bool, for_ca
 
 
 def pam_add_autologin(root: Path, ttys: List[str]) -> None:
-    with open(root / "etc/pam.d/login", "r+") as f:
-        original = f.read()
-        f.seek(0)
+    login = root / "etc/pam.d/login"
+    original = login.read_text() if login.exists() else ""
+
+    login.parent.mkdir(exist_ok=True)
+    with open(login, "w") as f:
         for tty in ttys:
             # Some PAM versions require the /dev/ prefix, others don't. Just add both variants.
             f.write(f"auth sufficient pam_succeed_if.so tty = {tty}\n")