| Server IP : 68.178.247.200 / Your IP : 216.73.216.14 Web Server : Apache System : Linux p3plzcpnl489463.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64 User : x9dppmxs4rgd ( 8559391) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/venv/lib/python3.11/site-packages/clcagefslib/ |
Upload File : |
# 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 functools
import grp
import secureio
from clcommon import ClPwd
from .const import BASEDIR
from .exceptions import UserNotFoundError
def get_user_prefix(username) -> str:
base = 100
try:
uid = secureio.clpwd.get_uid(username)
except ClPwd.NoSuchUserException:
raise UserNotFoundError(username)
b = uid % base
prefix = "%02d" % b
return prefix
def get_var_cagefs_prefixed(username):
prefix = get_user_prefix(username)
return f"{BASEDIR}/{prefix}"
def get_user_var_cagefs_path(username):
return f"{get_var_cagefs_prefixed(username)}/{username}/"
@functools.cache
def get_linksafe_gid() -> int | None:
try:
return grp.getgrnam('linksafe').gr_gid
except KeyError:
return None
def user_exists(user):
return user in secureio.clpwd.get_user_dict()