From 7e7093e821bb52c3902c74ce5144e7d6112390df Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Mon, 26 Jan 2015 01:21:15 +0100 Subject: [PATCH] check late for root, so letsencrypt --help also works without being root --- letsencrypt/scripts/main.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/letsencrypt/scripts/main.py b/letsencrypt/scripts/main.py index 0fd3f99c8..24569ac87 100755 --- a/letsencrypt/scripts/main.py +++ b/letsencrypt/scripts/main.py @@ -19,11 +19,6 @@ from letsencrypt.client.apache import configurator def main(): # pylint: disable=too-many-statements """Command line argument parsing and main script execution.""" - if not os.geteuid() == 0: - sys.exit( - "{0}Root is required to run letsencrypt. Please use sudo.{0}" - .format(os.linesep)) - parser = argparse.ArgumentParser( description="An ACME client that can update Apache configurations.") @@ -63,8 +58,15 @@ def main(): # pylint: disable=too-many-statements parser.add_argument("--test", dest="test", action="store_true", help="Run in test mode.") + # note: arg parser internally handles --help (and exits afterwards) args = parser.parse_args() + # note: check is done after arg parsing as --help should work w/o root also. + if not os.geteuid() == 0: + sys.exit( + "{0}Root is required to run letsencrypt. Please use sudo.{0}" + .format(os.linesep)) + # Set up logging logger = logging.getLogger() logger.setLevel(logging.INFO)