forked from p15670423/monkey
Fixed typos and renamed windows permission setting function in windows_permissions.py to be more specific.
This commit is contained in:
parent
4b733ba383
commit
26e57153da
|
@ -1,30 +0,0 @@
|
|||
import logging
|
||||
import os
|
||||
|
||||
from monkey_island.cc.environment.utils import is_windows_os
|
||||
from monkey_island.cc.environment.windows_permissions import set_full_folder_access
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def create_data_dir(data_dir: str, create_parent_dirs: bool) -> None:
|
||||
if not os.path.isdir(data_dir):
|
||||
try:
|
||||
if create_parent_dirs:
|
||||
os.makedirs(data_dir, mode=0o700)
|
||||
else:
|
||||
os.mkdir(data_dir, mode=0o700)
|
||||
except Exception as ex:
|
||||
LOG.error(
|
||||
f'Could not create data directory at "{data_dir}" (maybe `$HOME` could not be '
|
||||
f"resolved?): {str(ex)}"
|
||||
)
|
||||
|
||||
if is_windows_os(): # `mode=0o700` doesn't work on Windows
|
||||
try:
|
||||
set_full_folder_access(folder_path=data_dir)
|
||||
except Exception as ex:
|
||||
LOG.error(
|
||||
f'Data directory was created at "{data_dir}" but permissions could not be '
|
||||
f"set successfully: {str(ex)}"
|
||||
)
|
|
@ -8,11 +8,9 @@ def is_windows_os() -> bool:
|
|||
|
||||
|
||||
if is_windows_os():
|
||||
from monkey_island.cc.environment.windows_permissions import ( # noqa: E402
|
||||
set_full_folder_access,
|
||||
)
|
||||
import monkey_island.cc.environment.windows_permissions as windows_permissions
|
||||
else:
|
||||
from monkey_island.cc.environment.linux_permissions import set_perms_to_owner_only # noqa: E402
|
||||
import monkey_island.cc.environment.linux_permissions as linux_permissions # noqa: E402
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
@ -31,7 +29,7 @@ def create_directory(path: str, create_parent_dirs: bool):
|
|||
os.mkdir(path)
|
||||
except Exception as ex:
|
||||
LOG.error(
|
||||
f'Could not create a directory at "{path}" (maybe `$HOME` could not be '
|
||||
f'Could not create a directory at "{path}" (maybe environmental variables could not be '
|
||||
f"resolved?): {str(ex)}"
|
||||
)
|
||||
raise ex
|
||||
|
@ -40,9 +38,9 @@ def create_directory(path: str, create_parent_dirs: bool):
|
|||
def set_secure_permissions(dir_path: str):
|
||||
try:
|
||||
if is_windows_os():
|
||||
set_full_folder_access(folder_path=dir_path)
|
||||
windows_permissions.set_perms_to_owner_only(folder_path=dir_path)
|
||||
else:
|
||||
set_perms_to_owner_only(path=dir_path)
|
||||
linux_permissions.set_perms_to_owner_only(path=dir_path)
|
||||
except Exception as ex:
|
||||
LOG.error(f"Permissions could not be " f"set successfully for {dir_path}: {str(ex)}")
|
||||
LOG.error(f"Permissions could not be set successfully for {dir_path}: {str(ex)}")
|
||||
raise ex
|
||||
|
|
|
@ -4,7 +4,7 @@ import win32con
|
|||
import win32security
|
||||
|
||||
|
||||
def set_full_folder_access(folder_path: str) -> None:
|
||||
def set_perms_to_owner_only(folder_path: str) -> None:
|
||||
user = get_user_pySID_object()
|
||||
|
||||
security_descriptor = win32security.GetFileSecurity(
|
||||
|
|
|
@ -2,7 +2,7 @@ import os
|
|||
from typing import Tuple
|
||||
|
||||
from monkey_island.cc.environment import server_config_handler
|
||||
from monkey_island.cc.environment.data_dir_generator import create_data_dir # noqa: E402
|
||||
from monkey_island.cc.environment.utils import create_secure_directory
|
||||
from monkey_island.cc.server_utils.consts import DEFAULT_DATA_DIR, DEFAULT_SERVER_CONFIG_PATH
|
||||
from monkey_island.setup.island_config_options import IslandConfigOptions
|
||||
|
||||
|
@ -10,14 +10,13 @@ from monkey_island.setup.island_config_options import IslandConfigOptions
|
|||
def setup_config_by_cmd_arg(server_config_path) -> Tuple[IslandConfigOptions, str]:
|
||||
server_config_path = os.path.expandvars(os.path.expanduser(server_config_path))
|
||||
config = server_config_handler.load_server_config_from_file(server_config_path)
|
||||
|
||||
create_data_dir(config.data_dir, create_parent_dirs=True)
|
||||
create_secure_directory(config.data_dir, create_parent_dirs=True)
|
||||
return config, server_config_path
|
||||
|
||||
|
||||
def setup_default_config() -> Tuple[IslandConfigOptions, str]:
|
||||
server_config_path = DEFAULT_SERVER_CONFIG_PATH
|
||||
create_data_dir(DEFAULT_DATA_DIR, create_parent_dirs=False)
|
||||
create_secure_directory(DEFAULT_DATA_DIR, create_parent_dirs=False)
|
||||
server_config_handler.create_default_server_config_file()
|
||||
config = server_config_handler.load_server_config_from_file(server_config_path)
|
||||
return config, server_config_path
|
||||
|
|
Loading…
Reference in New Issue