관리-도구
편집 파일: users.cpython-39.opt-1.pyc
a ����q�qei����������������������@���s����U�d�dl�mZ�d�dlmZmZmZmZ�ddlmZ�ddl m Z mZmZm Z �ddlmZ�ddlmZmZ�dd lmZmZ�dd lmZ�ddlmZ�ee�Zee �ed<�G�d d��de�Ze ee �d�dd�ZG�dd��de�ZdS�)�����)�defaultdict)� NamedTuple�Set�Optional�Union����)�MLSDisabled)�Level�Range�Role�User����)�DiffResultDescriptor)� Difference� SymbolWrapper)�LevelWrapper�RangeWrapper��role_wrapper_factory)�SymbolCache�_users_cachec�������������������@���s����e�Zd�ZU�dZee�ed<�ee�ed<�ee�ed<�eee e f��ed<�eee e f��ed<�eeee f��ed<�eeee f��ed<�d S�) �ModifiedUserz'Difference details for a modified user.�added_roles� removed_roles� matched_roles�added_level� removed_level�added_range� removed_rangeN)�__name__� __module__�__qualname__�__doc__r���r����__annotations__r���r���r ����strr �����r%���r%����8/usr/lib64/python3.9/site-packages/setools/diff/users.pyr������s��� r���)�user�returnc�����������������C���sB���zt�|�j�|��W�S��ty<���t|��}|t�|�j�|�<�|�Y�S�0�dS�)z| Wrap users from the specified policy. This caches results to prevent duplicate wrapper objects in memory. N)r���Zpolicy�KeyErrorr���)r'����rr%���r%���r&����user_wrapper_factory"���s����r+���c�������������������@���sD���e�Zd�ZdZed�Zed�Zed�Zdd�dd�Zdd�dd�Z dS�) �UsersDifferencez7Determine the difference in users between two policies.� diff_usersN)r(���c�������������� ���C���s���|�j��d�|����|��dd��|�j���D��dd��|�j���D���\|�_|�_}t ��|�_ |D��],\}}|��dd��|jD��dd��|jD���\}}}z$t|j �}t|j�}|j } |j} W�n"�ty����d}d}d} d} Y�n0�z$t|j �}t|j�}|j } |j}W�n$�t�y���d}d}d} d}Y�n0�||k�r.| }| }nd}d}||k�rJ|}| }nd}d}|�sh|�sh|�sh|rTt|||||||�|�j |<�qTdS�) z6Generate the difference in users between the policies.zDGenerating user differences from {0.left_policy} to {0.right_policy}c�����������������s���s���|�]}t�|�V��qd�S��N�r+�����.0r*���r%���r%���r&���� <genexpr>@��������z-UsersDifference.diff_users.<locals>.<genexpr>c�����������������s���s���|�]}t�|�V��qd�S�r.���r/���r0���r%���r%���r&���r2���A���r3���c�����������������s���s���|�]}t�|�V��qd�S�r.���r���r0���r%���r%���r&���r2���K���r3���c�����������������s���s���|�]}t�|�V��qd�S�r.���r���r0���r%���r%���r&���r2���L���r3���NzNone (MLS Disabled))�log�info�formatZ _set_diffZleft_policyZusersZright_policy�added_users� removed_users�dict�modified_users�rolesr���Z mls_levelr���Z mls_ranger���r���)�selfZ matched_usersZ left_userZ right_userr���r���r���Zleft_level_wrapZleft_range_wrapZ left_levelZ left_rangeZright_level_wrapZright_range_wrapZright_levelZright_ranger���r���r���r���r%���r%���r&���r-���9���sh������� �zUsersDifference.diff_usersc�����������������C���s"���|�j��d��d|�_d|�_d|�_dS�)z%Reset diff results on policy changes.zResetting user differencesN)r4����debugr7���r8���r:���)r<���r%���r%���r&����_reset_diff����s����zUsersDifference._reset_diff) r���r ���r!���r"���r���r7���r8���r:���r-���r>���r%���r%���r%���r&���r,���1���s���Sr,���N)�collectionsr����typingr���r���r���r���� exceptionr���Z policyrepr ���r ���r���r���Zdescriptorsr���� differencer���r���Zmlsr���r���r;���r���r���r9���r���r#���r���r+���r,���r%���r%���r%���r&����<module>���s���