Răsfoiți Sursa

fix user detection on freebsd always returning root

Nick Sweeting 4 ani în urmă
părinte
comite
208f866fc4
1 a modificat fișierele cu 2 adăugiri și 1 ștergeri
  1. 2 1
      archivebox/config.py

+ 2 - 1
archivebox/config.py

@@ -25,6 +25,7 @@ import os
 import io
 import re
 import sys
+import pwd
 import json
 import getpass
 import platform
@@ -312,7 +313,7 @@ ALLOWED_IN_OUTPUT_DIR = {
 
 DYNAMIC_CONFIG_SCHEMA: ConfigDefaultDict = {
     'TERM_WIDTH':               {'default': lambda c: lambda: shutil.get_terminal_size((100, 10)).columns},
-    'USER':                     {'default': lambda c: getpass.getuser() or os.getlogin()},
+    'USER':                     {'default': lambda c: pwd.getpwuid(os.geteuid()).pw_name or getpass.getuser() or os.getlogin()},
     'ANSI':                     {'default': lambda c: DEFAULT_CLI_COLORS if c['USE_COLOR'] else {k: '' for k in DEFAULT_CLI_COLORS.keys()}},
 
     'PACKAGE_DIR':              {'default': lambda c: Path(__file__).resolve().parent},