ó
    cÛ–iI  ã                   óT  • S SK r S SKrS SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJrJr  S SKJr  S SKJrJrJr  S S	KJrJr  S S
KJr  SSKJrJrJrJ r   S r! " S S\5      r" " S S\5      r# " S S\5      r$ " S S\5      r% " S S\5      r& " S S\5      r' " S S\5      r(g)é    N)Ú	provision)Úsystem_session)Úsystem_session_unix)ÚDONT_USE_KERBEROS)ÚsecurityÚidmap)Ú	ndr_print)ÚsetntaclÚgetntaclÚ
getdosinfo)ÚparamÚpassdb)ÚSamDBé   )ÚCommandÚCommandErrorÚSuperCommandÚOptionc                 óè  • SnU R                  5       nUS:X  a  Sn[        R                  " 5       nUR                  U R                  5        U(       a2   [        [        5       U S9nUR                  SSUR                  -  5         U(       a"  [        R                  " WR                  5      nU$ [        R                  " 5       n U$ ! [         a  n[        SU5      eS nAff = f!   [        S5      e= f)	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&   s          Ú4/usr/lib/python3/dist-packages/samba/netcmd/ntacl.pyÚget_local_domain_sidr-   $   sé   € Ø€HØ—.‘.Ó"€KØÐ0Ó0Øˆä× Ò Ó"€FØ
‡K�K�—‘Ôæð	;Ü¤~Ó'7Øñ!ˆEð 	�
‰
Ð# _°u·y±yÑ%@ÔAð$ÞÜ!×)Ò)¨%×*:Ñ*:Ó;ˆJð Ðô	  ×.Ò.Ó0‰Jð Ðøô ó 	;ÜÐ6¸Ó:Ð:ûð	;ûð$Üð #ó $ð 	$ús*   ÁC Â'C$ Â.C$ Ã
C!ÃCÃC!Ã$C1c                   ó  • \ rS rSrSrSr\R                  \R                  \R                  S.r
\" SS\R                  SS9\" S	S
SSS9\" SSSSS/S9\" SSSS9\" SSSS9\" SSSS9\" SSSS9\" SSSS9\" SSSS9/	rS S!/r    S%S# jrS$rg")&Úcmd_ntacl_setéB   zSet ACLs on a file.z%prog <acl> <path> [options]©Ú	sambaoptsÚcredoptsÚversionoptsz-qz--quietÚ
store_true©ÚhelpÚactionú-vú	--verboseú
Be verboseú--xattr-backendÚchoiceú%xattr backend type (native fs or tdb)ÚnativeÚtdb©Útyper7   Úchoicesú--eadb-fileú0Name of the tdb file where attributes are storedÚstring©r7   rB   ú--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ú--recursiveú;Set the ACLs for directories and their contents recursivelyú--follow-symlinksúFollow symlinksú	--servicez:Name of the smb.conf service to use when applying the ACLsÚaclÚpathNc                 ó|  ^ ^^^^^^^^^^• T R                  5       nU
R                  5       m[        T5      mT(       d  U(       d  STR                  S5      ;   mO	U(       a  SmUUUUUUU UUUU4S jnU" U5        T(       a¢  [        R
                  R                  U5      (       a~  [        R                  " UTS9 He  u  nnnU H)  nU" [        R
                  R                  UU5      5        M+     U H)  nU" [        R
                  R                  UU5      5        M+     Mg     T(       a  UR                  S5        g g )NÚsmbúserver servicesFc                 óª  >• T(       dX  [         R                  R                  U 5      (       a4  T(       a  TR                  R	                  SU -  5        g [        SU -  5      eT(       a¤  [         R                  R                  U 5      (       a  TR                  R	                  SU -  5        Oa[         R                  R                  U 5      (       a  TR                  R	                  SU -  5        OTR                  R	                  SU -  5         [        TU T[        T5      [        5       TTT
T	S9	  g ! [         a  n[        SU < SU< 35      eS nAff = f)	Núignored symlink: %s
ú'symlink: %s: requires --follow-symlinksúsymlink: %s
údir: %s
ú	file: %s
©Ú	use_ntvfsÚserviceúCould not set acl for ú: )ÚosrR   ÚislinkÚoutfÚwriter   Úisdirr
   Ústrr   r"   )Ú_pathr+   rQ   r&   Ú	eadb_fileÚfollow_symlinksr   Ú	recursiveÚselfr^   r]   ÚverboseÚxattr_backends     €€€€€€€€€€€r,   Ú_setntacl_pathÚ)cmd_ntacl_set.run.<locals>._setntacl_pathj   s  ø€ Þ"¤r§w¡w§~¡~°e×'<Ñ'<ÞØ—I‘I—O‘OÐ$;¸eÑ$CÔDØÜ"Ð#LÐPUÑ#VÓWÐWæÜ—7‘7—>‘> %×(Ñ(Ø—I‘I—O‘O O°eÑ$;Õ<Ü—W‘W—]‘] 5×)Ñ)Ø—I‘I—O‘O K°%Ñ$7Õ8à—I‘I—O‘O L°5Ñ$8Ô9ðPÜ˜ØØÜ˜Z›Ü,Ó.Ø&Ø"Ø#,Ø!(ó*øô ó PÝ"ÃUÊAÐ#NÓOÐOûðPús   Ä"D0 Ä0
EÄ:EÅE©ÚfollowlinksúPPlease note that POSIX permissions have NOT been changed, only the stored NT ACL)
Ú
get_loggerÚget_loadparmr-   Úgetra   rR   re   ÚwalkÚjoinÚwarning)rk   rQ   rR   r]   Úuse_s3fsÚquietrl   rm   rh   r3   r2   r4   rj   ri   r^   Úloggerrn   ÚrootÚdirsÚfilesÚnamer&   r   s   `` `  ```   ```      @@r,   ÚrunÚcmd_ntacl_set.run]   sì   ÿú€ ð —‘Ó"ˆØ×#Ñ#Ó%ˆÜ)¨"Ó-ˆ
æ¦Ø §¡Ð(9Ó!:Ñ:‰IÞØˆI÷	P÷ 	Pñ6 	�tÔæœŸ™Ÿ™ t×,Ñ,Ü%'§W¢W¨T¸Ô%OÑ!��d˜EÛ!�DÙ"¤2§7¡7§<¡<°°dÓ#;Ö<ñ "ã �DÙ"¤2§7¡7§<¡<°°dÓ#;Ö<ó !ñ &Pö Ø�N‰NÐmÕnð ó    © )FFFFNNNNNFFN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚsynopsisÚoptionsÚSambaOptionsÚCredentialsOptionsÚVersionOptionsÚtakes_optiongroupsr   ÚoptparseÚSUPPRESS_HELPÚtakes_optionsÚ
takes_argsr€   Ú__static_attributes__rƒ   r‚   r,   r/   r/   B   sñ   † Ùà-€Hð ×)Ñ)Ø×.Ñ.Ø×-Ñ-ñÐñ 	ˆt�Y X×%;Ñ%;ÀLÑQÙˆt�[ |¸LÑIÙÐ  xÐ6]Ø  %Ð(ñ	*áˆ}Ð#UÐ\dÑeÙˆ}Ð#qð  {Gñ  	HÙˆ|Ð"lð  vBñ  	CÙˆ}Ð#`ÐiuÑvÙÐ"Ð):À<ÑPÙˆ{Ð!]ÐdlÑmð€Mð ˜�€Jà7<ØFJØ7;Ø<@÷2or‚   r/   c                   ót   • \ rS rSrSrSr\R                  \R                  \R                  S.r
S/rS	S jrSrg)
Úcmd_dosinfo_geté’   z"Get DOS info of a file from xattr.ú%prog <file> [options]r1   ÚfileNc                 óò   • UR                  5       n[        R                  " 5       nUR                  UR                  5        [        XQ5      nU(       a%  U R                  R                  [        U5      5        g g )N)	rt   r   r   r    r!   r   rc   rd   r	   )rk   r˜   r3   r2   r4   r   r)   Údosinfos           r,   r€   Úcmd_dosinfo_get.runž   sU   € Ø×#Ñ#Ó%ˆÜ×$Ò$Ó&ˆØ�‰�B—M‘MÔ"ä˜RÓ&ˆÞØ�I‰I�O‰OœI gÓ.Õ/ð r‚   rƒ   ©NNN)r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r’   r€   r“   rƒ   r‚   r,   r•   r•   ’   s=   † Ù,Ø'€Hð ×)Ñ)Ø×.Ñ.Ø×-Ñ-ñÐð �€J÷0r‚   r•   c                   óÚ   • \ rS rSrSrSr\R                  \R                  \R                  S.r
\" SSSS9\" S	S
SSS/S9\" SSSS9\" SSSS9\" SSSS9\" SSSS9/rS/r    SS jrSrg)Úcmd_ntacl_geté¨   zGet ACLs of a file.r—   r1   z	--as-sddlzOutput ACL in the SDDL formatr5   r6   r<   r=   r>   r?   r@   rA   rD   rE   rF   rG   rH   zKGet the ACLs directly from the TDB or xattr used with the ntvfs file serverrJ   zKGet the ACLs for use via the VFS layer used by the default s3fs file serverrP   z9Name of the smb.conf service to use when getting the ACLsr˜   Nc           
      ór  • UR                  5       n[        U5      nU(       d  U(       d  SUR                  S5      ;   nO	U(       a  Sn[        UU[	        5       UUUU
S9nU(       a.  U R
                  R                  UR                  U5      S-   5        g U R
                  R                  [        U5      5        g )NrT   rU   F©Údirect_db_accessr^   Ú
)	rt   r-   ru   r   r   rc   rd   Úas_sddlr	   )rk   r˜   r]   ry   r¤   rm   rh   r3   r2   r4   r^   r   r&   rQ   s                 r,   r€   Úcmd_ntacl_get.run¾   s•   € ð ×#Ñ#Ó%ˆÜ)¨"Ó-ˆ
æ¦Ø §¡Ð(9Ó!:Ñ:‰IÞØˆIä�rØÜ*Ó,Ø$Ø Ø(1Ø&ñ(ˆö Ø�I‰I�O‰O˜CŸK™K¨
Ó3°dÑ:Õ;à�I‰I�O‰OœI c›NÕ+r‚   rƒ   )	FFFNNNNNN)r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r   r‘   r’   r€   r“   rƒ   r‚   r,   rž   rž   ¨   s½   † ÙØ'€Hð ×)Ñ)Ø×.Ñ.Ø×-Ñ-ñÐñ 	ˆ{Ð!@ÈÑVÙÐ  xÐ6]Ø  %Ð(ñ	*áˆ}Ð#UÐ\dÑeÙˆ}Ð#pð  zFñ  	GÙˆ|Ð"oð  yEñ  	FÙˆ{Ð!\ÐckÑlð€Mð �€Jà27Ø9=Ø7;Ø÷,r‚   rž   c                   óÚ   • \ rS rSrSrSrS\R                  0r\	" SSSS9\	" S	S
SS9\	" SSSS9\	" SSSS9\	" SSSSS/S9\	" SSSSS9\	" SSSS9\	" SSSSS9/r
/ SQr         S#S! jrS"rg )$Úcmd_ntacl_changedomsidé×   zChange the domain SID for ACLsz9%prog <Orig-Domain-SID> <New-Domain-SID> <file> [options]r2   rP   z#Name of the smb.conf service to userF   rG   rH   rI   r5   r6   rJ   rK   rD   rE   r<   r=   r>   r?   r@   rA   z-rrL   rM   rN   rO   r9   r:   r;   )Úold_domain_sidÚnew_domain_sidrR   Nc                 óÆ  ^ ^^^^^
^^^^^^^• T R                  5       nU	R                  5       m[        T5      mT(       d  U(       d  STR                  S5      ;   mO	U(       a  SmT(       d  T(       d  [	        S5      e [
        R                  " U5      m [
        R                  " U5      mUUUUUUU
U UUUU4S jmUU4S jnT" U5        T
(       a,  [        R                  R                  U5      (       a  U" U5        T(       a  UR                  S	5        g g ! [         a  n[	        SU< SU< 35      eS nAff = f! [         a  n[	        SU< SU< 35      eS nAff = f)
NrT   rU   Fz0Must provide a share name with --service=<share>zCould not parse old sid r`   c                 ó¸  >• T	(       dX  [         R                  R                  U 5      (       a4  T(       a  TR                  R	                  SU -  5        g [        SU -  5      eT(       a¤  [         R                  R                  U 5      (       a  TR                  R	                  SU -  5        Oa[         R                  R                  U 5      (       a  TR                  R	                  SU -  5        OTR                  R	                  SU -  5         [        T
U [        5       TTTTS9nUR                  T5      nT(       a  TR                  R	                  S	U-  5        UU4S
 jnU" UR                  5      Ul        U" UR                  5      Ul        UR                  (       a4  UR                  R                   H  nU" UR                  5      Ul        M     UR                   (       a4  UR                   R                   H  nU" UR                  5      Ul        M     UR                  T5      nT(       a  TR                  R	                  SU-  5        X6:X  a#  T(       a  TR                  R	                  S5        g [#        T
U UT[        5       TTTTS9	  g ! [         a  n[        SU < SU< 35      eS nAff = f! [         a  n[        SU < SU< 35      eS nAff = f)NrW   rX   rY   rZ   r[   r¡   zCould not get acl for r`   zbefore:
%s
c                 ón   >• U R                  5       u  pUT:X  a  [        R                  " STU4-  5      $ U $ )Nz%s-%i)Úsplitr   r%   )ÚsidÚdomÚridrª   r©   s      €€r,   Úreplace_domain_sidÚNcmd_ntacl_changedomsid.run.<locals>.changedom_sids.<locals>.replace_domain_sidM  s8   ø€ Ø ŸY™Y›[‘
�Ø˜.Ó(Ü#×+Ò+¨G°~ÀsÐ6KÑ,KÓLÐLØ�
r‚   z
after:
%s
znothing to do
Tr\   r_   )ra   rR   rb   rc   rd   r   re   r   r   r"   r¤   Ú	owner_sidÚ	group_sidÚsaclÚacesÚtrusteeÚdaclr
   )rg   rQ   r+   Ú	orig_sddlr²   ÚaceÚnew_sddlr&   rh   ri   r   rª   r©   rj   rk   r^   r]   rl   rm   s          €€€€€€€€€€€€r,   Úchangedom_sidsÚ2cmd_ntacl_changedomsid.run.<locals>.changedom_sids/  s/  ø€ Þ"¤r§w¡w§~¡~°e×'<Ñ'<ÞØ—I‘I—O‘OÐ$;¸eÑ$CÔDØÜ"Ð#LÐPUÑ#VÓWÐWæÜ—7‘7—>‘> %×(Ñ(Ø—I‘I—O‘O O°eÑ$;Õ<Ü—W‘W—]‘] 5×)Ñ)Ø—I‘I—O‘O K°%Ñ$7Õ8à—I‘I—O‘O L°5Ñ$8Ô9ð	PÜ˜rØ$Ü2Ó4Ø,Ø(Ø09Ø'.ñ0�ð Ÿ™ JÓ/ˆIÞØ—	‘	—‘ °)Ñ ;Ô<öñ /¨s¯}©}Ó=ˆCŒMÙ.¨s¯}©}Ó=ˆCŒMà�x�xØŸ8™8Ÿ=œ=�CÙ"4°S·[±[Ó"A�C–Kñ )à�x�xØŸ8™8Ÿ=œ=�CÙ"4°S·[±[Ó"A�C–Kñ )ð —{‘{ :Ó.ˆHÞØ—	‘	—‘ °Ñ 9Ô:àÓ$ÞØ—I‘I—O‘OÐ$5Ô6ØðPÜ˜ØØØ'Ü,Ó.Ø&Ø"Ø#,Ø!(ó*øôC ó PÝ"ÃUÊAÐ#NÓOÐOûðPûôT ó PÝ"ÃUÊAÐ#NÓOÐOûðPús0   ÄJ É8J7 Ê
J4ÊJ/Ê/J4Ê7
KËKËKc                 óü   >• [         R                  " U TS9 Hb  u  pnU H(  nT" [         R                  R                  X5      5        M*     U H(  nT" [         R                  R                  X5      5        M*     Md     g )Nrp   )ra   rv   rR   rw   )rg   r|   r}   r~   ÚfÚdr½   ri   s         €€r,   Úrecursive_changedom_sidsÚ<cmd_ntacl_changedomsid.run.<locals>.recursive_changedom_sidss  s^   ø€ Ü%'§W¢W¨UÀÔ%PÑ!�˜EÛ�AÙ"¤2§7¡7§<¡<°Ó#8Ö9ñ ó �AÙ"¤2§7¡7§<¡<°Ó#8Ö9ó ò	 &Qr‚   zQPlease note that POSIX permissions have NOT been changed, only the stored NT ACL.)rs   rt   r-   ru   r   r   r%   r"   ra   rR   re   rx   )rk   Úold_domain_sid_strÚnew_domain_sid_strrR   r]   ry   r^   rm   rh   r2   rj   ri   rl   r{   r+   rÂ   r½   r&   r   rª   r©   s   `   ` ``` ```   @@@@@r,   r€   Úcmd_ntacl_changedomsid.run	  s;  ÿü€ ð —‘Ó"ˆØ×#Ñ#Ó%ˆÜ)¨"Ó-ˆ
æ¦Ø §¡Ð(9Ó!:Ñ:‰IÞØˆIæ¦ÜØBóDð Dð	8Ü%×-Ò-Ð.@ÓAˆNð
	8Ü%×-Ò-Ð.@ÓAˆN÷
B	P÷ B	Pð B	PöH	:ñ 	�tÔÞœŸ™Ÿ™ t×,Ñ,Ù$ TÔ*æØ�N‰Nð >õ ?ð øôu ó 	8ÝÛ 2²Að 7ó 8ð 8ûð	8ûô ó 	8ÝÛ 2²Að 7ó 8ð 8ûð	8ús0   Á?D ÂD> Ä
D;Ä#D6Ä6D;Ä>
E ÅEÅE rƒ   )	FFNNNNFFF)r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŽ   r   r‘   r’   r€   r“   rƒ   r‚   r,   r§   r§   ×   sü   † Ù(ØJ€Hð 	�W×)Ñ)ðÐñ
 	ØØ6Øñ	ñ 	Øð&àñ		!ñ
 	Øð"àñ		!ñ
 	ØØCØñ	ñ 	ØØØ8Ø˜uÐ%ñ		'ñ
 	ØØØNØñ		!ñ
 	ØØ"Øñ	!ñ 	ØØØØñ		!ðC&€MòP >€Jð ØØØØØØØ!Ø÷x?r‚   r§   c                   ó’   • \ rS rSrSrSr\R                  \R                  \R                  S.r
\" SSSS9\" S	S
SS9/r  SS jrSrg)Úcmd_ntacl_sysvolreseti„  z?Reset sysvol ACLs to defaults (including correct ACLs on GPOs).r—   r1   rH   z/Set the ACLs for use with the ntvfs file serverr5   r6   rJ   z6Set the ACLs for use with the default s3fs file serverNc                 óÎ  • UR                  5       nUR                  U5      nUR                  [        5        U R	                  5       nUR                  SS5      n	 [        [        5       US9n
U(       d  U(       d  SUR                  S5      ;   nO	U(       a  Sn[        R                  " U
R                  5      n[        R                  " 5       nUR                  UR                   5        UR#                  SS	U
R$                  -  5        [        R                  " ['        U5      S
-   ['        [        R(                  5      -   5      n[        R                  " [        R*                  5      n[,        R.                  " UR                  S5      5      nUR1                  U5      u  nnU[2        R4                  :w  a"  U[2        R6                  :w  a  [        SU-  5      eUR1                  U5      u  nnU[2        R8                  :w  a"  U[2        R6                  :w  a  [        SU-  5      eU(       a  UR;                  S5         [<        R>                  " X©UUUUR                  S5      RA                  5       U
RC                  5       XaS9	  g ! [         a  n[        SU5      eS nAff = f! [D         a=  nURF                  (       d  e [        SURF                   SURH                   3U5      eS nAff = f)NrR   Úsysvolr   r   rT   rU   Fr   r   Ú-zSID %s is not mapped to a UIDzSID %s is not mapped to a GIDrr   Úrealm)r]   úCould not access r`   )%rt   Úget_credentialsÚset_kerberos_stater   rs   ru   r   r   r"   r   r   r%   r&   r   r   r    r!   r#   r$   rf   ÚDOMAIN_RID_ADMINISTRATORÚSID_BUILTIN_ADMINISTRATORSr   ÚPDBÚ	sid_to_idr   ÚID_TYPE_UIDÚID_TYPE_BOTHÚID_TYPE_GIDrx   r   ÚsetsysvolaclÚlowerÚ	domain_dnÚOSErrorÚfilenameÚstrerror)rk   r]   ry   r3   r2   r4   r   Úcredsr{   rÊ   r*   r+   r&   r)   ÚLA_sidÚBA_sidÚ	s4_passdbÚLA_uidÚLA_typeÚBA_gidÚBA_types                        r,   r€   Úcmd_ntacl_sysvolreset.run“  se  € à×#Ñ#Ó%ˆØ×(Ñ(¨Ó,ˆØ× Ñ Ô!2Ô3Ø—‘Ó"ˆà—‘˜ Ó)ˆð	;Ü¤~Ó'7Øñ!ˆEö
 ¦Ø §¡Ð(9Ó!:Ñ:‰IÞØˆIä×%Ò% e×&6Ñ&6Ó7ˆ
ä×$Ò$Ó&ˆØ�‰�B—M‘MÔ"à�
‰
Ð# _°u·y±yÑ%@ÔAä×!Ò!¤# j£/Ø$'ñ#(Ü*-¬h×.OÑ.OÓ*Pñ#Qó Rˆä×!Ò!¤(×"EÑ"EÓFˆä—J’J˜vŸz™zÐ*:Ó;Ó<ˆ	ð
 &×/Ñ/°Ó7Ñˆ�Ø”u×(Ñ(Ó(¨W¼×8JÑ8JÓ-JÜÐ>ÀÑGÓHÐHØ%×/Ñ/°Ó7Ñˆ�Ø”u×(Ñ(Ó(¨W¼×8JÑ8JÓ-JÜÐ>ÀÑGÓHÐHæØ�N‰NÐmÔnð	RÜ×"Ò" 5Ø#)¨6°:Ø#%§6¡6¨'£?×#8Ñ#8Ó#:¸E¿O¹OÓ<MØ#%ó<øôG ó 	;ÜÐ6¸Ó:Ð:ûð	;ûôN ó 	RØ—:—:ØÜÐ!2°1·:±:°,¸bÀÇÁÀÐMÈqÓQÐQûð	Rús1   ÁI? È9AJ É?
JÊ	JÊJÊ
K$Ê'8KËK$rƒ   )FFNNN)r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r   r‘   r€   r“   rƒ   r‚   r,   rÈ   rÈ   „  sb   † ÙIØ'€Hð ×)Ñ)Ø×.Ñ.Ø×-Ñ-ñÐñ 	ˆ}Ð#TÐ]iÑjÙˆ|Ð"ZÐcoÑpð€Mð
 -2Ø7;÷5Rr‚   rÈ   c                   ón   • \ rS rSrSrSr\R                  \R                  \R                  S.r
SS jrSrg)	Úcmd_ntacl_sysvolcheckiË  zBCheck sysvol ACLs match defaults (including correct ACLs on GPOs).r—   r1   Nc           	      ó|  • UR                  5       nUR                  U5      nUR                  [        5        UR	                  SS5      nUR	                  SS5      n [        [        5       US9n[        R                  " UR                  5      n
 [        R                  " X†UU
UR	                  S5      R                  5       UR                  5       U5        g ! [         a  n	[        SU	5      eS n	A	ff = f! [          a=  n	U	R"                  (       d  e [        SU	R"                   SU	R$                   3U	5      eS n	A	ff = f)	NrR   ÚnetlogonrÊ   r   r   rÌ   rÍ   r`   )rt   rÎ   rÏ   r   ru   r   r   r"   r   r   r%   r&   r   ÚchecksysvolaclrØ   rÙ   rÚ   rÛ   rÜ   )rk   r3   r2   r4   r   rÝ   ré   rÊ   r*   r+   r&   s              r,   r€   Úcmd_ntacl_sysvolcheck.runÕ  s  € Ø×#Ñ#Ó%ˆØ×(Ñ(¨Ó,ˆØ× Ñ Ô!2Ô3à—6‘6˜& *Ó-ˆØ—‘˜ Ó)ˆð	;Ü¤~Ó'7¸BÑ?ˆEô ×%Ò% e×&6Ñ&6Ó7ˆ
ð	RÜ×$Ò$ U°fØ%/Ø%'§V¡V¨G£_×%:Ñ%:Ó%<¸e¿o¹oÓ>OØ%'õ)øô ó 	;ÜÐ6¸Ó:Ð:ûð	;ûô ó 	RØ—:—:ØÜÐ!2°1·:±:°,¸bÀÇÁÀÐMÈqÓQÐQûð	Rús1   ÁC ÂAC4 Ã
C1Ã C,Ã,C1Ã4
D;Ã>8D6Ä6D;rƒ   rœ   )r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r€   r“   rƒ   r‚   r,   rç   rç   Ë  s5   † ÙLØ'€Hð ×)Ñ)Ø×.Ñ.Ø×-Ñ-ñÐ÷Rr‚   rç   c                   ó”   • \ rS rSrSr0 r\" 5       \S'   \" 5       \S'   \" 5       \S'   \	" 5       \S'   \
" 5       \S'   \" 5       \S'   S	rg
)Ú	cmd_ntacliî  zNT ACLs manipulation.r#   ru   ÚchangedomsidÚsysvolresetÚsysvolcheckr   rƒ   N)r„   r…   r†   r‡   rˆ   Úsubcommandsr/   rž   r§   rÈ   rç   r•   r“   rƒ   r‚   r,   rí   rí   î  sV   † Ùà€KÙ&›€K�ÑÙ&›€K�ÑÙ"8Ó":€K�ÑÙ!6Ó!8€K�ÑÙ!6Ó!8€K�ÑÙ /Ó 1€K�Ôr‚   rí   ))r�   ra   Úsamba.getoptÚgetoptrŠ   Úsambar   Ú
samba.authr   Úsamba.auth_utilr   Úsamba.credentialsr   Úsamba.dcerpcr   r   Ú	samba.ndrr	   Úsamba.ntaclsr
   r   r   Úsamba.samba3r   r   r   Úsamba.samdbr   Ú r   r   r   r   r-   r/   r•   rž   r§   rÈ   rç   rí   rƒ   r‚   r,   Ú<module>rþ      sž   ðó& Û 	å Ý Ý %Ý /Ý /ß (Ý ß 7Ñ 7ß 1Ý ç 9Ó 9òô<Mo�Gô Moô`0�gô 0ô,,,�Gô ,,ô^j?˜Wô j?ôZDR˜Gô DRôN R˜Gô  RôF	2�õ 	2r‚   