403Webshell
Server IP : 3.96.16.70  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3.9/site-packages/cfnbootstrap/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.9/site-packages/cfnbootstrap/__pycache__/service_tools.cpython-39.pyc
a

��0iF6�@s�ddlmZddlmZddlmZddlZddlZddlZ	e�
d�ZdZzddl
Z
ddlZddlZWney|dZYn0Gdd	�d	e�ZGd
d�de�ZGdd
�d
e�ZGdd�de�ZGdd�de�ZdS)�)�util)�	ToolError)�
ProcessHelperNzcfn.initTFc@seZdZdd�Zdd�ZdS)�ServiceToolcCs�|�||d�rdS|�||d�r$dS|�||d�r6dS|�||d�rHdS|�||d�rZdSd|vr�d|vr�|d��D]2\}}||dvrvt|d|�t|�@rvdSqvdS)	N�filesTZsources�groupsZusersZcommandsZpackagesF)�_list_type_change_occurred�items�	frozenset)�self�serviceProperties�changes�managerZpkg_list�r�>/usr/lib/python3.9/site-packages/cfnbootstrap/service_tools.py�_detect_required_restart#s(
��z$ServiceTool._detect_required_restartcCs0||vr,||vr,t||�t||�@r,dSdS)NTF)r
)rrr
�keyrrrr=sz&ServiceTool._list_type_change_occurredN)�__name__�
__module__�__qualname__rrrrrrr!src@s*eZdZdZe�e�fdd�Zdd�ZdS)�WindowsServiceToolz'
    Manages Windows services
    
    c
Cs�|��st�d�dSts"td��t�ddtj�}�z�|��D�]h\}}t�	||tj
�}t�d|d|d��z*d|vr�t�d�t�
|d�r�tjntj}|�||�nt�d|�|�||�r�t�d	|�t�|�n�d|v�r�t�
|d�}t�|�d
}	t�d||	�|	tj@�p$|	tj@}
|�rL|
�sLt�d|�t�|d�n4|�st|
�rtt�d
|�t�|tj�nt�d|�nt�d|�Wt�|�q>t�|�0q>Wt�|�nt�|�0dS)z�
        Takes a dict of service name to dict.
        Keys we look for are:
            - "enabled" (setting a service to "Automatic")
            - "ensureRunning" (actually start the service)
        zNo Windows services specifiedNz.Cannot modify windows services without pywin32zEnabled: %s, EnsureRunning: %s�enabled�
ensureRunningz5Setting service to AUTO_START or SERVICE_DEMAND_START�)Not modifying enabled state of service %s�2Restarting %s due to change detected in dependency�zService %s status: %s�(Starting service %s as it is not running�$Stopping service %s as it is running�-No need to modify running state of service %s�)Not modifying running state of service %s)�keys�log�debug�_windows_supportedr�win32serviceZ
OpenSCManagerZSC_MANAGER_ALL_ACCESSr	ZOpenServiceZSERVICE_ALL_ACCESS�infor�interpret_booleanZSERVICE_AUTO_STARTZSERVICE_DEMAND_START�_set_service_startup_typer�win32serviceutilZRestartServiceZQueryServiceStatusZSERVICE_RUNNINGZSERVICE_START_PENDINGZStartServiceZControlServiceZSERVICE_CONTROL_STOPZCloseServiceHandle)r�actionr
r�servicerZhandle�
start_typer�status�	isRunningrrr�applyJsD


zWindowsServiceTool.applyc
CsPt�d|�t�|tj|tjddddddd�}|dkrLt��}t�d||�dS)Nz�Changing service startup type to %s. See https://learn.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-changeserviceconfiga for detailsrz�Failed to change startup type. Return value: %s, error value from GetLastError: %s. See https://tiny.amazon.com/5h2c664u/learmicrenuswindwin3apiwins for more info.)r!r"r$ZChangeServiceConfigZSERVICE_NO_CHANGE�win32apiZGetLastError)rr*r+ZretValueZ
errorValuerrrr's �z,WindowsServiceTool._set_service_startup_typeN)	rrr�__doc__�collections�defaultdict�listr.r'rrrrrDs5rc@s\eZdZdZe�e�fdd�Zdd�Zdd�Z	dd	�Z
d
d�Zdd
d�Zdd�Z
dd�ZdS)�SysVInitToolz%
    Manages SysV Init services

    cCs�|��st�d�dS|��D]�\}}|�||�}d|vrR|�|t�|d��nt�d|�|rzt�d|�|�|�qd|vr�t�|d�}|�	|�}|r�|s�t�d|�|�
|�q�|s�|r�t�d|�|�|�q�t�d	|�qt�d
|�qdS)z�
        Takes a dict of service name to dict.
        Keys we look for are:
            - "enabled" (equivalent to /sbin/chkconfig service on)
            - "ensureRunning" (equivalent to /sbin/service service start)
        z"No System V init scripts specifiedNrrrrrrrr)r r!r"r	r�_set_service_enabledrr&�_restart_service�_is_service_running�_start_service�
_stop_service)rr)r
r*rZ
force_restartrr-rrrr.�s,

zSysVInitTool.applycCsb|�|�}|�d�t|���}|jrRt�d||j�t�d|j�t	d|��nt�
d|�dS)NZrestartz0Could not restart service %s; return code was %s�Service output: %szCould not restart %szRestarted %s successfully��_get_service_executable�appendr�call�
returncoder!�errorr"�stdoutrr%�rr*�cmd�resultrrrr6�s

zSysVInitTool._restart_servicecCsb|�|�}|�d�t|���}|jrRt�d||j�t�d|j�t	d|��nt�
d|�dS)N�startz.Could not start service %s; return code was %sr:zCould not start %szStarted %s successfullyr;rBrrrr8�s

zSysVInitTool._start_servicecCsb|�|�}|�d�t|���}|jrRt�d||j�t�d|j�t	d|��nt�
d|�dS)N�stopz-Could not stop service %s; return code was %sr:zCould not stop %szStopped %s successfullyr;rBrrrr9�s

zSysVInitTool._stop_servicecCs.|�|�}|�d�t|���}|jr*dSdS)Nr,FT)r<r=rr>r?rBrrrr7�s

z SysVInitTool._is_service_runningTcCsB|��}|st�d|�dSt�d||r,dnd�|�||�dS)NzDCould not enable %s, as chkconfig and update-rc.d were not availablezSetting service %s to %sr�disabled)�_get_service_modifierr!r@r"�set_service_enabled)rr*rZmodifierrrrr5�sz!SysVInitTool._set_service_enabledcCsNt|d�r|jSt��r"t�|_nt��r4t�|_nd|_t�d|j�|jS)N�_cached_modifierzUsing service modifier: %s)�hasattrrJ�	Chkconfig�	installed�	UpdateRcDr!r"�rrrrrH�s


z"SysVInitTool._get_service_modifiercCsvt|d�sXtj�d�rd|_ntj�d�r2d|_nd|_|jrNt�d|j�n
t�d�|jrh|j|gSd|gSdS)z�
        Returns the service executable as an array
        Right now either ["/sbin/service", service], ["/usr/sbin/service", service], or ["/etc/init.d/<service>"]
        �_service_runnerz
/sbin/servicez/usr/sbin/serviceNzUsing service runner: %szRunning init scripts directlyz/etc/init.d/%s)rK�os�path�existsrPr!r")rr*rrrr<s


z$SysVInitTool._get_service_executableN)T)rrrr0r1r2r3r.r6r8r9r7r5rHr<rrrrr4�s%




r4c@s6eZdZdZedd��Zdd�Zdd�Zdd	d
�ZdS)
rLz/sbin/chkconfigcCstj�|j�S�N�rQrRrS�_executable��clsrrrrM!szChkconfig.installedcCstj|_dSrT)rLrVrOrrr�__init__%szChkconfig.__init__cOs|jSrT�rV�r�args�kwargsrrr�__str__)szChkconfig.__str__TcCs�tj�|j�std��t|j||r&dndg���}|jrht�	d|j|j
�td|rVdnd|f|j��nt�d|rvd	nd
|�dS)NzCannot find chkconfigZonZoffz*chkconfig failed with error %s. Output: %s�Could not %s service %s�enable�disable�
%s service %srrG�rQrRrSrVrrr>r?r!r@rAr%�rr*rrDrrrrI,szChkconfig.set_service_enabledN)T�	rrrrV�classmethodrMrYr^rIrrrrrLs
rLc@s6eZdZdZedd��Zdd�Zdd�Zdd	d
�ZdS)
rNz/usr/sbin/update-rc.dcCstj�|j�SrTrUrWrrrrM<szUpdateRcD.installedcCstj|_dSrT)rNrVrOrrrrY@szUpdateRcD.__init__cOs|jSrTrZr[rrrr^DszUpdateRcD.__str__TcCs�tj�|j�std��t|j||r&dndg���}|jrht�	d|j|j
�td|rVdnd|f|j��nt�d|rvdnd|�dS)	NzCannot find update-rc.dr`raz,update-rc.d failed with error %s. Output: %sr_rbrrGrcrdrrrrIGszUpdateRcD.set_service_enabledN)TrerrrrrN8s
rN)ZcfnbootstraprZ cfnbootstrap.construction_errorsrZcfnbootstrap.utilrr1ZloggingZos.pathrQZ	getLoggerr!r#r$r(r/�ImportError�objectrrr4rLrNrrrr�<module>s&

#L

Youez - 2016 - github.com/yon3zu
LinuXploit