Your IP : 3.141.192.174


Current Path : /usr/lib/python3.6/site-packages/tuned/plugins/__pycache__/
Upload File :
Current File : //usr/lib/python3.6/site-packages/tuned/plugins/__pycache__/plugin_selinux.cpython-36.pyc

3

�<�e	�@sdddlZddlZddlmZddlTddlZddlmZddl	m
Z
ejj�Z
Gdd�dej�ZdS)	�N�)�base)�*)�
exceptions)�commandscsheZdZdZedd��Z�fdd�Zedd��Zdd	�Zd
d�Z	e
d�d
d��Zed�dd��Z
�ZS)�
SelinuxPlugina�
	`selinux`::
	
	Plug-in for tuning SELinux options.
	+
	SELinux decisions, such as allowing or denying access, are
	cached. This cache is known as the Access Vector Cache (AVC). When
	using these cached decisions, SELinux policy rules need to be checked
	less, which increases performance. The [option]`avc_cache_threshold`
	option allows adjusting the maximum number of AVC entries.
	+
	NOTE: Prior to changing the default value, evaluate the system
	performance with care. Increasing the value could potentially
	decrease the performance by making AVC slow.
	+
	.Increase the AVC cache threshold for hosts with containers.
	====
	----
	[selinux]
	avc_cache_threshold=8192
	----
	====
	cCs(d}tjj|�s$d}tjj|�s$d}|S)Nz/sys/fs/selinuxz/selinux)�os�path�exists)�selfr	�r�$/usr/lib/python3.6/plugin_selinux.py�_get_selinux_path$szSelinuxPlugin._get_selinux_pathcsPt�|_|j�|_|jdkr&tjd��tjj|jdd�|_	t
t|�j||�dS)NzFSELinux is not enabled on your system or incompatible version is used.ZavcZcache_threshold)
r�_cmdrZ
_selinux_pathrZNotSupportedPluginExceptionrr	�join�_cache_threshold_path�superr�__init__)r�args�kwargs)�	__class__rr
r-s


zSelinuxPlugin.__init__cCsddiS)N�avc_cache_thresholdr)rrrr
�_get_config_options5sz!SelinuxPlugin._get_config_optionscCsd|_d|_dS)NTF)Z_has_static_tuningZ_has_dynamic_tuning)r�instancerrr
�_instance_init;szSelinuxPlugin._instance_initcCsdS)Nr)rrrrr
�_instance_cleanup?szSelinuxPlugin._instance_cleanuprcCsL|dkrdSt|�}|dkrD|s@|jj|j||r8tjgndd�|SdSdS)NrF)Zno_error)�intrZ
write_to_filer�errno�ENOENT)r�valueZsim�removeZ	thresholdrrr
�_set_avc_cache_thresholdBsz&SelinuxPlugin._set_avc_cache_thresholdcCs&|jj|j�}t|�dkr"t|�SdS)Nr)rZ	read_filer�lenr)rrrrr
�_get_avc_cache_thresholdOsz&SelinuxPlugin._get_avc_cache_threshold)�__name__�
__module__�__qualname__�__doc__�classmethodrrrrrZcommand_setr!Zcommand_getr#�
__classcell__rr)rr
rs	
r)rr�rZ
decoratorsZ
tuned.logsZtunedZ
tuned.pluginsrZtuned.utils.commandsrZlogs�get�logZPluginrrrrr
�<module>s


?>