From 300d7d4a6677c2f2a175e2e0d1ec9a726927aa04 Mon Sep 17 00:00:00 2001 From: Joey Mucci Date: Tue, 18 Nov 2025 21:10:52 +0000 Subject: [PATCH 1/2] check for root user first in landscape-config --- landscape/client/configuration.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/landscape/client/configuration.py b/landscape/client/configuration.py index 32dfc431c..983869fbc 100644 --- a/landscape/client/configuration.py +++ b/landscape/client/configuration.py @@ -929,6 +929,9 @@ def get_secure_id(config): def main(args, print=print): # noqa: C901 + if os.getuid() != 0: + sys.exit("landscape-config must be run as root.") + """Interact with the user and the server to set up client configuration.""" config = LandscapeSetupConfiguration() try: @@ -983,9 +986,6 @@ def main(args, print=print): # noqa: C901 else: sys.exit(EXIT_NOT_REGISTERED) - if os.getuid() != 0: - sys.exit("landscape-config must be run as root.") - if config.init: bootstrap_tree(config) sys.exit(0) From abc971ab1bc5c8f3d8d2e5969fafd53ed4c2fa16 Mon Sep 17 00:00:00 2001 From: Joey Mucci Date: Tue, 18 Nov 2025 21:56:18 +0000 Subject: [PATCH 2/2] run landscape-config as root in tests --- landscape/client/configuration.py | 6 +++--- landscape/client/tests/test_configuration.py | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/landscape/client/configuration.py b/landscape/client/configuration.py index 983869fbc..cc0433aab 100644 --- a/landscape/client/configuration.py +++ b/landscape/client/configuration.py @@ -929,9 +929,6 @@ def get_secure_id(config): def main(args, print=print): # noqa: C901 - if os.getuid() != 0: - sys.exit("landscape-config must be run as root.") - """Interact with the user and the server to set up client configuration.""" config = LandscapeSetupConfiguration() try: @@ -940,6 +937,9 @@ def main(args, print=print): # noqa: C901 print_text(str(error), error=True) sys.exit(1) + if os.getuid() != 0: + sys.exit("landscape-config must be run as root.") + init_app_logging( config.log_dir, config.log_level, diff --git a/landscape/client/tests/test_configuration.py b/landscape/client/tests/test_configuration.py index 4dd78841d..ffb2b17ac 100644 --- a/landscape/client/tests/test_configuration.py +++ b/landscape/client/tests/test_configuration.py @@ -2354,6 +2354,7 @@ def setUp(self): """, ) + self.mock_getuid = mock.patch("os.getuid", return_value=0).start() mock.patch("landscape.client.configuration.init_app_logging").start() self.addCleanup(mock.patch.stopall) @@ -2434,6 +2435,7 @@ def setUp(self): """, ) + self.mock_getuid = mock.patch("os.getuid", return_value=0).start() mock.patch("landscape.client.configuration.init_app_logging").start() self.addCleanup(mock.patch.stopall)