403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib/python3.11/site-packages/ansible/modules/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib/python3.11/site-packages/ansible/modules/__pycache__/service_facts.cpython-311.opt-1.pyc
�

���c�B���ddlmZmZmZeZdZdZdZddl	Z	ddl
Z
ddlZddlm
Z
ddlmZGd�d	e��ZGd
�de��ZGd�d
e��ZGd�de��ZGd�de��Zd�Zedkre��dSdS)�)�absolute_import�division�print_functionak
---
module: service_facts
short_description: Return service state information as fact data
description:
     - Return service state information as fact data for various service management utilities.
version_added: "2.5"
requirements: ["Any of the following supported init systems: systemd, sysv, upstart, openrc, AIX SRC"]
extends_documentation_fragment:
  -  action_common_attributes
  -  action_common_attributes.facts
attributes:
    check_mode:
        support: full
    diff_mode:
        support: none
    facts:
        support: full
    platform:
        platforms: posix
notes:
  - When accessing the C(ansible_facts.services) facts collected by this module,
    it is recommended to not use "dot notation" because services can have a C(-)
    character in their name which would result in invalid "dot notation", such as
    C(ansible_facts.services.zuul-gateway). It is instead recommended to
    using the string value of the service name as the key in order to obtain
    the fact data value like C(ansible_facts.services['zuul-gateway'])
  - AIX SRC was added in version 2.11.
author:
  - Adam Miller (@maxamillion)
z�
- name: Populate service facts
  ansible.builtin.service_facts:

- name: Print service facts
  ansible.builtin.debug:
    var: ansible_facts.services
a
ansible_facts:
  description: Facts to add to ansible_facts about the services on the system
  returned: always
  type: complex
  contains:
    services:
      description: States of the services with service name as key.
      returned: always
      type: complex
      contains:
        source:
          description:
          - Init system of the service.
          - One of C(rcctl), C(systemd), C(sysv), C(upstart), C(src).
          returned: always
          type: str
          sample: sysv
        state:
          description:
          - State of the service.
          - 'This commonly includes (but is not limited to) the following: C(failed), C(running), C(stopped) or C(unknown).'
          - Depending on the used init system additional states might be returned.
          returned: always
          type: str
          sample: running
        status:
          description:
          - State of the service.
          - Either C(enabled), C(disabled), C(static), C(indirect) or C(unknown).
          returned: systemd systems or RedHat/SUSE flavored sysvinit/upstart or OpenBSD
          type: str
          sample: enabled
        name:
          description: Name of the service.
          returned: always
          type: str
          sample: arp-ethers.service
N)�
AnsibleModule)�get_best_parsable_localec��eZdZd�ZdS)�BaseServicec��||_dS)N)�module)�selfrs  �B/usr/lib/python3.11/site-packages/ansible/modules/service_facts.py�__init__zBaseService.__init__es
�������N)�__name__�
__module__�__qualname__r�rr
r	r	cs#����������rr	c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�ServiceScanServicec���|j�d|jz��\}}}|dkr!tj�d��sdS|dkr |j�d|�d|����tjdtj	���}|�
|��D]>}|�d	��}|�d
��dkrd}nd
}||dd�||<�?dS)Nz%s --status-all�z/etc/init.drz Unable to query 'service' tool (�): z*^\s*\[ (?P<state>\+|\-) \]\s+(?P<name>.+)$)�flags�name�state�+�running�stopped�sysv�rr�source)r�run_command�service_path�os�path�exists�warn�re�compile�M�finditer�group)	r�services�rc�stdout�stderr�p�match�service_name�
service_states	         r
�_list_sysvinitz!ServiceScanService._list_sysvinitks��!�[�4�4�5F��IZ�5Z�[�[���F�F�
��7�7�2�7�>�>�-�8�8�7�

�F�
��7�7��K����"�"�"�f�f�U�V�V�V��J�D�B�D�Q�Q�Q���Z�Z��'�'�	f�	f�E� �;�;�v�.�.�L��{�{�7�#�#�s�*�*� )�
�
� )�
�.:�]�^d�%e�%e�H�\�"�"�
	f�	frc�@�tjd��}|j�d|jz��\}}}|dkr|j�d|z��dS|�dd��}|�d��D]�}|�|��}|s�|�	d��}	|�	d	��}
