File: //lib/python3/dist-packages/samba/netcmd/__pycache__/ntacl.cpython-310.pyc
o
�/a@ � @ s4 d dl mZ d dlmZ d dlmZmZ d dlm Z m
Z
mZ d dlm
Z
d dlmZmZ d dlmZ d dlmZmZ d d lmZ d d
lmZ d dlZd dlmZ d dlmZmZm Z m!Z! d
d� Z"G dd� de�Z#G dd� de�Z$G dd� de�Z%G dd� de�Z&G dd� de�Z'G dd� de�Z(G dd� de �Z)dS )� )�DONT_USE_KERBEROSN)�security�idmap)�setntacl�getntacl�
getdosinfo)�Ldb)�
ndr_unpack� ndr_print)�SamDB)�param�passdb)� provision)�system_session_unix)�system_session)�Command�CommandError�SuperCommand�Optionc
C s� d}| � � }|dkrd}t�� }|�| j� |r<z tt� | d�}W n ty2 } ztd|��d }~ww |� dd|j
� z|rHt�|j
�}W |S t�� }W |S td��) NF�ROLE_ACTIVE_DIRECTORY_DCT��session_info�lp�Unable to open samdb:�passdb backend�
samba_dsdb:%sz2Unable to read domain SID from configuration files)�server_role�s3param�get_context�load�
configfiler r � Exceptionr �set�urlr �dom_sid�
domain_sidr
�get_domain_sid)r �is_ad_dcr �s3conf�samdb�er% � r+ �4/usr/lib/python3/dist-packages/samba/netcmd/ntacl.py�get_local_domain_sid( s0
�
��
��r- c
@ s� e Zd ZdZdZejejejd�Z e
ddddd�e
d d
ddd
gd�e
dddd�e
dddd�e
dddd�e
dddd�gZddgZ ddd�Z
dS ) �
cmd_ntacl_setzSet ACLs on a file.z%prog <acl> <file> [options]�� sambaopts�credopts�versionoptsz-qz--quietzBe quiet�
store_true��help�action�--xattr-backend�choice�%xattr backend type (native fs or tdb)�native�tdb��typer5 �choices�--eadb-file�0Name of the tdb file where attributes are stored�string�r5 r= �--use-ntvfs�LSet the ACLs directly to the TDB or xattr for use with the ntvfs file server�
--use-s3fs�HSet the ACLs for use with the default s3fs file server via the VFS layer� --servicez:Name of the smb.conf service to use when applying the ACLs�acl�fileFNc C sn | � � }| �� }
t|
�}|s|sd|
�d�v }n|rd}t|
||t|�t� ||||d� |r5|�d� d S d S )N�smb�server servicesF�� use_ntvfs�service�PPlease note that POSIX permissions have NOT been changed, only the stored NT ACL)�
get_logger�get_loadparmr- �getr �strr �warning)�selfrH rI rM �use_s3fs�quiet�
xattr_backend� eadb_filer1 r0 r2 rN �loggerr r% r+ r+ r, �run] s( �
�zcmd_ntacl_set.run� FFFNNNNNN��__name__�
__module__�__qualname__�__doc__�synopsis�options�SambaOptions�CredentialsOptions�VersionOptions�takes_optiongroupsr �
takes_options�
takes_argsr[ r+ r+ r+ r, r. F s, ���
�r. c @ s6 e Zd ZdZdZejejejd�Z dgZ
ddd�ZdS ) �cmd_dosinfo_getz"Get DOS info of a file from xattr.�%prog <file> [options]r/ rI Nc C sB |� � }t�� }|�|j� t||�}|r| j�t|�� d S d S )N) rQ r r r r r �outf�writer
)rU rI r1 r0 r2 r r( �dosinfor+ r+ r, r[ � s
�zcmd_dosinfo_get.run�NNN)r^ r_ r` ra rb rc rd re rf rg ri r[ r+ r+ r+ r, rj x s �rj c
@ s� e Zd ZdZdZejejejd�Z e
dddd�e
dd d
ddgd
�e
dddd�e
dddd�e
dddd�e
dddd�gZdgZ ddd�Z
dS )�
cmd_ntacl_getzGet ACLs of a file.rk r/ z --as-sddlzOutput ACL in the SDDL formatr3 r4 r7 r8 r9 r: r; r<