Edit File: cluserselect.cpython-311.pyc
� =�9e�f � �� � d dl mZ d dl mZ d dl mZ d dlZd dlZd dlZd dlZd dlZd dl m Z d dlm Z mZmZmZ d dlmZ d dlZdd lmZ dd lmZ d dlmZmZ ddlmZ dd lmZ d dlm Z G d� de� � Z!dS )� )�print_function)�absolute_import)�divisionN)�configparser)�S_IRUSR�S_IWUSR�S_IRGRP�S_IROTH)� iteritems� )�ClSelect)�ClSelectExcept)�ClPwd� clcaptain)�clprint)�utils)�ExternalProgramFailedc �^ � e Zd ZdZdZdZdZdZd*d�Ze d+d �� � Z d � Zd,d�Zd-d�Z d� Zd� Zd� Zd� Zd.d�Zd.d�Zd-d�Zd� Zd� Zd� Zd� Zd� Zd*d�Zd/d�Z e e� � Zd� Zd� Zd� Zd � Zd!� Z d"� Z! e e!� � Z!d#� Z"d$� Z# e e#� � Z#d0d%�Z$d&� Z%d'� Z& e e&� � Z&d(� Z'd)� Z(dS )1�ClUserSelectz/var/cagefsz'/usr/share/cagefs-skeleton/usr/selectorz /usr/selectorz/etc/cagefs/excludez.cl.selector/selector.pathNc �6 � t j � d� � sdS |D ]�}| j � |� � }t j � |j d� � }t j � |� � s�| � |� � } t j |� � n.# t t f$ r}t j ||� � �d}~ww xY w t � |� � ��# t � |� � w xY w��dS )z� Creates flags mod_lsapi_reset_me in users' home directories in order to recreate CRIU images when php version/extensions/options have changed For details see LVEMAN-1210 :param users: list of usernames (strings) z/var/run/mod_lsapi/criu.enabledN�mod_lsapi_reset_me)�os�path�isfile�_clpwd�get_pw_by_name�join�pw_dir�_change_uidr �write�OSErrorr r �UnableToSaveDatar �_restore_uid)�self�users�user�pwr �previous_user_data�es �L/opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/cluserselect.py�clean_crui_imageszClUserSelect.clean_crui_images% s* � � �w�~�~�?�@�@� ��F�� B� B�D���+�+�D�1�1�B��7�<�<�� �+?�@�@�D��7�>�>�$�'�'� B�%)�%5�%5�d�%;�%;�"�B��O�D�)�)�)�)���!6�7� C� C� C�(�9�$��B�B�B�����C���� *� !�-�-�.@�A�A�A�A��L�-�-�.@�A�A�A�A���� B� B� Bs* �B/�.C9�/C� C�C�C9�9DTc �B � dt j vrt j � d� � ddlm}m}m} n9# t $ r, t d� � |rt j d� � nY dS Y nw xY w|rm |� � rc |� � }|rW |d }|� d� � s(t d � � |rt j d� � ndS n# t $ r Y nw xY w ||| d t j � � dk |�� � } | r|rt j d� � | S )z� Switch symlink for alt php. Create .cagefs directory if not created Rerurn True if error has occured �/usr/share/cagefsr )�configure_alt_php�is_ea4_enabled�read_cpanel_ea4_php_conf�ERROR: CageFS not installed.r T�defaultzea-phpzlERROR: system default PHP version is alt-php. PHP Selector is disabled. Use cPanel MultiPHP manager instead.F)� write_log� drop_perm�configure_multiphp)�sysr �append� cagefsctlr. r/ r0 �ImportError�print�exit� startswith�KeyErrorr �geteuid) �versionr'