File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/krb5.cpython-310.pyc
o
-�_g� � @ sb d dl Z d dlZd dlmZmZmZmZ G dd� de�ZG dd� dee�ZG dd� deee�Z dS ) � N)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginc @ s0 e Zd ZdZdZdZdZdZdd� Zdd � Z dS )
�Krb5a: This plugin handles the collection of kerberos authentication config
files and logging. Users should expect to see their krb5 config(s) in the
final archive, along with krb5 logging and `klist` output.
kdc configs and acls will also be collected from the distribution-spcecific
kdc directory.
zKerberos authentication�krb5)�identity�systemNc C s\ | � dd| j� d�| j� d�dg� | �� | j ddd� | �d | j� d
�� | �d� d S )Nz/etc/krb5.confz/etc/krb5.conf.d/*z
/kadm5.aclz /kdc.confz/var/log/kadmind.logz/var/log/krb5kdc.log�kerberos_kdc_log)�tagszklist -ket z/.k5*zklist -ket /etc/krb5.keytab)�
add_copy_spec�kdcdir�
collect_kinit�add_cmd_output)�self� r �9/usr/lib/python3/dist-packages/sos/report/plugins/krb5.py�setup s
�z
Krb5.setupc C s� t �� }d}| �|�rmt|ddd��Q}|D ]5}t�d|tj�r7|�d�d dd � �� }| � d
|� d�� nt�d|tj�rJ| � d
|� d
�� nqW d � dS W d � dS W d � dS 1 sfw Y dS dS )a)
Collect the kinit command output for the system with id_provider "AD"
or "IPA" domains.
While integrating the Linux M/c with AD the realmd will create a
computer object on the AD side. The realmd and AD restrict the
Hostname/SPN to 15 Characters.
z/etc/sssd/sssd.conf�rzutf-8)�encodingz\s*id_provider\s*=\s*ad�.r N� zMKRB5_TRACE=/dev/stdout kinit -k 'z$'z\s*id_provider\s*=\s*ipa�')
�socket�getfqdn�path_isfile�open�re�match�
IGNORECASE�split�upperr )r �hostname� sssd_conf�f�liner r r r + s8
�
��
�����"��zKrb5.collect_kinit)
�__name__�
__module__�__qualname__�__doc__�
short_desc�plugin_name�profilesr
r r r r r r r s
r c @ � e Zd ZdZdZdS )�
RedHatKrb5)z krb5-libszkrb5-serverz/var/kerberos/krb5kdcN�r&