]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
mkosi-initrd: only set restrictive umask to create output dir if user is root
authorAntonio Alvarez Feijoo <antonio.feijoo@suse.com>
Fri, 4 Oct 2024 10:14:40 +0000 (12:14 +0200)
committerJörg Behrmann <behrmann@physik.fu-berlin.de>
Fri, 4 Oct 2024 10:57:40 +0000 (12:57 +0200)
mkosi/initrd.py

index cb712fd416f58e2f5f0f547bfe2c950840dd23d3..80c21ed38e93fc0e218866033f2a09875e6cfa93 100644 (file)
@@ -1,12 +1,14 @@
 # SPDX-License-Identifier: LGPL-2.1-or-later
 
 import argparse
+import contextlib
 import os
 import platform
 import shutil
 import sys
 import tempfile
 from pathlib import Path
+from typing import cast
 
 import mkosi.resources
 from mkosi.config import DocFormat, OutputFormat
@@ -177,7 +179,7 @@ def main() -> None:
         )
 
         if args.output_dir:
-            with umask(~0o700):
+            with umask(~0o700) if os.getuid() == 0 else cast(umask, contextlib.nullcontext()):
                 Path(args.output_dir).mkdir(parents=True, exist_ok=True)
         else:
             args.output_dir = Path.cwd()