Compare uid not username in create_dirs()

This commit is contained in:
Duncan X Simpson 2020-12-15 22:36:34 -07:00
parent 5afbed63cf
commit 9345d27d6a

View File

@ -4,8 +4,6 @@ Create required Onionr directories
""" """
import os import os
import stat import stat
from pwd import getpwuid
from getpass import getuser
from . import identifyhome from . import identifyhome
import filepaths import filepaths
@ -27,10 +25,6 @@ import onionrexceptions
home = identifyhome.identify_home() home = identifyhome.identify_home()
def find_owner(filename):
return getpwuid(os.stat(filename).st_uid).pw_name
def create_dirs(): def create_dirs():
"""Create onionr data-related directories in """Create onionr data-related directories in
order of the hardcoded list below, order of the hardcoded list below,
@ -41,7 +35,7 @@ def create_dirs():
if not os.path.exists(path): if not os.path.exists(path):
os.makedirs(path) os.makedirs(path)
else: else:
if getuser() != find_owner(path): if os.getuid() != os.stat(path).st_uid:
raise onionrexceptions.InsecureDirectoryUsage( raise onionrexceptions.InsecureDirectoryUsage(
"Directory " + path + "Directory " + path +
" already exists and is not owned by the same user") " already exists and is not owned by the same user")