Change keygen.py to not require root

keygen.py now recommends that you run it as the user you want to have
ownership of secret.key and uploadkeys (such as www-data for nginx).
Then, if uploadkeys or secret.key don't exist, they will be created with
the correct ownership.
This commit is contained in:
BBaoVanC 2020-09-02 14:26:57 -05:00
parent 7fce3f57e9
commit f0bb30a747
No known key found for this signature in database
GPG Key ID: 6D74C8B0E7D791C2

View File

@ -8,11 +8,6 @@ import sys
import os
# Check if the script was run as root
if os.geteuid() != 0:
exit("Root privileges are necessary to run this script.\nPlease try again as root or using `sudo`.")
# Check if encryption key already exists
enckey = Path(settings.ENCKEY_PATH)
if enckey.is_file():
@ -63,6 +58,12 @@ def ask_yn(msg):
return proceed
start = ask_yn("Have you run this program as the correct user (for example, nginx uses www-data)? [y/n] ")
if not start:
print("Please run this as the correct user with: sudo su [user] -s /bin/sh -c 'python3 keygen/py'")
else:
N = 64 # Size of token
# Generate key