File: //usr/share/cagefs/__pycache__/cagefslib.cpython-311.opt-1.pyc
�
��lj�4 � �P � d dl mZ d dl mZ d dl mZ d dl mZ d dlZd dlmZmZm Z m
Z
d dlmZ ej
� � d dlT d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d d l!m"Z"m#Z#m$Z$m%Z%m&Z& d d
l!m'Z'm(Z(m)Z)m*Z* d dl!m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 d dl2Z2d dl3m4Z4m5Z5m6Z6 d d
l7m8Z8m9Z9 d dl:m;Z; d dl<m=Z=m>Z>m?Z?m@Z@ d dlAmBZB d dlCmDZD d dlEmFZF d dlGmHZHmIZI d dlJmKZKmLZL d dlMmNZN d dlOmPZP d dlQZQd dlRmSZS d dlTmUZUmVZVmWZW d dl2mXZXmYZY d dlZm[Z[ G d� de\� � Z] G d� de]� � Z^dZ_d e_z Z`d!Zad"Zbd#Zcd$Zdd%Zed Zfd&agd'Zhdaid(Zjd)Zkd*Zld+Zmd,Znd-Zod.Zpd/Zqd0emz Zrd1Zsd2Ztd3Zud4� Zv�dd6�Zw�dd7�Zx�dd8�Zyd9� Zzd5e{fd:�Z|d5e{fd;�Z}�dd<�Z~d5e{fd=�Zd5e{fd>�Z�d?� Z�d@� Z�dA� Z�dB� Z�ej� d&fdC�Z�dD� Z� e�� � pekZ�g Z�dE� Z�dF� Z�dG� Z�dH� Z�d&Z�dIZ�dIZ�dIZ�dJ� Z�dKe�d5e�fdL�Z�i a��ddM�Z�dN� Z�dKe�d5dfdO�Z�dP� Z�dQ� Z�g Z�dR� Z�dS� Z�dT� Z��ddU�Z�dV� Z�dW� Z�dKe�d5e{fdX�Z�i a�dY� Z�dZ� Z�d[� Z�d\� Z�d]� Z�i a�d^� Z�d_� Z��dda�Z�i a��ddb�Z�dc� Z��ddd�Z��dde�Z� G df� dge\� � Z�dhe�die�d5e
e� fdj�Z�die�d5e e� fdk�Z��ddl�Z��d dm�Z�dn� Z�do� Z�dp� Z�i a�dq� Z��d!ds�Z��d"dt�Z��d#du�Z�d d drdrd g d fdv�Z�dw� Z��d$dx�Z�dy� Z�dz� Z�d{� Z�d|� Z�d}� Z�d~Z�dZ�i Z�i Z�d�e e� d5e�fd��Z�d�� Z�d�� Zΐd%d��Z�d�d�d�d�d�d��a�d�Z�d�Z�e5d z d�z Z�d�� Z�d&a�d�� Z�d�� Z�d�� Z�d�� Z�d�� Zڐd%d��Z�d�� Z�d�Zݐdd��Z�d�� Z�d d drdrd d g d fd��Z�d�� Z�d&d��Z�d&d��Z�d&d��Z�d&d��Z�d�� Z�d�e�d�e�d5e�fd��Z�dKed5ej� dz fd��Z� �d'd�e�d�e�d�e{d�e{d�e�e� dz d�e{d�e�e� dz d5e�fd��Z� �d(d�e�d�e�d�e{d�e{d5e�f
d��Z�d�� Z�d�� Z�d�� Z�d�� Z�d�� Z�d)d��Z�d�� Z�d�� Z�d�� Z�d�� Z�d�� Z�d�� Z�dedfd��Z�d�� Z�d�� Z�d�� Z��d*d��Z�d�� Z�d�� Z�d�� �Z �d%d�ZdÄ �ZdĄ �Zd�adń �Zd�adƄ �Zd�a�d+dȄ�Z dɄ �Z
dʄ �Zd�e�fd̄�Zd̈́ �Z
dΐZdϐez �ZdАZdѐZd҄ �Zi �adӄ �ZdԄ �ZdՄ �Z�d,dք�Zd�ad&�a�d-d�e�dz fd�Z�d.d�e�dڐee�e�e� f d�e�d�e�d�e�d�e�d�e�dz d�e�dz d�e�dz fd��Z �d/d�e�d�e�d�e�d�e�d�e�d�ee�e�e� f dڐee�e�e� f d�e{d�e�d�e{d�e{d�e�dz d�e�dz fd��Z�dd�e�d�e�d�e�d�e�dz fd��Zd� �Zd�a d�a!d�a"d�a#d� �Z$�d.d�e�dz fd��Z%�d0d��Z&�d%d��Z'i �a(d� �Z)d�Z*d� �Z+d�e�d�e�d5ee�e�f fd���Z,d�e�d�e�d5ee�e�f fd���Z-d�e�d�e�d5ee�e�f fd���Z.d�e e� d�e�d�e�d�ee�e�f d5df
d���Z/d�� �Z0d��Z1d�� �Z2d�� �Z3�d � �Z4�d� �Z5�d� �Z6d�a7�d� �Z8�d� �Z9�d� �Z:�d� �Z;�d� �Z<�d� �Z=�d � �Z>�d
�Z?�d� �Z@�d� �ZA�d
� �ZB�d�d��ZC�d� �ZD�d1�d��ZE�d� �ZF�d� �ZG�d� �ZH�d� �ZI�d�d��ZJ�d� �ZK e �jL d��� � �d� � � �ZMdS (2 � )�print_function)�absolute_import)�division)�unicode_literalsN)�AnyStr�Dict�List�Optional)�standard_library)�*)�read_file_secure�write_file_secure�
set_user_perm�open_file_not_symlink�
set_root_perm)�create_dir_secure�closefd�set_owner_dir_secure�set_perm_dir_secure)� root_flag�print_error�
get_groups�clpwd�SILENT_FLAG�logging�get_perm)�CL_ALT_NAME�ETC_CL_ALT_PATH�BASEDIR)�get_linksafe_gid�get_user_prefix)�UserNotFoundError)�home_owned_by_other_user�make_userdir� read_file�read_file_cached��is_ea4_enabled)�get_alt_dirs)�get_website_id)�byteify�
unicodeify)�ClPwd� clcaptain)�Feature)�is_panel_feature_supported)�
sigterm_check)�ExternalProgramFailed�is_socket_file�mod_makedirs��get_boolean_param�CL_CONFIG_FILE)�loggerc � � e Zd Zd� ZdS )�CageFSExceptionc �0 � t j | g|�R i |�� d S �N)� Exception�__init__)�self�args�kwargss �]/builddir/build/BUILDROOT/cagefs-7.6.44-1.el8.cloudlinux.x86_64/usr/share/cagefs/cagefslib.pyr>