From 28b9140afd84e29c2c6666d0f4ff0d0519210e15 Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Tue, 10 Jun 2014 21:55:58 +0000 Subject: [PATCH] force tails users to run as root (#42) --- onionshare/onionshare.py | 8 ++++++++ onionshare/strings.json | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/onionshare/onionshare.py b/onionshare/onionshare.py index 14e3f3ca..c84e24b9 100644 --- a/onionshare/onionshare.py +++ b/onionshare/onionshare.py @@ -64,6 +64,9 @@ def get_platform(): p = 'Tails' return p +def is_root(): + return os.geteuid() == 0 + def get_hidden_service_dir(port): if get_platform() == "Windows": if 'Temp' in os.environ: @@ -154,6 +157,11 @@ def start_hidden_service(port): def main(): load_strings() + # check for root in Tails + if get_platform() == 'Tails' and not is_root(): + sys.exit(strings["tails_requires_root"]) + + # parse arguments parser = argparse.ArgumentParser() parser.add_argument('--local-only', action='store_true', dest='local_only', help='Do not attempt to use tor: for development only') parser.add_argument('filename', nargs=1) diff --git a/onionshare/strings.json b/onionshare/strings.json index 2064824b..c1f01918 100644 --- a/onionshare/strings.json +++ b/onionshare/strings.json @@ -13,7 +13,8 @@ "download_page_loaded": "Download page loaded", "download_started": "Download started", "download_finished": "Download finished", - "other_page_loaded": "Other page has been loaded" + "other_page_loaded": "Other page has been loaded", + "tails_requires_root": "You must run OnionShare as root in Tails" }, "no": { "punching_a_hole": "Ã…pner port i brannmuren.", "closing_hole": "Lukker port i brannmuren.",