|�	d
��}|�	d��r|�	d��}nd}|	||
dd
�}
|
||	<��dS)NzR^\s?(?P<name>.*)\s(?P<goal>\w+)\/(?P<state>\w+)(\,\sprocess\s(?P<pid>[0-9]+))?\s*$z%s listrz,Unable to query upstart for service data: %s�
��
r�goalr�pid�upstart)rrr:r!)
r(r)rr"�initctl_pathr'�replace�splitr2r,)rr-r1r.r/r0�real_stdout�line�mr3�service_goalr4r;�payloads              r
�
_list_upstartz ServiceScanService._list_upstart~s,���J�l�m�m��!�[�4�4�Y��AR�5R�S�S���F�F�
��7�7��K���K�f�T�U�U�U�U�U� �.�.��r�2�2�K�#�)�)�$�/�/�
1�
1���G�G�D�M�M����� �w�w�v���� �w�w�v���� !���� 0� 0�
��7�7�5�>�>���'�'�%�.�.�C�C��C�#/�-�Q]�ir�s�s��)0���&�&�
1�
1rc���tjd��}|j�d|jzd���\}}}d}|�d��D]}|�|��rd}�|s�tjd��}d}|�d��D]}|�|��rd}�|r)|j�d|jzd���\}}}n,d	|vr(|j�d
|jzd���\}}}|�d��D]�}|�|��}	|	r�|	�d��}
d}d
}|	�d��dkrd}|j�|j�d|
�d�d���\}}}|}|dvrd}n>|�	��}
dD]%}||
vr|j�
d|
z��n�&d}|
||dd�}|||
<��dS)Nz�(?P<service>.*?)\s+[0-9]:(?P<rl0>on|off)\s+[0-9]:(?P<rl1>on|off)\s+[0-9]:(?P<rl2>on|off)\s+[0-9]:(?P<rl3>on|off)\s+[0-9]:(?P<rl4>on|off)\s+[0-9]:(?P<rl5>on|off)\s+[0-9]:(?P<rl6>on|off)z%sT��use_unsafe_shellFr9z"(?P<service>.*?)\s+(?P<rl0>on|off)z%s -l --allservicesz--listz	%s --list�servicer�disabled�rl3�on�enabled� z status)rr)�root�
permissionznot in sudoerszDInsufficient permissions to query sysV service "%s" and their statesr�rr�statusr!)r(r)rr"�chkconfig_pathr?r2r,r#�lowerr')rr-r1r.r/r0�	match_anyrA�p_simplerBr3r4�service_status�output�x�service_datas                r
�_list_rhzServiceScanService._list_rh�s����J�
m�
n�
n��"�[�4�4�T�D�<O�5O�bf�4�g�g���F�F��	��L�L��&�&�	!�	!�D��w�w�t�}�}�
!� �	���	w��z�"G�H�H�H��I����T�*�*�
%�
%���>�>�$�'�'�%� $�I���
w�%)�[�%<�%<�=R�UY�Uh�=h�{�%<�&A�&A�"��F�F�F��V�#�#�%)�[�%<�%<�[�4�K^�=^�qu�%<�%v�%v�"��F�F��L�L��&�&�	6�	6�D�����
�
�A��
6� �w�w�y�1�1�� )�
�!+���7�7�5�>�>�T�)�)�%.�N�%)�[�%<�%<�t�O`�O`�O`�bn�bn�bn�=o�CG�%<�&H�&H�"��F�F� "�
���:�:�$-�M�M�$�\�\�^�^�F�E�2�2����;�;� �K�,�,�-s�wC�.C�D�D�D�!�E�'�)2�
�(4�}�Xf�rx�y�y��)5���&��/	6�	6rc��i}|j�d|jzd���\}}}|j�d|jzd���\}}}|�d��D]~}	|	�d��}
t|
��dkr�+|
d���}|
d	���}|sd||<�g|���||<�|�d��D]N}	|	���}
t|
��dkr�*|
d}|
d	}
||}|||
d
d�}|||<�OdS)Nz)%s -a -s -m 2>&1 | grep '^ ' | tr -d '[]'TrGz%s show -v 2>&1 | grep '|'r9�|�r��openrc)r�	runlevelsrr!)rr"�rc_status_path�rc_update_pathr?�len�strip)rr-�all_services_runlevelsr.r/r0�rc_u�stdout_u�stderr_urA�	line_datar3rar4�service_runlevelsrZs                r
�_list_openrczServiceScanService._list_openrc�s���!#��!�[�4�4�5`�cg�cv�5v�JN�4�O�O���F�F�#'�;�#:�#:�;W�Z^�Zm�;m�AE�#:�$F�$F� ��h���N�N�4�(�(�		I�		I�D��
�
�3���I��9�~�~��!�!��$�Q�<�-�-�/�/�L�!�!��*�*�,�,�I��
I�7;�&�|�4�4�7@���7H�7H�&�|�4�4��L�L��&�&�	2�	2�D��
�
���I��9�~�~��!�!��$�Q�<�L�%�a�L�M� 6�|� D��$0�?P�[h�t|�}�}�L�%1�H�\�"�"�	2�	2rc�\�i}|j�d��|_|j�d��|_|j�d��|_|j�d��|_|j�d��|_|jr#|j�|j�|�|��|jr|j�|�|��n@|jr|�	|��n#|j�|j�|�
|��|S)NrI�	chkconfig�initctlz	rc-statusz	rc-update)r�get_bin_pathr#rSr=rbrcr5rEr[rl)rr-s  r
�gather_servicesz"ServiceScanService.gather_services�s&����!�K�4�4�Y�?�?���"�k�6�6�{�C�C��� �K�4�4�Y�?�?���"�k�6�6�{�C�C���"�k�6�6�{�C�C�����	*��!4�!<��AT�A\�����)�)�)���	(��!4�!<����x�(�(�(�(�
�
 �	(��M�M�(�#�#�#�#�
�
 �
,��1D�1P����h�'�'�'��rN)rrrr5rEr[rlrqrrr
rrisc������f�f�f�&1�1�1�*/6�/6�/6�b2�2�2�0����rrc�@�eZdZegd���Zd�Zd�Zd�Zd�ZdS)�SystemctlScanService)z	not-found�masked�failedc�d�	tdd��}n#t$rYdSwxYw|D]	}d|vrdS�
dS)Nz/proc/1/comm�rF�systemdT)�open�IOError)r�frAs   r
�systemd_enabledz$SystemctlScanService.systemd_enabled�sg��	��^�S�)�)�A�A���	�	�	��5�5�	�����	�	�D��D� � ��t�t�!��us��
!�!c��|j�d|zd���\}}}|dkr|j�d|z��dSd�|�d��D��D]^}d}d	}|���}	|jD]}
|
|	vr|
}|	d
d�}	n	�|	d}|	d}|	dd
krd
}|||dd�||<�_dS)Nz-%s list-units --no-pager --type service --allTrGrz%Could not list units from systemd: %sc��g|]}d|v�|��	S�z.servicer��.0�svc_lines  r
�
<listcomp>z9SystemctlScanService._list_from_units.<locals>.<listcomp>	�#��_�_�_�h�
�V^�H^�H^��H^�H^�H^rr9r�unknownr_r^�rrxrQ)rr"r'r?�
BAD_STATES)r�systemctl_pathr-r.r/r0rA�	state_val�
status_val�fields�badr3s            r
�_list_from_unitsz%SystemctlScanService._list_from_unitss+��"�[�4�4�5d�gu�5u�IM�4�N�N���F�F�
��7�7��K���D�v�M�N�N�N�N�N�_�_�&�,�,�t�2D�2D�_�_�_�
�
��%�	�&�
��������?�+�+�C��f�}�}�%(�
�!'��������%�"(���J� &�a�y���!�9�	�)�)� )�I�2>��^h�t}�)~�)~���&�&�'
�
rc��|j�d|zd���\}}}|dkr|j�d|z��dSd�|�d��D��D]�}	|���dd�\}}n>#t$r1|j�d	�|���
��YnwxYw||vrc|j�|�d|�d�d���\}}}d
}	|s.|dkr(|�dd�����}	||	|dd�||<��||d|j	vr|||d<��dS)Nz2%s list-unit-files --no-pager --type service --allTrGrz.Could not get unit files data from systemd: %sc��g|]}d|v�|��	Srrr�s  r
r�z>SystemctlScanService._list_from_unit_files.<locals>.<listcomp>%r�rr9r^z=Malformed output discovered from systemd list-unit-files: {0})�msgz show z --property=ActiveStater�r8zActiveState=rxrQrR)
rr"r'r?�
IndexError�	fail_json�formatr>�rstripr�)
rr�r-r.r/r0rAr3r�rs
          r
�_list_from_unit_filesz*SystemctlScanService._list_from_unit_filess���"�[�4�4�5i�lz�5z�NR�4�S�S���F�F�
��7�7��K���M�PV�V�W�W�W�W�W�_�_�&�,�,�t�2D�2D�_�_�_�

B�

B��|�/3�z�z�|�|�B�Q�B�/?�,�L�*�*��!�|�|�|��K�)�)�.m�.t�.t�uy�.z�.z�)�{�{�{�{�{�|�����x�/�/�)-��)@�)@�hv�hv�hv�yE�yE�yE�BF�Y]�)@�*^�*^�&�B���%�E��L�&�B�,�,� &���~�r� B� B� I� I� K� K��6B�U�^h�t}�-~�-~�H�\�*�*��l�+�H�5�T�_�L�L�7A�H�\�*�8�4��

B�

Bs�+B�8C�Cc���i}|���rL|j�dddg���}|r,|�||��|�||��|S)N�	systemctlz/usr/binz/usr/local/bin)�opt_dirs)r|rrpr�r�)rr-r�s   r
rqz$SystemctlScanService.gather_services4sv�������!�!�	E�!�[�5�5�k�Z�Yi�Lj�5�k�k�N��
E��%�%�n�h�?�?�?��*�*�>�8�D�D�D��rN)	rrr�	frozensetr�r|r�r�rqrrr
rsrs�sl��������<�<�<�=�=�J�
�
�
����8B�B�B�,	�	�	�	�	rrsc��eZdZd�ZdS)�AIXScanServicec��i}tj��dkr�|j�d��}|r�|j�d|z��\}}}|dkr!|j�d|�d|����n~|�d��D]h}|���}t|��dkr�*|dd	kr�7|d}|d
dkrd}	n|d
d
krd}	nd}	||	dd�||<�i|S)N�AIX�lssrcz%s -arz'lssrc could not retrieve service data (rr9r^�	Subsystem����activer�inoperativerr��srcr )�platform�systemrrpr"r'r?rd)
rr-�
lssrc_pathr.r/r0rArjr3r4s
          r
