GRAYBYTE WORDPRESS FILE MANAGER1533

Server IP : 198.54.121.189 / Your IP : 216.73.216.224
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/cloudlinux/venv/lib/python3.11/site-packages/clconfigure/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/clconfigure//linksafe.py
# 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 concurrent.futures import ThreadPoolExecutor
from typing import Iterator

from clcommon.utils import is_ubuntu
from clconfigure import task, run
from clconfigure.packages import install_package

# Files of the packages listed below are not supposed
# to allow creation of symlinks to them
PACKAGES_TO_EXCLUDE = {
    'alt-python27-cllib',
    'alt-php-xray',
    'alt-php-ssa',
}


def initialize_linksafe():
    # NOTE(vlebedev): Also we need to trigger linksafe scriptlets to properly initialize relevant UNIX groups.
    #                 Otherwise this problem may occur:
    #                 https://cloudlinux.zendesk.com/hc/en-us/articles/
    #                 115004139173-What-does-Error-failed-to-create-symlink-13-Permission-denied-mean
    install_package('cloudlinux-linksafe', reinstall=True)
    assign_linksafe_group()


@task("Assigning linksafe group to files of 'alt-*' packages residing under /opt/alt")
def assign_linksafe_group(concurrency: int = 5):
    with ThreadPoolExecutor(max_workers=concurrency) as tp:
        for package in _installed_packages_iter(
            "alt-php*",
            "alt-python*",
            "alt-ruby*",
        ):
            if package not in PACKAGES_TO_EXCLUDE:
                tp.submit(run, ['/usr/bin/cl-linksafe-apply-group', package])


def _installed_packages_iter(*patterns: str) -> Iterator[str]:
    if is_ubuntu():
        result = run(["dpkg-query", "-W", "-f", "${Package}\n", *patterns])
    else:
        result = run(["rpm", "-qa", *patterns])

    lines = result.stdout.strip().splitlines()
    for line in lines:
        yield line

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
June 25 2025 08:31:36
root / root
0755
__pycache__
--
June 25 2025 08:35:02
root / root
0755
cli
--
June 25 2025 08:31:29
root / root
0755
spec
--
June 25 2025 08:31:29
root / root
0755
Readme.md
1.606 KB
June 05 2025 10:38:47
root / root
0644
__init__.py
3.094 KB
June 05 2025 10:38:47
root / root
0644
awp.py
1.755 KB
June 05 2025 10:38:47
root / root
0644
cagefs.py
1.81 KB
June 05 2025 10:38:47
root / root
0644
clpro.py
0.848 KB
June 05 2025 10:38:47
root / root
0644
files.py
0.911 KB
June 05 2025 10:38:47
root / root
0644
limits.py
2.855 KB
June 05 2025 10:38:47
root / root
0644
linksafe.py
1.755 KB
June 05 2025 10:38:47
root / root
0644
lve.py
0.942 KB
June 05 2025 10:38:47
root / root
0644
packages.py
3.18 KB
June 05 2025 10:38:47
root / root
0644
services.py
2.29 KB
June 05 2025 10:38:47
root / root
0644
watcher.py
4.936 KB
June 05 2025 10:38:47
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF