o
    O6ufT	  ã                   @   sb   d dl m Z  d dlmZmZmZmZmZ G dd„ deƒZG dd„ deeƒZG dd„ deeeƒZ	d	S )
é    )Úglob)ÚPluginÚRedHatPluginÚDebianPluginÚUbuntuPluginÚSoSPredicatec                   @   s,   e Zd ZdZdZdZdZdd„ Zdd„ Zd	S )
ÚSssdzSystem security service daemonÚsssd)ÚservicesÚsecurityÚidentity)r	   zsssd-commonc                 C   sŒ   |   g d¢¡ | j tdƒdd� |   g d¢¡ t| dgd�}| jd|d	� | jd
|d	�}|d dkrB|d  ¡ D ]}|  d| ¡ q8d S d S )N)ú/etc/sssd/sssd.confz/etc/sssd/conf.d/*.confz%/var/lib/sss/pubconf/krb5.include.d/*z/var/log/sssd/*log*Ú	sssd_logs)Útags)z/var/lib/sss/mc/passwdz/var/lib/sss/mc/groupz/var/lib/sss/mc/initgroupsr	   )r
   zsssctl config-check)Úpredzsssctl domain-listÚstatusr   Úoutputzsssctl domain-status -o )Úadd_copy_specr   r   Úadd_cmd_outputÚcollect_cmd_outputÚ
splitlines)ÚselfÚ	sssd_predÚdomainÚdomain_name© r   ú9/usr/lib/python3/dist-packages/sos/report/plugins/sssd.pyÚsetup   s   
þz
Sssd.setupc                 C   s$   d}|   d|d¡ |  d|d¡ d S )Nz#((\s*ldap_default_authtok\s*=)(.*))r   z\2 ********z/etc/sssd/conf.d/*)Údo_file_subÚdo_path_regex_sub)r   Úregexpr   r   r   Úpostproc8   s   zSssd.postprocN)	Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesÚpackagesr   r!   r   r   r   r   r      s     r   c                   @   s   e Zd ZdS )Ú
RedHatSssdN)r"   r#   r$   r   r   r   r   r)   ?   s    r)   c                       s   e Zd Z‡ fdd„Z‡  ZS )Ú
DebianSssdc                    s   t ƒ  ¡  |  d¡ d S )Nz/etc/default/sssd)Úsuperr   r   )r   ©Ú	__class__r   r   r   E   s   
zDebianSssd.setup)r"   r#   r$   r   Ú__classcell__r   r   r,   r   r*   C   s    r*   N)
r   Úsos.report.pluginsr   r   r   r   r   r   r)   r*   r   r   r   r   Ú<module>   s
   
/