diff --git a/src/utils/createdirs.py b/src/utils/createdirs.py index b56eaa93..d0590bf4 100644 --- a/src/utils/createdirs.py +++ b/src/utils/createdirs.py @@ -4,6 +4,8 @@ Create required Onionr directories """ import os import stat +from pwd import getpwuid +from getpass import getuser from . import identifyhome import filepaths @@ -25,6 +27,10 @@ import onionrexceptions home = identifyhome.identify_home() +def find_owner(filename): + return getpwuid(os.stat(filename).st_uid).pw_name + + def create_dirs(): """Create onionr data-related directories in order of the hardcoded list below, @@ -35,7 +41,7 @@ def create_dirs(): if not os.path.exists(path): os.makedirs(path) else: - if os.getuid() != os.stat(path).st_uid: + if getuser() != find_owner(path): raise onionrexceptions.InsecureDirectoryUsage( "Directory " + path + " already exists and is not owned by the same user") @@ -48,4 +54,4 @@ def create_dirs(): try: db() except FileExistsError: - pass + pass \ No newline at end of file