Linux evo.fastest-server.com 5.14.0-284.1101.el9.tuxcare.11.els11.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 14 13:30:35 UTC 2026 x86_64
LiteSpeed
Server IP : 103.249.112.113 & Your IP : 216.73.217.135
Domains : 988 Domain
User : tanishks
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
cagefs /
Delete
Unzip
Name
Size
Permission
Date
Action
.cagefs.empty
[ DIR ]
drwxr-xr-x
2026-09-04 11:35
__pycache__
[ DIR ]
drwxr-xr-x
2026-09-04 11:37
conf.d
[ DIR ]
drwx------
2026-09-04 11:35
configs
[ DIR ]
drwxr-xr-x
2026-09-04 11:34
cpanel
[ DIR ]
drwxr-xr-x
2026-09-04 11:37
exclude
[ DIR ]
drwxr-x---
2026-09-25 08:35
exclude.d
[ DIR ]
drwxr-x---
2026-09-04 11:35
safeprograms
[ DIR ]
drwxr-xr-x
2026-09-04 11:37
scriptlets
[ DIR ]
drwxr-xr-x
2026-09-04 11:37
service
[ DIR ]
drwxr-xr-x
2026-09-04 11:37
.lock
0
B
-rw-r--r--
2026-09-04 12:12
065-passenger-cagefs
395
B
-rwxr-xr-x
2026-07-31 12:29
cagefs_da_lib.py
6.13
KB
-rw-r--r--
2026-07-31 12:29
cagefs_docroots_monitor
2.67
MB
-rwxr-xr-x
2026-07-31 12:29
cagefs_universal_hook_lib.py
3.72
KB
-rw-r--r--
2026-07-31 12:29
cagefs_without_lve_lib.py
22.6
KB
-rw-r--r--
2026-07-31 12:29
cagefsctl.py
252.76
KB
-rw-r--r--
2026-07-31 12:29
cagefshooks.py
11.23
KB
-rw-r--r--
2026-07-31 12:29
cagefslib.py
141.13
KB
-rw-r--r--
2026-07-31 12:29
cagefsreconfigure.py
29
KB
-rw-r--r--
2026-07-31 12:29
check_params.py
20.63
KB
-rwxr-xr-x
2026-07-31 12:29
clean_user_alt_php_sessions_plesk
4.71
KB
-rwxr-xr-x
2026-07-31 12:29
clean_user_php_sessions
3.62
KB
-rwxr-xr-x
2026-07-31 12:29
exclude_users_cleaner.py
3.77
KB
-rwxr-xr-x
2026-07-31 12:29
feature_manager.py
14.03
KB
-rwxr-xr-x
2026-07-31 12:29
fix_fpm_services_in_container
414
B
-rwxr-xr-x
2026-07-31 12:29
generic_hook_lib.py
17.07
KB
-rw-r--r--
2026-07-31 12:29
logs.py
655
B
-rw-r--r--
2026-07-31 12:29
migrate.sh
3
KB
-rwxr-xr-x
2026-07-31 12:29
phpinivalidator.py
6.46
KB
-rw-r--r--
2026-07-31 12:29
repair_homes.log
60
B
-rw-r--r--
2026-09-04 11:35
repair_homes.py
34.46
KB
-rwxr-xr-x
2026-07-31 12:29
sanity_check.py
9.62
KB
-rw-r--r--
2026-07-31 12:29
setup_multiphp_integration
408
B
-rwxr-xr-x
2026-07-31 12:29
signals_handlers.py
857
B
-rw-r--r--
2026-07-31 12:29
virtmp_mount.py
8.88
KB
-rw-r--r--
2026-07-31 12:29
Save
Rename
#!/opt/cloudlinux/venv/bin/python3 -bb from __future__ import absolute_import from __future__ import division from __future__ import print_function from __future__ import unicode_literals from future import standard_library standard_library.install_aliases() from builtins import * import sys import os import glob import time import secureio import subprocess from collections import defaultdict from clcommon import login_defs from future.utils import iteritems sys.path.append('/usr/share/cagefs') from cagefslib import ( get_alt_dirs, clean_dir_from_old_session_files, get_opts_from_php_ini, is_clean_user_php_sessions_enabled ) from clcagefslib.domain import ( get_docroots_of_isolated_websites, is_website_isolation_allowed_server_wide ) from clcagefslib.webisolation.jail_utils import website_suffix_with_hash # default period 1440 sec = 24 min _DEFAULT_TIMEOUT = 1440 _PLESK_PHP_SESSIONS_NATIVE_DIR = '/var/lib/php/session' _PLESK_MAX_LIFETIME_SCRIPT = '/usr/lib64/plesk-9.0/maxlifetime' def _get_alt_php_dirs_timeouts(alt_php_dir_list): """ Retrieve alt_php_versions list :param alt_php_dir_list: alt-php directories list :return: dict such as {'55': {'/tmp': 1440}, '54': {'/tmp': 2880}} """ alt_php_dirs_timeouts = defaultdict(dict) # Read /opt/alt/phpXX/etc/php.ini for alt_php_dir in alt_php_dir_list: alt_php_ini_file = '/opt/alt/%s/etc/php.ini' % alt_php_dir session_path, session_lifetime = get_opts_from_php_ini(alt_php_ini_file, _DEFAULT_TIMEOUT) alt_php_dirs_timeouts[alt_php_dir] = {session_path: session_lifetime} return alt_php_dirs_timeouts def _clean_user(user_pw, alt_php_dirs_timeouts): """ Clean directory from old files :param user_pw: user's pwd object :param alt_php_dirs_timeouts: alt_php versions, paths and timeouts list {'php52': {'/tmp': 1440}, 'php53': {'/tmp': 1440}} :return: None """ # Directory to lifetime map. Example: # {'/var/www/vhosts/cltest1.com/.cagefs/tmp': 1440, # '/var/www/vhosts/cltest1.com/.cagefs/opt/alt/php54/var/lib/php/session': 2880} dir_to_lifetime_map = dict() cagefs_base_path = os.path.join(user_pw.pw_dir, '.cagefs') if is_website_isolation_allowed_server_wide(): isolated_domains = get_docroots_of_isolated_websites() else: isolated_domains = dict() # 1. Add alt-php session dirs for php_dir, php_ver_dir_lifetime_dict in alt_php_dirs_timeouts.items(): for session_path, session_lifetime in php_ver_dir_lifetime_dict.items(): if session_path.startswith('/'): # Remove leading / session_path = session_path[1:] # Add path to dict fo clean dir_to_add = os.path.join(cagefs_base_path, session_path) dir_to_lifetime_map[dir_to_add] = session_lifetime for isolated_docroots in isolated_domains.values(): # websites/<document_root_hash> for dr in isolated_docroots: website_isolation_path_rel = website_suffix_with_hash(dr) dir_to_add = os.path.join(cagefs_base_path, website_isolation_path_rel, 'home/.cagefs', session_path) dir_to_lifetime_map[dir_to_add] = session_lifetime # 2. Add Plesk native dir /var/lib/php/session inside Cagefs if os.path.isfile(_PLESK_MAX_LIFETIME_SCRIPT): # Plesk script present - determine maxlifetime from it process = subprocess.Popen([_PLESK_MAX_LIFETIME_SCRIPT], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True) std_out, _ = process.communicate() try: # Plesk script gives maxlivetime in minutes, so convert it to seconds session_lifetime = int(std_out.strip()) * 60 # Add path to dict fo clean dir_to_add = os.path.join(cagefs_base_path, _PLESK_PHP_SESSIONS_NATIVE_DIR[1:]) dir_to_lifetime_map[dir_to_add] = session_lifetime for isolated_docroots in isolated_domains.values(): # websites/<document_root_hash> for dr in isolated_docroots: website_isolation_path_rel = website_suffix_with_hash(dr) dir_to_add = os.path.join(cagefs_base_path, website_isolation_path_rel, 'home/.cagefs', _PLESK_PHP_SESSIONS_NATIVE_DIR[1:]) dir_to_lifetime_map[dir_to_add] = session_lifetime except ValueError: # If plesk script gives invalid output - ignore Plesk dir pass # Drop permissions res = secureio.set_user_perm(user_pw.pw_uid, user_pw.pw_gid, exit=False) if res == -1: return # Clean all dirs in dict for sess_dir_name, sess_lifetime in dir_to_lifetime_map.items(): clean_dir_from_old_session_files(sess_dir_name, sess_lifetime) # get back root permissions secureio.set_root_perm() def main(): if not is_clean_user_php_sessions_enabled(): sys.exit(0) alt_php_dirs_timeouts = _get_alt_php_dirs_timeouts(get_alt_dirs()) min_uid = int(login_defs('UID_MIN', 500)) for _, pwnam in secureio.clpwd.get_user_dict().items(): if pwnam.pw_uid >= min_uid: _clean_user(pwnam, alt_php_dirs_timeouts) if __name__ == "__main__": main()