PHP 8.2.30
Preview: cagefs_enter_site Size: 1.83 KB
/usr/sbin/cagefs_enter_site

#!/opt/cloudlinux/venv/bin/python3 -sbb
# -*- coding: utf-8 -*-
#
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2025 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# https://cloudlinux.com/docs/LICENCE.TXT
#
"""
Execute a command inside CageFS for a site (document root or domain).

This wrapper provides a command-line interface for executing commands within
the isolated CageFS environment for a specific website.
"""

import argparse
import os
import sys

from clcagefslib.webisolation import libenter


def create_parser():
    """
    Create argument parser for cagefs_enter_site.

    Returns:
        argparse.ArgumentParser: Configured argument parser
    """
    parser = argparse.ArgumentParser(
        # the command is named with _underscores_ to match
        # existing cagefs_enter wrapper from lvewrappers
        prog="cagefs_enter_site",
        description="Execute a command inside CageFS for a site (document root or domain)",
    )

    parser.add_argument("site", type=str, help="Document root or domain")

    parser.add_argument(
        "command", type=str, nargs=argparse.REMAINDER, help="Command to execute"
    )

    return parser


def main():
    """
    Main entry point.

    Returns:
        int: Exit code
    """
    parser = create_parser()
    args = parser.parse_args()

    if not args.command:
        parser.error("COMMAND is required")

    try:
        return libenter.enter_site(args.site, args.command)
    except ValueError as e:
        print(f"Error: {e}", file=sys.stderr)
        return 1
    except KeyboardInterrupt:
        # Clean Ctrl+C exit without traceback (exit code 130 = SIGINT).
        return 130


if __name__ == "__main__":
    if os.geteuid() == 0:
        print("Error: This program can not be run as root", file=sys.stderr)
        sys.exit(1)

    sys.exit(main())

Directory Contents

Dirs: 0 × Files: 47

Name Size Perms Modified Actions
12.89 KB lrwxr-xr-x 2026-03-02 11:08:26
Edit Download
1.83 KB lrwxr-xr-x 2026-03-02 11:08:26
Edit Download
41.45 KB lrwxr-xr-x 2025-12-18 13:54:40
Edit Download
654 B lrwxr-xr-x 2026-02-26 15:36:05
Edit Download
11.88 KB lrwxr-xr-x 2025-11-10 10:42:43
Edit Download
13.05 KB lrwxr-xr-x 2019-10-12 00:47:15
Edit Download
251 B lrwxr-xr-x 2019-10-12 00:47:14
Edit Download
13.05 KB lrwxr-xr-x 2019-10-12 00:47:15
Edit Download
9.03 KB lrwxr-xr-x 2019-10-12 00:47:15
Edit Download
990 B lrwxr-xr-x 2019-10-12 00:47:14
Edit Download
1.25 KB lrwxr-xr-x 2025-07-31 08:39:28
Edit Download
20.45 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
936 B lrwxr-xr-x 2025-11-06 07:45:45
Edit Download
938 B lrwxr-xr-x 2025-11-06 07:45:45
Edit Download
60.84 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
60.84 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
64.76 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
72.84 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
934 B lrwxr-xr-x 2025-11-06 07:45:45
Edit Download
56.74 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
60.84 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
117.20 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
52.84 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
1.25 KB lrwxr-xr-x 2025-12-17 16:20:20
Edit Download
20.52 KB lrwxr-xr-x 2025-12-17 18:54:08
Edit Download
12.38 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
693.30 KB lrwxr-xr-x 2024-05-23 08:36:03
Edit Download
11.85 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
986.09 KB lrwxr-xr-x 2026-03-17 17:06:39
Edit Download
24.44 KB lrwxr-xr-x 2025-12-17 18:54:08
Edit Download
36.63 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
36.63 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
12.29 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
45.20 KB lrwxr-xr-x 2025-12-17 18:54:08
Edit Download
11.87 KB lrwxr-xr-x 2025-12-17 18:54:08
Edit Download
20.57 KB lrwxr-xr-x 2022-02-23 20:13:56
Edit Download
21.17 KB lr-xr-xr-x 2020-09-02 07:49:11
Edit Download
20.44 KB lrwxr-xr-x 2025-12-17 18:54:08
Edit Download
94.42 KB lrwxr-xr-x 2022-02-23 20:13:56
Edit Download
20.77 KB lrwxr-xr-x 2022-02-23 20:13:56
Edit Download
16.42 KB lrwxr-xr-x 2022-02-23 20:13:56
Edit Download
1.26 KB lrwxr-xr-x 2025-12-17 16:20:20
Edit Download
16.66 KB lrwxr-xr-x 2022-02-23 20:13:56
Edit Download
35.47 KB lrwxr-xr-x 2019-10-12 11:32:29
Edit Download
20.45 KB lrwxr-xr-x 2025-11-06 07:45:52
Edit Download
36.86 KB lrwxr-xr-x 2025-12-17 18:54:08
Edit Download
36.86 KB lrwx------ 2025-12-17 18:54:08
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).