File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/states/__pycache__/selinux.cpython-310.pyc
o
�N�g�I � @ s� d Z dd� Zdd� Zdd� Zdd� Zd d
� Zd"dd
�Zd#dd�Zdd� Zdd� Z d$dd�Z
d%dd�Zd"dd�Zd&dd�Z
d&d d!�ZdS )'a�
Management of SELinux rules
===========================
If SELinux is available for the running system, the mode can be managed and
booleans can be set.
.. code-block:: yaml
enforcing:
selinux.mode
samba_create_home_dirs:
selinux.boolean:
- value: True
- persist: True
nginx:
selinux.module:
- enabled: False
.. note::
Use of these states require that the :mod:`selinux <salt.modules.selinux>`
execution module is available.
c C s dt v rdS dS )zL
Only make this state available if the selinux module is available.
�selinux.getenforceZselinux)Fz"selinux module could not be loaded��__salt__� r r �G/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/selinux.py�__virtual__ s r c C sd t | ��� } t| �d�| dk| dkg�rdS t| �d�| dk| dkg�r&dS t| �d �g�r0d
S dS )z1
Return a mode value that is predictable
�e�1�onZ Enforcing�p�0�offZ
Permissive�d�Disabled�unknown)�str�lower�any�
startswith)�moder r r �_refine_mode% s r c C �( t | ��� } | dv rdS | dv rdS dS )z@
Return a yes/no value, or None if the input is invalid
)r r �yes�truer )r r �no�falser N�r r )�valuer r r �
_refine_value3 s r c C r )z]
Return a predictable value, or allow us to error out
.. versionadded:: 2016.3.0
)r r r r �enabledr )r r r r �disabledr r r )�module_stater r r �_refine_module_state? s r! c C s" | ddi d�}t | �}|dkr| � d�|d<