✏️ 编辑:cagefs_enter_site
路径:
/usr/sbin/cagefs_enter_site
大小:1.83 KB · 修改:2026-09-29 09:53:37 · 权限:0755 · 只读(保存会失败)
← 返回目录
👁 查看
⬇ 下载
#!/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())
💾 保存
取消
保存为 UTF-8,换行统一为 LF