rqzAIXScanService.gather_servicesBs6�����?����%�%���1�1�'�:�:�J��
q�%)�[�%<�%<�W�z�=Q�%R�%R�"��F�F���7�7��K�$�$�$�Y[�Y[�Y[�]c�]c�%d�e�e�e�e� &���T� 2� 2�
q�
q��$(�J�J�L�L�	��y�>�>�A�-�-�$�$�Q�<�;�6�6�$�'0��|��$�R�=�H�4�4�,5�M�M�&�r�]�m�;�;�,5�M�M�,5�M�:F�Q^�jo�1p�1p���.�.��rN)rrrrqrrr
r�r�@s#����������rr�c��eZdZd�Zd�ZdS)�OpenBSDScanServicec�$�g}|j�|j�d|����\}}}d|���vr|j�d��n4|�d��D]}|dkr�	|�|���|S)Nz ls zneeds root privilegeszrcctl requires root privilegesr9r8)rr"�
rcctl_pathrTr'r?�append)r�cmd�svcsr.r/r0�svcs       r
�query_rcctlzOpenBSDScanService.query_rcctl_s�����!�[�4�4�4�?�?�?�TW�TW�5X�Y�Y���F�F�"�f�l�l�n�n�4�4��K���=�>�>�>�>��|�|�D�)�)�
%�
%���"�9�9���K�K��$�$�$�$��rc���i�|j�d��|_|jr�|�d��D]
}|dd��|<�|�d��D]}�|�ddi��� |�d��D]}�|�dd	i��� �fd
��D���fd��D��|�d��D]}�|�ddi��� �S)
N�rcctl�all)rr!rLrRrM�startedrrc���g|]:}�|�d����|�ddi����;S)rRNrJ��get�update�r�r�r-s  �r
r�z6OpenBSDScanService.gather_services.<locals>.<listcomp>|sK���u�u�u�c�QY�Z]�Q^�Qb�Qb�ck�Ql�Ql�Qt�X�c�]�
!�
!�8�Z�"8�
9�
9�Qt�Qt�Qtrc���g|]:}�|�d����|�ddi����;S)rNrr�r�s  �r
r�z6OpenBSDScanService.gather_services.<locals>.<listcomp>sI���r�r�r�C�x�X[�}�O`�O`�ah�Oi�Oi�Oq�X�c�]�
!�
!�7�I�"6�
7�
7�Oq�Oq�Oqrru)rrpr�r�r�)rr�r-s  @r
rqz"OpenBSDScanService.gather_serviceslsS������+�2�2�7�;�;����?�	:��'�'��.�.�
A�
A��),�� @� @���
�
��'�'��-�-�
<�
<����
�$�$�h�	�%:�;�;�;�;��'�'�	�2�2�
;�
;����
�$�$�g�y�%9�:�:�:�:�
v�u�u�u�X�u�u�u�u�
s�r�r�r�8�r�r�r�r��'�'��1�1�
:�
:����
�$�$�g�x�%8�9�9�9�9��rN)rrrr�rqrrr
r�r�]s2�������������rr�c���tt��d���}t|��}t||���|_tt
ttf}i}|D]8}||��}|���}|r|�	|���9t|��dkrtdd���}ntt|������}|jd	i|��dS)
NT)�
argument_spec�supports_check_mode)�LANG�LC_ALLrz]Failed to find any services. This can be due to privileges or some other configuration issue.)�skippedr�)r-)�
ansible_factsr)r�dictr�run_command_environ_updaterrsr�r�rqr�rd�	exit_json)r�locale�service_modules�all_services�
svc_module�svcmodr��resultss        r
�mainr��s	��
����T�
J�
J�
J�F�
%�f�
-�
-�F�(,�&��(H�(H�(H�F�%�)�+?��Qc�d�O��L�%�%�%�
���F�#�#���$�$�&�&���	%�����$�$�$��
�<���A����t�*I�J�J�J����T�<�%@�%@�%@�A�A�A���F����w�����r�__main__)�
__future__rrr�type�
__metaclass__�
DOCUMENTATION�EXAMPLES�RETURNr$r�r(�ansible.module_utils.basicr�"ansible.module_utils.common.localer�objectr	rrsr�r�r�rrrr
�<module>r�s���A�@�@�@�@�@�@�@�@�@��
��
�@��&
��R
�	�	�	�����	�	�	�	�4�4�4�4�4�4�G�G�G�G�G�G������&����F�F�F�F�F��F�F�F�RK�K�K�K�K�;�K�K�K�\�����[����:(�(�(�(�(��(�(�(�V � � �$�z����D�F�F�F�F�F��r

Youez - 2016 - github.com/yon3zu
LinuXploit