# Copyright (c) Cloud Linux Software, Inc # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENCE.TXT import os from . import process_utils from . import log_utils from . import errors from . import utils def selinux_safe_tmpname(fname): head, tail = os.path.split(fname) return os.path.join(head, 'tmp.' + tail) def restore_selinux_context(dname): if is_selinux_enabled(): # Try to restore selinux context cmd = [process_utils.find_cmd('restorecon', ('/usr/sbin', '/sbin')), '-R', dname] code, _, stderr = process_utils.run_command(cmd, catch_stdout=True, catch_stderr=True) if code: log_utils.logerror( "SELinux context restoration for {0} failed with {1}: {2}".format(dname, code, stderr), print_msg=False ) def is_selinux_module_present(semodule_name): code, out, err = process_utils.run_command(['/usr/sbin/semodule', '-l'], catch_stdout=True) if code: raise errors.KcareError("SELinux modules list gathering error: '{0}' {1}".format(err, code)) for line in out.split('\n'): if semodule_name in line: return True return False def skip_if_no_selinux_module(clbl): def wrapper(*args, **kwargs): if is_selinux_enabled() and not is_selinux_module_present('libcare'): raise errors.KcareError('SELinux is enabled but libcare policy module is not loaded') return clbl(*args, **kwargs) return wrapper @utils.cached def is_selinux_enabled(): if os.path.isfile('/usr/sbin/selinuxenabled'): code, _, _ = process_utils.run_command(['/usr/sbin/selinuxenabled']) else: return False return code == 0
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__init__.py | File | 69.58 KB | 0644 |
|
__init__.pyc | File | 64.25 KB | 0644 |
|
__init__.pyo | File | 64.25 KB | 0644 |
|
__main__.py | File | 829 B | 0644 |
|
__main__.pyc | File | 926 B | 0644 |
|
__main__.pyo | File | 926 B | 0644 |
|
auth.py | File | 11.87 KB | 0644 |
|
auth.pyc | File | 11.82 KB | 0644 |
|
auth.pyo | File | 11.82 KB | 0644 |
|
config.py | File | 1.71 KB | 0644 |
|
config.pyc | File | 2.01 KB | 0644 |
|
config.pyo | File | 2.01 KB | 0644 |
|
config_handlers.py | File | 7.26 KB | 0644 |
|
config_handlers.pyc | File | 8.47 KB | 0644 |
|
config_handlers.pyo | File | 8.47 KB | 0644 |
|
constants.py | File | 1.27 KB | 0644 |
|
constants.pyc | File | 1.34 KB | 0644 |
|
constants.pyo | File | 1.34 KB | 0644 |
|
errors.py | File | 1.29 KB | 0644 |
|
errors.pyc | File | 2.94 KB | 0644 |
|
errors.pyo | File | 2.94 KB | 0644 |
|
fetch.py | File | 4.88 KB | 0644 |
|
fetch.pyc | File | 5.47 KB | 0644 |
|
fetch.pyo | File | 5.47 KB | 0644 |
|
http_utils.py | File | 4.06 KB | 0644 |
|
http_utils.pyc | File | 4.16 KB | 0644 |
|
http_utils.pyo | File | 4.16 KB | 0644 |
|
kcare.py | File | 8.56 KB | 0644 |
|
kcare.pyc | File | 11.09 KB | 0644 |
|
kcare.pyo | File | 11.09 KB | 0644 |
|
libcare.py | File | 17.24 KB | 0644 |
|
libcare.pyc | File | 19.16 KB | 0644 |
|
libcare.pyo | File | 19.16 KB | 0644 |
|
log_utils.py | File | 2.82 KB | 0644 |
|
log_utils.pyc | File | 3.75 KB | 0644 |
|
log_utils.pyo | File | 3.75 KB | 0644 |
|
platform_utils.py | File | 3.4 KB | 0644 |
|
platform_utils.pyc | File | 4.56 KB | 0644 |
|
platform_utils.pyo | File | 4.56 KB | 0644 |
|
process_utils.py | File | 3.81 KB | 0644 |
|
process_utils.pyc | File | 3.67 KB | 0644 |
|
process_utils.pyo | File | 3.67 KB | 0644 |
|
py23.py | File | 1.74 KB | 0644 |
|
py23.pyc | File | 2.15 KB | 0644 |
|
py23.pyo | File | 2.15 KB | 0644 |
|
selinux.py | File | 1.68 KB | 0644 |
|
selinux.pyc | File | 2.43 KB | 0644 |
|
selinux.pyo | File | 2.43 KB | 0644 |
|
server_info.py | File | 2.99 KB | 0644 |
|
server_info.pyc | File | 3.48 KB | 0644 |
|
server_info.pyo | File | 3.48 KB | 0644 |
|
update_utils.py | File | 923 B | 0644 |
|
update_utils.pyc | File | 1.18 KB | 0644 |
|
update_utils.pyo | File | 1.18 KB | 0644 |
|
utils.py | File | 7.07 KB | 0644 |
|
utils.pyc | File | 7.8 KB | 0644 |
|
utils.pyo | File | 7.8 KB | 0644 |
|