+
    4SsiZ"                     0   ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
Ht ^ RIHtHtHtHtHtHtHtHtHtHtHtHtHt ^ RIt^ RIHt ^ RIt^ RIHt ^ R	IH t H!t!H"t"H#t#  ! R
 R] 4      t$ ! R R]$4      t% ! R R]$4      t& ! R R]$4      t' ! R R]"4      t(R# )    N)sd_utils)security)SamDB)
ndr_unpackndr_pack)GUID_DRS_ALLOCATE_RIDSGUID_DRS_CHANGE_DOMAIN_MASTERGUID_DRS_CHANGE_INFR_MASTERGUID_DRS_CHANGE_PDCGUID_DRS_CHANGE_RID_MASTERGUID_DRS_CHANGE_SCHEMA_MASTERGUID_DRS_GET_CHANGESGUID_DRS_GET_ALL_CHANGES GUID_DRS_GET_FILTERED_ATTRIBUTESGUID_DRS_MANAGE_TOPOLOGYGUID_DRS_MONITOR_TOPOLOGYGUID_DRS_REPL_SYNCRONIZEGUID_DRS_RO_REPL_SECRET_SYNC)
SCOPE_BASE)system_session)CommandCommandErrorSuperCommandOptionc                   ~   a  ] tR t^.t o RtRtR]P                  R]P                  R]P                  /t
R	R ltRtV tR# )
cmd_dsacl_basezBase class for DSACL commands.z%prog [options]	sambaoptscredoptsversionoptsc                    VP                  V4      pV P                  P                  V: R V: R24       V P                  P                  VR,           4       R# )zdescriptor for z:

N)get_sd_as_sddloutfwrite)self	sd_helper	object_dnprefix	desc_sddls   &&&& 4/usr/lib/python3/dist-packages/samba/netcmd/dsacl.py	print_aclcmd_dsacl_base.print_acl9   s<    ,,Y7			FIFG			D()     N) )__name__
__module____qualname____firstlineno____doc__synopsisoptionsSambaOptionsCredentialsOptionsVersionOptionstakes_optiongroupsr+   __static_attributes____classdictcell____classdict__s   @r*   r   r   .   sB     ( H 	W))G..w--* *r-   r   c                      a  ] tR t^?t o RtRt]! RRR]RRR7      ]! R	R
. RO]R7      ]! RR
RR.RR7      ]! RRRR7      ]! RRRR7      ]! RRRR7      .tR t	R t
RR ltRtV tR# )cmd_dsacl_setz)Modify access list on a directory object.z+ The access control right to allow or deny -H--URL%LDB URL for database or target serverURLHhelptypemetavardestz--carchoice)rH   choicesrG   z--actionallowdenyzDeny or allow access
--objectdn#DN of the object whose SD to modifystringrG   rH   z--trusteednz!DN of the entity that gets access--sddlz1An ACE or group of ACEs to be added on the objectc                    VP                  VR \        R7      p\        V4      ^8X  g   Q h\        \        P
                  V^ ,          R,          ^ ,          4      # )z(objectClass=*))base
expressionscope	objectSid)searchr   lenr   r   dom_sid)r%   samdb	trusteednress   &&& r*   find_trustee_sidcmd_dsacl_set.find_trustee_sid_   sN    ll	6G!+  -3x1}}(**CF;,?,BCCr-   c                D   VP                  W#4      w  rEV F@  pVP                  VP                  4      pV P                  P	                  RV,          4       KB  	  V F@  pVP                  VP                  4      pV P                  P	                  RV,          4       KB  	  R# )zAdd new ace explicitly.%WARNING: ignored INHERITED_ACE (%s).
zDWARNING: (%s) was already found in the current security descriptor.
N)dacl_prepend_acesas_sddl
domain_sidr#   r$   )r%   r&   r'   new_aceaiiiacesddls   &&&&    r*   add_acecmd_dsacl_set.add_acee   s    ++I?C;;y334DIIOODtKL  C;;y334DIIOOcfjjk r-   Nc
                   VP                  4       p
VP                  V
4      pVf!   Ve   Ve	   Ve   Vf   V P                  4       # \        V\	        4       WR7      p\
        P                  ! V4      pR\        R\        R\        R\        R\        R\        R\        R	\        R
\        R\         R\"        R\$        R\&        /pV P)                  W4      pV'       d   TpMVVR8X  d   RW,          : R\+        V4      : R2pM4VR8X  d   RW,          : R\+        V4      : R2pM\-        RV,          4      hV P/                  WRR7       V P1                  WV4       V P/                  WRR7       R # )Nurlsession_infocredentialslp
change-rid
change-pdcchange-infrastructurechange-schemachange-namingallocate_ridsget-changesget-changes-allget-changes-filteredtopology-managetopology-monitor	repl-syncro-repl-secret-syncrM   z(OA;;CR;z;;)rN   z(OD;;CR;zWrong argument '%s'!old r(   new )get_loadparmget_credentialsusager   r   r   SDUtilsr   r   r
   r   r	   r   r   r   r   r   r   r   r   r_   strr   r+   rk   )r%   caractionobjectdnr]   rj   rE   r   r   r   rr   credsr\   r&   carssidrf   s   &&&&&&&&&&       r*   runcmd_dsacl_set.runo   sJ   ##%((,<S[FN ( 0I4E::<!.*:"'0$$U+	81')D!>!>!73!#;&(H!#;"$=5%'C ##E5Gw+/99c#h?Gv+/99c#h?G5>??y6:Y'2y6:r-   r.   )rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   NNNN)r0   r1   r2   r3   r4   car_helpr   r   takes_optionsr_   rk   r   r;   r<   r=   s   @r*   r@   r@   ?   s     3@H 	tW#JS	2wX 0G 	 	z7F2C.	0|"G	}#F	xQ	/M6Dl&; &;r-   r@   c            	       `   a  ] tR t^t o Rt]! RRR]RRR7      ]! RR	R
R7      .tRR ltRt	V t
R# )cmd_dsacl_getz(Print access list on a directory object.rA   rB   rC   rD   rE   rF   rO   rP   rQ   rR   Nc                    VP                  4       pVP                  V4      p\        V\        4       WvR 7      p\        P
                  ! V4      p	V P                  W4       R# )rn   N)r   r   r   r   r   r   r+   )
r%   r   rE   r   r   r   rr   r   r\   r&   s
   &&&&&&    r*   r   cmd_dsacl_get.run   sP    ##%((,!.*:&$$U+	y+r-   r.   r   )r0   r1   r2   r3   r4   r   r   r   r   r;   r<   r=   s   @r*   r   r      sA     2 	tW#JS	2|"G	
M, ,r-   r   c            	       z   a  ] tR t^t o Rt]! RRR]RRR7      ]! RR	R
R7      ]! RRR
R7      .tRR ltR t	Rt
V tR# )cmd_dsacl_deletez2Delete an access list entry on a directory object.rA   rB   rC   rD   rE   rF   rO   rP   rQ   rR   rS   z5An ACE or group of ACEs to be deleted from the objectNc                @   VP                  4       pVP                  V4      pVe   Vf   V P                  4       # \        V\	        4       WR7      p	\
        P                  ! V	4      p
V P                  WRR7       V P                  WV4       V P                  WRR7       R # )Nrn   r   r   r   )	r   r   r   r   r   r   r   r+   
delete_ace)r%   r   rj   rE   r   r   r   rr   r   r\   r&   s   &&&&&&&    r*   r   cmd_dsacl_delete.run   s    ##%((,<8+::<!.*:"'0$$U+	y6:	T2y6:r-   c                D   VP                  W#4      w  rEV F@  pVP                  VP                  4      pV P                  P	                  RV,          4       KB  	  V F@  pVP                  VP                  4      pV P                  P	                  RV,          4       KB  	  R# )zDelete ace explicitly.rb   z@WARNING: (%s) was not found in the current security descriptor.
N)dacl_delete_acesrd   re   r#   r$   )r%   r&   r'   delete_acesdirh   ri   rj   s   &&&&    r*   r   cmd_dsacl_delete.delete_ace   s    **9BC;;y334DIIOODtKL  C;;y334DIIOO_bffg r-   r.   r   )r0   r1   r2   r3   r4   r   r   r   r   r   r;   r<   r=   s   @r*   r   r      sX     < 	tW#JS	2|"G	xU	
M;h hr-   r   c                   Z    ] tR t^tRt/ t]! 4       ]R&   ]! 4       ]R&   ]! 4       ]R&   Rt	R# )	cmd_dsaclzDS ACLs manipulation.setgetdeleter.   N)
r0   r1   r2   r3   r4   subcommandsr@   r   r   r;   r.   r-   r*   r   r      s/    K&K&K,.Kr-   r   ))samba.getoptgetoptr6   sambar   samba.dcerpcr   samba.samdbr   	samba.ndrr   r   samba.dcerpc.securityr   r	   r
   r   r   r   r   r   r   r   r   r   r   ldbr   re
samba.authr   samba.netcmdr   r   r   r   r   r@   r   r   r   r.   r-   r*   <module>r      s   &   !  *" " " "   	 % *W *"V;N V;r,N ,*#h~ #hL/ /r-   