관리-도구
편집 파일: userquery.cpython-39.pyc
a ����q�qe�����������������������@���sz���d�dl�Z�d�dlZd�dlmZ�ddlmZmZ�ddlmZ�ddl m Z �ddlmZ�ddl mZmZmZ�G�d d ��d ee�ZdS�)�����N)�Iterable����)�CriteriaDescriptor�CriteriaSetDescriptor)� MatchName)�User)�PolicyQuery)�match_regex_or_set�match_level�match_rangec�����������������������s����e�Zd�ZU�dZedd�ZdZeed<�dZ eed<�dZ eed<�edd�ZdZeed <�dZ eed <�dZeed<�dZeed<�ed d�ZdZeed<�dZeed <�dd���fdd�Zee�d�dd�Z���ZS�)� UserQueryaf�� Query SELinux policy users. Parameter: policy The policy to query. Keyword Parameters/Class attributes: name The user name to match. name_regex If true, regular expression matching will be used on the user names. roles The attribute to match. roles_equal If true, only types with role sets that are equal to the criteria will match. Otherwise, any intersection will match. roles_regex If true, regular expression matching will be used on the role names instead of set logic. level The criteria to match the user's default level. level_dom If true, the criteria will match if it dominates the user's default level. level_domby If true, the criteria will match if it is dominated by the user's default level. level_incomp If true, the criteria will match if it is incomparable to the user's default level. range_ The criteria to match the user's range. range_subset If true, the criteria will match if it is a subset of the user's range. range_overlap If true, the criteria will match if it overlaps any of the user's range. range_superset If true, the criteria will match if it is a superset of the user's range. range_proper If true, use proper superset/subset operations. No effect if not using set operations. Zlookup_level)Zlookup_functionF� level_dom�level_domby�level_incompZlookup_range� range_overlap�range_subset�range_superset�range_proper�roles_regexZlookup_role�roles_equalN)�returnc��������������������s(���t�t|��j|fi�|���t�t�|�_d�S�)N)�superr����__init__�loggingZ getLogger�__name__�log)�self�policy�kwargs�� __class__���7/usr/lib64/python3.9/site-packages/setools/userquery.pyr���C���s����zUserQuery.__init__c�����������������c���s����|�j��d�|����|��|�j���|�j��d�|����|�j��d�|����|�j��d�|����|�j���D�]|}|��|�snq^|�jr�t |j|�j|�j |�j�s�q^|�jr�t |j|�j|�j|�j|�j�s�q^|�jr�t|j|�j|�j|�j|�j|�j�s�q^|V��q^dS�)z*Generator which yields all matching users.z'Generating user results from {0.policy}z?Roles: {0.roles!r}, regex: {0.roles_regex}, eq: {0.roles_equal}zXLevel: {0.level!r}, dom: {0.level_dom}, domby: {0.level_domby}, incomp: {0.level_incomp}z�Range: {0.range_!r}, subset: {0.range_subset}, overlap: {0.range_overlap}, superset: {0.range_superset}, proper: {0.range_proper}N)r����info�formatZ_match_name_debug�debugr���ZusersZ_match_name�rolesr ���r���r����levelr ���Z mls_levelr ���r���r����range_r���Z mls_ranger���r���r���r���)r����userr!���r!���r"����resultsG���sN���� � � � ���zUserQuery.results)r���� __module__�__qualname__�__doc__r���r'���r ����bool�__annotations__r���r���r(���r���r���r���r���r���r&���r���r���r���r���r���r*���� __classcell__r!���r!���r���r"���r������s��� $ r���)r����re�typingr���Zdescriptorsr���r���Zmixinsr���Z policyrepr����queryr����utilr ���r ���r���r���r!���r!���r!���r"����<module>���s���