o
    id8                     @   sR   d dl 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 )	    )PluginRedHatPluginDebianPluginUbuntuPluginc                       s4   e Zd ZdZdZdZdZ fddZdd Z  Z	S )	LdapzLDAP configurationldap)identitysysmgmtsystemz/etc/openldap/ldap.confc                    s   t t|   | d d S )N/etc/ldap.conf)superr   setupadd_copy_specself	__class__ 9/usr/lib/python3/dist-packages/sos/report/plugins/ldap.pyr      s   z
Ldap.setupc                 C   s   |  ddd d S )Nr   (\s*bindpw\s*)\S+z\1******)do_file_subr   r   r   r   postproc   s   zLdap.postproc)
__name__
__module____qualname__
short_descplugin_nameprofiles	ldap_confr   r   __classcell__r   r   r   r   r      s    r   c                       0   e Zd ZdZdZ fddZ fddZ  ZS )
RedHatLdap)openldapznss-pam-ldapd)r   /etc/pam_ldap.confc                    s@   t t|   | g d | | jddddg | d d S )N)z/etc/openldap/certs/passwordz/etc/openldap/certs/pwfile.txtz/etc/openldap/certs/pin.txtz/etc/openldap/certs/*passw*z/etc/openldap/certs/key3.dbz/etc/openldap/certs/cert8.dbz/etc/openldap/certs/secmod.db/etc/nslcd.confr#   zcertutil -L -d /etc/openldap)r   r!   r   add_forbidden_pathr   r   add_cmd_outputr   r   r   r   r   !   s   zRedHatLdap.setupc                    s*   t t|   dD ]	}| |dd q	d S )N)r$   r#   r   
\1********)r   r!   r   r   )r   fr   r   r   r   4   s   zRedHatLdap.postproc)r   r   r   packagesfilesr   r   r   r   r   r   r   r!      s
    r!   c                       r    )
DebianLdapz/etc/ldap/ldap.conf)slapdz
ldap-utilsc                    sj   t t|   d}| | jdddg | d | j|d dd | j|d	 d
d | j|d dd d S )Nz,ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// z/etc/slapd.confz/etc/ldap/slapd.dr$   z+ldapsearch -x -b '' -s base 'objectclass=*'z/-b cn=config '(!(objectClass=olcSchemaConfig))'configuration_minus_schemas)suggest_filenamez-b cn=schema,cn=config dnloaded_schemasz0-b cn=config '(olcAccess=*)' olcAccess olcSuffixaccess_control_lists)r   r+   r   r   r   r&   )r   ldap_searchr   r   r   r   C   s*   

zDebianLdap.setupc                    s.   t t|   | ddd | ddd d S )Nr$   r   r'   
ldapsearchz(olcRootPW\: \s*)\S+)r   r+   r   r   do_cmd_output_subr   r   r   r   r   Z   s   zDebianLdap.postproc)r   r   r   r   r)   r   r   r   r   r   r   r   r+   >   s
    r+   N)sos.report.pluginsr   r   r   r   r   r!   r+   r   r   r   r   <module>   s   "