%PDF- %PDF-
| Direktori : /lib/python2.7/site-packages/salt/beacons/ |
| Current File : //lib/python2.7/site-packages/salt/beacons/sh.pyo |
�
���^c @@ s� d Z d d l m Z m Z d d l Z d d l Z d d l Z d d l Z d d l Z d Z
e j e � Z
d � Z d � Z d � Z d � Z d S( uP
Watch the shell commands being executed actively. This beacon requires strace.
i ( t absolute_importt unicode_literalsNu shc C@ s t j j j d � r t St S( u*
Only load if strace is installed
u strace( t saltt utilst patht whicht __virtualname__t False( ( ( s3 /usr/lib/python2.7/site-packages/salt/beacons/sh.pyt __virtual__ s c C@ sp t j � } d t k rM | t d d k r9 | t d <qh t d � t d <n | t d <t d � t d <t d S( u0
Return the valid shells on this system
u sh.last_shellsi u
cmd.shellsu sh.shells( t timet __context__t __salt__( t start( ( s3 /usr/lib/python2.7/site-packages/salt/beacons/sh.pyt _get_shells s
c C@ s# t | t � s t d f St d f S( u+
Validate the beacon configuration
u+ Configuration for sh beacon must be a list.u Valid beacon configuration( t
isinstancet listR t True( t config( ( s3 /usr/lib/python2.7/site-packages/salt/beacons/sh.pyt validate- s
c @ s� g } d } t � } t d � � g } x= � D]5 � t � � f d � | D� � r/ | j � � q/ q/ W| t k r� i t | <n x� | D]� � � t | k r� d d d d d d j � � g } i t | � <t j j j | d
t
d t
d t d
t �t | � d <� � j d � t | � d <q� q� Wx�t
t | � D]�� d } d } xj t | � d j r�t | � d j � \ } } | s�Pn | t j j j | p�d � 7} | | 7} qRWx� | j d � D]� }
i g d 6� d 6} d |
k r�|
j d � d j d � } xZ t | � D]L \ }
} |
d k rC| | d <qn |
d d k r| d j | � qqWt | � d | d <| j | � q�q�Wt | � d j � s=t | � d j � t | j � � q=q=W| S( u�
Scan the shell execve routines. This beacon will convert all login shells
.. code-block:: yaml
beacons:
sh: []
u sh.vtu status.procsc 3@ s4 | ]* } � � j d d � j d � | k Vq d S( u cmdu u -N( t gett lstrip( t .0t shell( t pidt ps_out( s3 /usr/lib/python2.7/site-packages/salt/beacons/sh.pys <genexpr>F s u straceu -fu -eu execveu -pu {0}t
log_stdoutt
log_stderrt
stream_stdoutt
stream_stderru vtu useru u
u argsu tagi u "u cmdi i ( R
R t anyt appendR
t formatR R t vtt TerminalR R R R t has_unread_datat recvt stringutilst
to_unicodet splitt enumeratet isalivet closet pop( R t rett pkeyt shellst
track_pidst cmdt outt errt toutt terrt linet eventt compst indt field( ( R R s3 /usr/lib/python2.7/site-packages/salt/beacons/sh.pyt beacon7 s^
!&
( t __doc__t
__future__R R t loggingR t salt.utils.pathR t salt.utils.stringutilst
salt.utils.vtR t getLoggert __name__t logR R
R R9 ( ( ( s3 /usr/lib/python2.7/site-packages/salt/beacons/sh.pyt <module> s