%PDF- %PDF-
Direktori : /usr/lib/python2.7/site-packages/salt/beacons/ |
Current File : //usr/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