File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/pdbedit.cpython-310.pyc
o
�N�g+ � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZe� e
�ZdZddd�Z
dd� Zd d
� Zdd
d�Zddd�Zdd� Zddd�Z ddd�ZdS )z�
Manage accounts in Samba's passdb using pdbedit
:maintainer: Jorge Schrauwen <sjorge@blackdot.be>
:maturity: new
:platform: posix
.. versionadded:: 2017.7.0
� N�pdbedit�list�get)�
list_users�get_userc C s� t jj�d�s dS t jj�d�} t�d�}|� | �}|sdS t
|�d��dkr0t
|�d��d ks2d
S zt�
dd�d
�� W tS tyH Y dS w )z'
Provides pdbedit if available
r )Fz pdbedit command is not availablez
pdbedit -Vz ^Version\s(\d+)\.(\d+)\.(\d+).*$)Fz-pdbedit -V returned an unknown version format� � � � )Fz-pdbedit is to old, 4.5.0 or newer is required�md4� �utf-16le)FzHash type md4 unsupported)�salt�utils�path�which�modulesZcmdmod�run�re�compile�match�int�group�hashlib�new�encode�
ValueError�__virtualname__)�verZ ver_regexZ ver_match� r �H/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/pdbedit.py�__virtual__ s
$��r! c C s t �t�d| �d���� ��� S )z}
Generate a NT HASH
CLI Example:
.. code-block:: bash
salt '*' pdbedit.generate_nt_hash my_passwd
r r
)�binascii�hexlifyr r r �digest�upper��passwordr r r �generate_nt_hash9 s
��r( TFc C sn | ri ng }| rzt d dj|rdndd��}|d dkr0t�d|v r)|d � |S |d � |S t�d
|d �D ]?}i }d}|�� D ],}|�� sIqB|�d�\}} }
|�� � � }|
�� }
| sh|| |�� 7 <