HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/samba/__pycache__/gp_sudoers_ext.cpython-310.pyc
o

�/a�@svddlZddlmZddlmZddlmZddlmZm	Z	dd�Z
dZe
d	d
ejddfd
�Z
Gdd�de�ZdS)�N)�
gp_pol_ext)�	b64encode)�NamedTemporaryFile)�Popen�PIPEcCs<|�tj�}|D]}tj�||�}tj�|�r|SqdS)N)�split�os�pathsep�path�join�isfile)�
executabler
�paths�p�f�r�6/usr/lib/python3/dist-packages/samba/gp_sudoers_ext.py�find_executables�ra

### autogenerated by samba
#
# This file is generated by the gp_sudoers_ext Group Policy
# Client Side Extension. To modify the contents of this file,
# modify the appropriate Group Policy objects which apply
# to this machine. DO NOT MODIFY THIS FILE DIRECTLY.
#

�visudoz%s:%s�PATHz	/usr/sbin)r
c@s(eZdZdd�Z	d	dd�Zdd�ZdS)
�gp_sudoers_extcCsdS)NzUnix Settings/Sudo Rightsr)�selfrrr�__str__-szgp_sudoers_ext.__str__�/etc/sudoers.dcCs:|D]6\}}|j�|�t|�|vr3|t|���D]\}}tj�|�r)t�|�|j�t|�|�q|j�	�q|D]�}|j
�rd}	|j�|j�d}
tj�|j
|
�}|�
|�}|s\q;|jD]�}
|
j|	k�r|
j���rt|
j�����}|j�t|�|�}|�st}|d|
j7}t��1}t|jd��
}|�|�Wd�n1s�wYttdd|jgttd���}Wd�n1s�wY|dk�rtd	d
|d��.}t|jd��
}|�|�Wd�n1s�wY|j�t|�||j�Wd�n	1�swYn	|j� d|
j�|j�	�q_q;dS)
Nz1Software\Policies\Samba\Unix Settings\Sudo Rights�MACHINE/Registry.polz%s
�wz-cz-f)�stdout�stderrr�gp_F)�prefix�delete�dirzSudoers apply "%s" failed)!�gp_db�set_guid�str�itemsrr
�exists�unlinkr �commit�
file_sys_path�namer�parse�entries�keyname�data�stripr�encode�decode�retrieve�intror�open�writerrr�wait�store�logger�warn)r�deleted_gpo_list�changed_gpo_list�sdir�guid�settings�	attribute�sudoers�gpo�section�pol_filer
�pol_conf�e�old_val�contentsrr�sudo_validationrrr�process_group_policy0sn


����
�����	�
��z#gp_sudoers_ext.process_group_policycCs�i}d}|jrBtj�|j|�}|�|�}|s|S|jD]&}|j�d�d}|�d�rA|j	�
�rA||��vr9g||<||�|j	�q|S)Nr�\���zSudo Rights)
r)rr
rr+r,r-r�endswithr.r/�keys�append)rrA�outputrCr
rDrE�keyrrr�rsop_s

�zgp_sudoers_ext.rsopN)r)�__name__�
__module__�__qualname__rrIrQrrrrr,s

�/r)r�
samba.gpclassr�base64r�tempfiler�
subprocessrrrr3�environrrrrrr�<module>s
