|
|
|
@ -4,8 +4,6 @@ Create required Onionr directories |
|
|
|
|
""" |
|
|
|
|
import os |
|
|
|
|
import stat |
|
|
|
|
from pwd import getpwuid |
|
|
|
|
from getpass import getuser |
|
|
|
|
|
|
|
|
|
from . import identifyhome |
|
|
|
|
import filepaths |
|
|
|
@ -27,10 +25,6 @@ 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, |
|
|
|
@ -41,7 +35,7 @@ def create_dirs(): |
|
|
|
|
if not os.path.exists(path): |
|
|
|
|
os.makedirs(path) |
|
|
|
|
else: |
|
|
|
|
if getuser() != find_owner(path): |
|
|
|
|
if os.getuid() != os.stat(path).st_uid: |
|
|
|
|
raise onionrexceptions.InsecureDirectoryUsage( |
|
|
|
|
"Directory " + path + |
|
|
|
|
" already exists and is not owned by the same user") |
|
|
|
@ -54,4 +48,4 @@ def create_dirs(): |
|
|
|
|
try: |
|
|
|
|
db() |
|
|
|
|
except FileExistsError: |
|
|
|
|
pass |
|
|
|
|
pass |
|
|
|
|