Edit File: cagefs_lib.cpython-311.pyc
� ����c|9e�����������������������������d�dl�mZ�d�dlZd�dlZd�dlmZ�d�dlmZ�d�dl m Z mZ��G�d��de������������Z�G�d��d ������������Z dS�) �����)�absolute_importN)�exec_utility)�FormattedException)�run_command�ExternalProgramFailedc�������������������������e�Zd�ZdS�)�CageFsExceptionN)�__name__� __module__�__qualname__��������J/opt/cloudlinux/venv/lib64/python3.11/site-packages/cllimits/cagefs_lib.pyr ���r ������s���������������Dr���r ���c��������������������t�����e�Zd�ZdZdd�Zed����������������Zd��Zd��Zdd�Z d ��Z d ��Zd��Zd��Z d ��Zd��Zd��Zd��ZdS�)�CageFsz/usr/sbin/cagefsctlNc������������������X�����d�|�_���������d|�_��������|p|������������������������������������|�_��������d�S��NF)�_cagefs_enabled_users�_is_cagefs_error�_create_dummy_logger�_logger)�self�loggers��� r����__init__zCageFs.__init__���s.������%)��"� %����<��!:�!:�!<�!<����r���c������������������������t����������j��������t����������������������}�d|�_��������|����������������������t����������j�����������������������������������|�S�r���)�logging� getLoggerr ���� propagate� addHandler�NullHandler)r���s��� r���r���zCageFs._create_dummy_logger���s<�������"�8�,�,�� ������'�-�/�/�0�0�0�� r���c������������������J�����t�����������j�����������������������������|�j��������������������S�)z^ Get CageFS presence flag :return: True/False - Cagefs present/absent )�os�path�isfile� _UTILITY_PATH�r���s��� r����is_cagefs_presentzCageFs.is_cagefs_present'���s������ ��w�~�~�d�0�1�1�1r���c������������������<�����|��������������������������������������||�j��������v�S�)z� Get User status in CageFs :param username: User name :return: True/False - user enabled/disabled in CageFs )� _load_infor���)r����usernames��� r����get_user_statuszCageFs.get_user_status/���s"������� �������4�5�5�5r���Fc������������������������|sF|��������������������������������������|r|����������������������|������������rdS�|s|����������������������|������������sdS�|rd}nd}|����������������������||g�������������dS�)z� Set user status in CageFs :param str username: User name :param bool status: new user status - True/False --> enable/disable :param bool ignore_cache: ignore data caching :return: None Nz--enablez --disable)r)���r+����_get_cagefsctl_out)r���r*����status�ignore_cache� cagefsctl_args��� r����set_user_statuszCageFs.set_user_status9���s���������� ��O�O������ �$�.�.�x�8�8�� ����� �$�"6�"6�x�"@�"@�� ����� (�&�M�M�'�M������ 9�:�:�:�:�:r���c������������������^����|�j����������dS�|������������������������������������r|�j��������rt����������dddid��������������t ������������������������|�_���������|����������������������dg������������}|���������������������d������������}|D�]3}d|v�r�|�j������������������������������|�������������������������������������������������4dS�) zD Loads users info from Cagefs :return: None Nz%(util)s is disabled�util�CageFS��message�contextz--list-enabled� zenabled user) r���r'���r���r ����listr-����split�append�strip)r����s_cagefs_out�s_enabled_users_parts�lines��� r���r)���zCageFs._load_infoP���s���������%�1��F��%�%�'�'�� C�4�+@�� C�!�.D�/5�x�.@�#B��#B��C��C�� C�%)�V�V��"��.�.�0@�/A�B�B�� ,� 2� 2�4� 8� 8��)�� <�� <�D���%�%���&�-�-�d�j�j�l�l�;�;�;�;� <�� <r���c������������������2�����|�����������������������dg������������}|S�)z( Just initialize cagefs z--init�r-����r����outs��� r����initialize_cagefszCageFs.initialize_cagefse���s��������%�%�x�j�1�1��� r���c����������������������� �ddg}t����������|������������}|S�#�t����������$�r!}t����������t����������|�������������������������d�}~ww�xY�w)N� cagefsctlz--enable-all)r���r���r ����str�r����cmdrC����errs��� r����set_enabled_modezCageFs.set_enabled_model���sV������ ,���/�C��c�"�"�C��J��$�� ,�� ,�� ,�!�#�c�(�(�+�+�+����� ,���s������ A�=�Ac�����������������������|�����������������������dg������������}|���������������������d������������d��������������������������������������������}|S�)Nz--display-user-mode�:����)r-���r:���r<���)r���rC����modes��� r���� get_user_modezCageFs.get_user_modew���s>�������%�%�'<�&=�>�>���y�y��~�~�a� �&�&�(�(���r���c������������������2�����|�����������������������dg�������������d�S�)Nz --toggle-moderA���r&���s��� r����toggle_user_modezCageFs.toggle_user_mode}���s���������� 1�2�2�2�2�2r���c������������������6���� �ddg}|�j������������������������������dd���������������������|�������������������������t����������|������������}|S�#�t����������$�rI}|�j������������������������������dt����������|�������������������������t ����������t����������|�������������������������d�}~ww�xY�w)NrF���z--enable-cagefszRunning "%s"� z cagefsctl exited with error "%s")r����info�joinr���r���rG���r ���rH���s��� r���� enable_cagefszCageFs.enable_cagefs����s������� ,�� 1�2�C��L���n�c�h�h�s�m�m�<�<�<��c�"�"�C��J��$�� ,�� ,�� ,��L���@�#�c�(�(�K�K�K�!�#�c�(�(�+�+�+����� ,���s����AA�� B�AB�Bc������������������j����|�j������������������������������dd���������������������|�������������������������|������������������������������������st ����������dddid��������������t����������|�j��������|d�������������\��}}}|p|}|d k����sd |v�r3|�j������������������������������d||f�������������d|�_��������t ����������|�������������|S�)NzRunning "cagefsctl %s"rT���z%(util)s is not installedr3���r4���r5���T)�stderrr���zError:z1Cagefs exited with exit code "%s" and output "%s")r���rU���rV���r'���r ���r���r%���r���)r���rI����ret_code�s_stdout�s_stderrr=���s��� r���r-���zCageFs._get_cagefsctl_out����s�����������2�C�H�H�S�M�M�B�B�B��%�%�'�'�� C�!�.I�/5�x�.@�#B��#B��C��C�� C�'3�D�4F��TX�'Y�'Y�'Y�$��(�H��+�8���q�=�=�H��4�4��L���Q�T\�^j�Sk�l�l�l�$(�D�!�!�,�/�/�/��r���c������������������2�����|�����������������������dg������������}|S�)Nz--rebuild-alt-php-inirA���rB���s��� r����rebuild_alt_php_inizCageFs.rebuild_alt_php_ini����s�������%�%�'>�&?�@�@��� r���)N)F)r ���r���r���r%���r����staticmethodr���r'���r+���r1���r)���rD���rK���rP���rR���rW���r-���r^���r ���r���r���r���r������s���������������)�M�=��=��=��=��������\��2��2��2�6��6��6�;��;��;��;�.<��<��<�*����� ,�� ,�� ,������3��3��3�,��,��,��������������r���r���)� __future__r���r����os.pathr"����cllimits.libr����clcommon.clexceptionr����clcommon.utilsr���r���r ���r���r ���r���r����<module>re������s�������'��&��&��&��&��&������������%��%��%��%��%��%��3��3��3��3��3��3��=��=��=��=��=��=��=��=� �� �� �� �� �(�� �� �� �F��F��F��F��F��F��F��F��F��Fr���