!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/5.6.40 

uname -a: Linux cpanel06wh.bkk1.cloud.z.com 2.6.32-954.3.5.lve1.4.80.el6.x86_64 #1 SMP Thu Sep 24
01:42:00 EDT 2020 x86_64
 

uid=851(cp949260) gid=853(cp949260) groups=853(cp949260) 

Safe-mode: OFF (not secure)

/opt/alt/python37/lib/python3.7/site-packages/clconfigure/cli/   drwxr-xr-x
Free 233.4 GB of 981.82 GB (23.77%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     cloudlinux-reconfigure.py (6.13 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/opt/alt/python37/bin/python3 -bb
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2018 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# https://cloudlinux.com/docs/LICENCE.TXT
#
from __future__ import absolute_import
import argparse
import logging
import sys

from clconfigure import task
from clconfigure.limits import set_default_limits_state
from clconfigure.services import set_service_state, STATE_RUNNING, STATE_MASKED, STATE_STOPPED, STATE_UNMASKED
from clconfigure.packages import set_package_state, get_list_installed_alt_phps, STATE_INSTALLED, STATE_REMOVED
from lve_utils.sentry import init_lve_utils_sentry_client
from clconfigure import setup_logger
from clcommon.lib.cledition import is_cl_solo_edition, is_cl_admin_edition, is_container

LOGS_PATH = '/var/log/cloudlinux/clcustomizer.log'

CONFLICTED_PACKAGES = (
    'ea-apache24-mod_lsapi',
    'mod_lsapi',
    'httpd24-mod_lsapi',
    'mod_hostinglimits',
    'ea-apache24-mod_hostinglimits',
    'httpd24-mod_hostinglimits',
    'cagefs',
    'pam_lve',
    'governor-mysql',
)


def _disable_lve_services():
    """
    Turn off all lve-related services.
    """
    set_service_state(STATE_STOPPED, 'lve')
    set_service_state(STATE_STOPPED, 'lve_namespaces')
    set_service_state(STATE_STOPPED, 'lvestats')
    set_service_state(STATE_STOPPED, 'lvectl')
    set_service_state(STATE_MASKED, 'lve')
    set_service_state(STATE_MASKED, 'lve_namespaces')
    set_service_state(STATE_MASKED, 'lvestats')
    set_service_state(STATE_MASKED, 'lvectl')


@task("Configuring environment for CloudLinux OS Solo: is_posttrans='{is_posttrans}'")
def install_cl_solo(is_posttrans):
    """
    Converts "normal" CloudLinux into CL Solo by disabling
    some services and installing some packages.
    :param is_posttrans:
        When true, we must do only actions that need to be done during
        %posttrans section of cloudlinux-solo-meta package
    """
    if not is_posttrans:
        alt_phps = ['alt-' + php for php in get_list_installed_alt_phps()]

        for conflicted_package in CONFLICTED_PACKAGES:
            set_package_state(STATE_REMOVED, conflicted_package)

        for php in alt_phps:
            set_package_state(STATE_REMOVED, php)

        set_package_state(STATE_INSTALLED, 'cloudlinux-solo-meta')
    else:
        _disable_lve_services()


@task("Configuring environment for CloudLinux OS Shared (container): is_posttrans='{is_posttrans}'")
def install_cl_container(is_posttrans):
    """
    Converts "normal" CloudLinux Shared into container by disabling
    some services and installing some packages.
    :param is_posttrans:
        When true, we must do only actions that need to be done during
        %posttrans section of cloudlinux-container package
    """
    if not is_posttrans:
        set_package_state(STATE_INSTALLED, 'cloudlinux-container')
    else:
        _disable_lve_services()


@task("Configuring environment for CloudLinux OS Admin: is_posttrans='{is_posttrans}'")
def install_cl_admin(is_posttrans):
    """
    Converts "normal" CloudLinux into CL Admin by changing default limits
    and some other stuff that may be added later.
    :param is_posttrans:
        When true, we must do only actions that need to be done during
        %posttrans section of cloudlinux-solo-meta package
    """
    if not is_posttrans:
        # TODO: mysql-governor is not so easy to install and
        #       also we don't support shared -> admin migration in production
        #       so just omit this case for now
        set_package_state(STATE_INSTALLED, 'cloudlinux-admin-meta')
    else:
        set_default_limits_state('unlimited')


@task("Converting environment from CloudLinux OS Solo to CloudLinux OS Shared: is_posttrans='{is_posttrans}'")
def uninstall_cl_solo(is_posttrans):
    """
    Converts CL Solo into "normal" CloudLinux by enabling
    some services and installing some packages.
    :param is_posttrans:
        When true, we must do only actions that need to be done during
        %posttrans section of cloudlinux-solo-meta package
    """
    if not is_posttrans:
        set_package_state(STATE_REMOVED, 'cloudlinux-solo-meta')
        set_package_state(STATE_INSTALLED, 'cagefs')
    else:
        set_service_state(STATE_UNMASKED, 'lve')
        set_service_state(STATE_UNMASKED, 'lve_namespaces')
        set_service_state(STATE_UNMASKED, 'lvestats')
        set_service_state(STATE_UNMASKED, 'lvectl')
        set_service_state(STATE_RUNNING, 'lve')
        set_service_state(STATE_RUNNING, 'lve_namespaces')
        set_service_state(STATE_RUNNING, 'lvectl')
        set_service_state(STATE_RUNNING, 'lvestats')


def main():
    """
    Entry point for this program.
    Parses arguments and calls needed methods.
    """
    setup_logger(None, LOGS_PATH)
    logging.debug('Executing "%s"', ' '.join(sys.argv))

    parser = argparse.ArgumentParser()
    subparsers = parser.add_subparsers(dest='action')
    reconfigure = subparsers.add_parser('reconfigure')
    reconfigure.add_argument('-t', '--target', choices=[
        'solo',
        'shared',
        'container',
        'admin',
        'auto'
    ], required=True)
    reconfigure.add_argument('--posttrans', default=False, action='store_true')

    args = parser.parse_args()
    if args.action is None:
        parser.print_help()
        return

    if args.target == 'solo':
        install_cl_solo(args.posttrans)
    elif args.target == 'admin':
        install_cl_admin(args.posttrans)
    elif args.target == 'container':
        install_cl_container(args.posttrans)
    elif args.target == 'shared':
        uninstall_cl_solo(args.posttrans)
    elif args.target == 'auto':
        if is_container():
            install_cl_container(args.posttrans)
        elif is_cl_solo_edition(skip_jwt_check=False):
            install_cl_solo(args.posttrans)
        elif is_cl_admin_edition(skip_jwt_check=False):
            install_cl_admin(args.posttrans)
        else:
            # uninstall is currently not supported
            pass
    else:
        raise NotImplementedError()


if __name__ == '__main__':
    logging.basicConfig(level=logging.INFO)

    init_lve_utils_sentry_client('clconfigure')
    main()


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0203 ]--