+
    4SsiCC  ã                   óô   € ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHtHtHtHtHtHtHt ^ RIHtHtHt ^ RIHtHtHt ^ RIHtHtH t  ^ R	I!H"t" ^ R
IH#t# ^RI$H%t%H&t&  ! R R]4      t'R# )é    N)Úsystem_session)Úsystem_session_unix)Úsecurity)ÚDS_DOMAIN_FUNCTION_2000ÚDS_DOMAIN_FUNCTION_2003ÚDS_DOMAIN_FUNCTION_2008ÚDS_DOMAIN_FUNCTION_2008_R2ÚDS_DOMAIN_FUNCTION_2012ÚDS_DOMAIN_FUNCTION_2012_R2ÚDS_DOMAIN_FUNCTION_2016)ÚCommandÚCommandErrorÚOption)ÚDEFAULT_MIN_PWD_LENGTHÚProvisioningErrorÚ	provision)ÚFILL_DRSÚ	FILL_FULLÚFILL_NT4SYNC)Úget_default_backend_store)Úfunctional_level)Úcommon_ntvfs_optionsÚcommon_provision_join_optionsc            %       óÂ  a € ] tR t^4t o RtRtR]P                  R]P                  /t	]
! RRRR7      ]
! R	R
RRR7      ]
! RR
RRR7      ]
! RR
RRR7      ]
! RR
RRR7      ]
! RR
RRR7      ]
! RR
RRR7      ]
! RR
RRR7      ]
! RR
RR R7      ]
! R!R
R"R#R7      ]
! R$R
R%R&R7      ]
! R'R
R%R(R7      ]
! R)R*R+. R`OR-R,R.7      ]
! R/R
R%R0R7      ]
! R1R
R2R3R7      ]
! R4R
R2R5R7      ]
! R6R
R7R8R7      ]
! R9RR:R;7      ]
! R<R*R=. RaOR?R>R.7      ]
! R@R*RA. RbORCRBR.7      ]
! RDR*RE. RcORGRFR.7      ]
! RHR*RI. RdORJRKR.7      ]
! RLRMRNRORPRQ7      ]
! RRRSRR7      ]
! RTRRUR;7      .t]
! RVR*. ReORXRYRWRZ7      .t]P                  ]4       ]P                   ! 4       '       d#   ]P                  ]4       ]P                  ]4       . tRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRKRWR[RKRKR[RKRK3%R\ ltR] tR^ tR_tV tRK# )fÚcmd_domain_provisionzProvision a domain.z%prog [options]Ú	sambaoptsÚversionoptsz--interactivezAsk for namesÚ
store_true)ÚhelpÚactionz--domainÚstringÚDOMAINzNetBIOS domain name to use)ÚtypeÚmetavarr   z--domain-guidÚGUIDz!set domainguid (otherwise random)z--domain-sidÚSIDz set domainsid (otherwise random)z--ntds-guidz'set NTDS object GUID (otherwise random)z--invocationidz#set invocationid (otherwise random)z--host-nameÚHOSTNAMEzset hostnamez	--host-ipÚ	IPADDRESSzset IPv4 ipaddressz
--host-ip6Ú
IP6ADDRESSzset IPv6 ipaddressz--siteÚSITENAMEzset site namez--adminpassÚPASSWORDz(choose admin password (otherwise random)z--krbtgtpassz)choose krbtgt password (otherwise random)z--dns-backendÚchoicezNAMESERVER-BACKENDÚSAMBA_INTERNALz÷The DNS server backend. SAMBA_INTERNAL is the builtin name server (default), BIND9_FLATFILE uses bind9 text database to store zone information, BIND9_DLZ uses samba4 AD to store zone information, NONE skips the DNS setup entirely (not recommended))r#   r$   Úchoicesr   Údefaultz	--dnspassz&choose dns password (otherwise random)z--rootÚUSERNAMEzchoose 'root' unix usernamez--nobodyzchoose 'nobody' userz--usersÚ	GROUPNAMEzchoose 'users' groupz--blankz.do not add users or groups, just the structure)r    r   z--server-roleÚROLEúdomain controllerz^The server role (domain controller | dc | member server | member | standalone). Default is dc.z--function-levelzFOR-FUN-LEVELÚ2008_R2z€The domain and forest function level (2000 | 2003 | 2008 | 2008_R2 - always native | 2016). Default is (Windows) 2008_R2 Native.z--base-schemazBASE-SCHEMAÚ2019z8The base schema files to use. Default is (Windows) 2019.z--adprep-levelÚFUNCTION_LEVELzNThe highest functional level to prepare for. Default is based on --base-schemaNz
--next-ridÚintÚNEXTRIDiè  zGThe initial nextRid value (only needed for upgrades).  Default is 1000.)r#   r$   r/   r   z--partitions-onlyzEConfigure Samba's partitions, but do not modify them (ie, join a BDC)z--use-rfc2307z/Use AD to store posix attributes (default = no)z--use-xattrsÚautoz[yes|no|auto]zÕDefine if we should use the native fs capabilities or a tdb file for storing attributes likes ntacl when --use-ntvfs is set. auto tries to make an intelligent guess based on the user rights and system capabilities)r#   r.   r$   r   r/   Fc&           	     óü  € V P                  R VR7      V n        VP                  4       p&V&P                  p'Ve   Tp(MV P	                  4       p(V(f   Rp(V P
                  '       g   RpV'       EdT   ^ RIHp) ^ RIp*RNR lp+ V*P                  4       P                  R^4      ^,          P                  4       p,V+! RV,4      p-V-RO9   d   \        R	4      h V-P                  R4      ^ ,          p,V+! R
V,4      pVf   \        R4      hV+! RR4      pV+! RR4      pVRO9   d   \        R4      hVR8X  d#   V+! RV(4      pVP                  4       RP9   d   Rp(Rp V)! R4      p.V P                  V.4      p/V/'       d%   V P                  P!                  RV/,          4       KF  V)! R4      p0V.V08X  g   V P                  P!                  R4       Kr  T.pM9VP"                  P%                  R4      p-V-f   \        R	4      hVf   \        R4      hV'       d&   V P                  V4      p/V/'       d   \        V/4      hMV P                  P'                  R4        \(        P*                  ! V4      p1Tf!   T"RQ9   d   RpMT"RR9   d   RpMT"RS9   d   RpMRpTR8X  d   Rp2M7TR8X  d   \.        p2M)TR8X  d   \0        p2MTR8X  d   \2        p2MTR8X  d   \4        p2TR8X  d   Tf   T(p\6        p3T'       d   \8        p3MT'       d   \:        p3Te<   \<        P>                  PA                  T4      '       g   \<        PB                  ! T4       Rp4TR8X  d   R p4EM+TR!8X  d   T '       g   R p4EMT '       g   \        R"4      hTR!8X  dÿ   T&P%                  R#4      '       gè   T'       d6   \D        PF                  ! \<        P>                  PI                  T4      R$7      p5M`\D        PF                  ! \<        P>                  PI                  \<        P>                  PK                  T&P%                  R%4      4      4      R$7      p5  \L        PN                  PQ                  T&T5PR                  R&R'\U        4       R(4       R p4T5PY                  4        T4'       d   T P                  P'                  R*4       Te   \Z        P\                  ! T4      p\_        4       p6T$f   \a        4       p$ \c        T P                  T63/ R+T'bR,TbR-T3bRT-bR.TbR/TbR0TbR1T	bR2T
bR3TbR4TbR5TbR6TbR7TbR8TbR9TbR:TbR;TbR<TbR=TbR>TbR?TbR@TbRAT1bRBT4bRCTbRDT&bRET bRFT!bRGR bRHT"bRIX2bRJT#bRKT$bRLT%b p7T7Pg                  T P                  4       R#   \         d    Rp, EL³i ; i  \         d    Rp, EL“i ; i  \,         d    \        RT R24      hi ; i  \V         d     T P                  P'                  R)4        ELpi ; i  T5PY                  4        i ; i  \d         d   p8\        RMT84      hRp8?8ii ; i)Tr   )ÚnameÚquietNÚnoneT)Úgetpassc                 ó  € Ve   \        V : RV: R2RR7       M\        V : R2RR7       \        P                  P                  4        \        P                  P                  4       P                  R4      ;'       g    T# )Nz [z]: Ú )Úendz: Ú
)ÚprintÚsysÚstdoutÚflushÚstdinÚreadlineÚrstrip)Úpromptr/   s   &&Ú?/usr/lib/python3/dist-packages/samba/netcmd/domain/provision.pyÚaskÚ%cmd_domain_provision.run.<locals>.askÇ   sZ   € ØÒ&Ü«³Ð9¸sÖCä£FÐ,°#Õ6Ü—
‘
× Ñ Ô"Ü—y‘y×)Ñ)Ó+×2Ñ2°4Ó8×CÐC¸GÐCó    Ú.ÚRealmzNo realm set!ÚDomainzNo domain set!z$Server Role (dc, member, standalone)Údcz=DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE)r-   zNo DNS backend set!z=DNS forwarder IP address (write 'none' to disable forwarding)zAdministrator password: z%s.
zRetype password: zSorry, passwords do not match.
Úrealmz,Administrator password will be set randomly!Ú'z' is not a valid domain levelÚSKIPÚ2012Ú2012_R2Ú2016Ú2008R2ÚyesFr9   zr--use-xattrs=no requires --use-ntvfs (not supported for production use).  Please re-run with --use-xattrs omitted.z
posix:eadb)Údirzprivate dirzO:S-1-5-32G:S-1-5-32zS-1-5-32ÚnativezZYou are not root or your system does not support xattr, using tdb backend for attributes. zªnot using extended attributes to store ACLs and other metadata. If you intend to use this provision in production, rerun the script as root on a system supporting xattrs.ÚsmbconfÚ	targetdirÚ
samdb_fillÚdomainÚ
domainguidÚ	domainsidÚhostnameÚhostipÚhostip6ÚsitenameÚntdsguidÚinvocationidÚ	adminpassÚ
krbtgtpassÚmachinepassÚdns_backendÚdns_forwarderÚdnspassÚrootÚnobodyÚusersÚ
serverroleÚdom_for_fun_levelÚuseeadbÚnext_ridÚlpÚ	use_ntvfsÚuse_rfc2307Úskip_sysvolaclÚbase_schemaÚadprep_levelÚplaintext_secretsÚbackend_storeÚbackend_store_sizezProvision failed)N)NÚ )Nr=   )r4   Ú2008_R2_old)rV   )rW   )4Ú
get_loggerÚloggerÚget_loadparmÚ
configfileÚ_get_nameserver_ipÚraw_argvr>   ÚsocketÚgetfqdnÚsplitÚupperÚ
IndexErrorr   ÚlowerÚ_adminpass_issueÚerrfÚwriteÚ_lpÚgetÚinfor   Ústring_to_levelÚKeyErrorr	   r
   r   r   r   r   r   ÚosÚpathÚisdirÚmakedirsÚtempfileÚNamedTemporaryFileÚabspathÚdirnameÚsambaÚntaclsÚsetntaclr;   r   Ú	ExceptionÚcloser   Údom_sidr   r   r   r   Úreport_logger)9Úselfr   r   Úinteractiver`   Údomain_guidÚ
domain_sidÚ	ntds_guidrh   Ú	host_nameÚhost_ipÚhost_ip6ri   Úsiterj   rk   rl   rm   rn   Úldapadminpassro   rp   rq   r<   ÚblankÚserver_roleÚfunction_levelr{   ru   Úpartitions_onlyr^   Ú
use_xattrsrw   rx   rz   r|   r}   r~   rv   r]   Úsuggested_forwarderr>   r‡   rL   r/   rS   ÚadminpassplainÚissueÚadminpassverifyrs   Úprovision_adprep_levelr_   ÚeadbÚfileÚsessionÚresultÚes9   &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&                   rK   ÚrunÚcmd_domain_provision.run�   s®  € ðJ —o‘o¨;¸e�oÓDˆŒà×#Ñ#Ó%ˆØ—-‘-ˆàÒ$Ø"/Ñà"&×"9Ñ"9Ó";ÐØ"Ò*Ø&,Ð#à�}�}ˆ}ØˆKçˆ;Ý'ÛôDðØ Ÿ.™.Ó*×0Ñ0°°aÓ8¸Õ;×AÑAÓC�ñ ˜ Ó)ˆEØ˜
Ô"Ü" ?Ó3Ð3ðØŸ+™+ cÓ*¨1Õ-�ñ ˜ 7Ó+ˆFØŠ~Ü"Ð#3Ó4Ð4áÐDÀdÓKˆKáÐ]Ð_oÓpˆKØ˜jÔ(Ü"Ð#8Ó9Ð9àÐ.Ô.Ù #Ð$cÐexÓ y�Ø ×&Ñ&Ó(¨NÔ:Ø*.Ð'Ø$(�MàÙ!(Ð)CÓ!D�Ø×-Ñ-¨nÓ=�ßØ—I‘I—O‘O G¨e¥OÖ4á&-Ð.AÓ&B�OØ)¨_Ô<ØŸ	™	Ÿ™Ð(JÖKà$2˜	Øð —M‘M×%Ñ% gÓ.ˆEØŠ}Ü" ?Ó3Ð3ØŠ~Ü"Ð#3Ó4Ð4çØ×)Ñ)¨)Ó4ˆEßÜ" 5Ó)Ð)ð ð �K‰K×ÑÐKÔLð	RÜ 0× @Ò @ÀÓ PÐð Òð Ð8Ô8ð  &‘Ø Ô(Ø%‘Ø Ô+Ø(‘à%�à˜6Ô!Ø%)Ñ"Ø˜XÔ%Ü%?Ñ"Ø˜VÔ#Ü%<Ñ"Ø˜YÔ&Ü%?Ñ"Ø˜VÔ#Ü%<Ð"àÐ*Ô*¨}Ò/DØ/ˆMäˆ
ßÜ%‰JßÜ!ˆJàÒ Ü—7‘7—=‘= ×+Ò+Ü—’˜IÔ&àˆà˜ÔØŠDØ˜6Ô!¯)ØŠDßÜð  Jó Kð Kà˜6Ô!¨"¯&©&°×*>Ò*>ßÜ×2Ò2´r·w±w·±ÀyÓ7QÔR‘ä×2Ò2´r·w±w·±ÄrÇwÁwÇÁÐWY×W]ÑW]Ð^kÓWlÓGmÓ7nÔo�ððCÜ—L‘L×)Ñ)¨"¨d¯i©iØ*@Ø*4Ü*=Ó*?Ø*2ô	4ð
 !�Dð —
‘
”çØ�K‰K×Ñð  Jô  KàÒ!Ü!×)Ò)¨*Ó5ˆJä Ó"ˆØÒ Ü5Ó7ˆMð	6Ü˜tŸ{™{Ø&òFÙ07ðFÙCLðFá*4ðFá<AðFáJPðFñ +6ðFñ BLðFñ )2ð	Fñ
 '.ðFñ
 8@ðFñ )-ðFñ 8AðFñ -9ðFñ ENðFñ +5ðFñ CNðFñ ,7ðFñ GTðFñ (/ðFñ 6:ðFñ CIðFñ &+ðFñ +6ðFñ J[ðFñ (,ðFñ 7?ðFñ DFðFñ R[ðFñ ,7ðFñ HMðFñ ,7ðFñ  -Cð!Fñ" 2Cð#Fñ$ .;ð%Fñ& 3Eð'FˆFð0 	×Ñ˜TŸ[™[Ö)øô} ô Ø“ðûô ô Ø“ðûô^ ô 	RÜ  >Ð"2Ð2OÐPÓQÐQð	Rûô@ !ô CØ—K‘K×$Ñ$ð  &B÷  CðCûð —
‘
•ûôB !ô 	6ÜÐ1°1Ó5Ð5ûð	6úsm   Á?5U ÃU+ ÉU? Ð8V Ò<A>W ÕU(Õ'U(Õ+U<Õ;U<Õ?VÖ&W×W
 ×W×W
 ×
W×W;×*W6×6W;c                ó  € ^ RI Hp RpVP                  V4      '       g%   V P                  P	                  RV,          4       R# Rp \        VR4      pV FV  pVP                  R4      '       g   K  VP                  4       P                  4       R,          u Ve   VP                  4        # # 	  Ve   VP                  4        T P                  P	                  RT,          4       R#   Te   TP                  4        i i ; i)	z5Grab the nameserver IP address from /etc/resolv.conf.)r–   z/etc/resolv.confzFailed to locate %sNÚrÚ
nameserverzNo nameserver found in %séÿÿÿÿ)
r•   r–   Úisfiler‚   ÚwarningÚopenÚ
startswithÚstripr‰   r¡   )r¤   r–   ÚRESOLV_CONFÚhandleÚlines   &    rK   r…   Ú'cmd_domain_provision._get_nameserver_ipq  sÕ   € åØ(ˆà�{‰{˜;×'Ò'Ø�K‰K×ÑÐ 5¸Õ CÔDÙàˆð		Ü˜+ sÓ+ˆFÛ�Ø—‘ |×4Ò4Ùà—z‘z“|×)Ñ)Ó+¨BÕ/Ñ/àÒ!Ø—‘•ð "ñ ð Ò!Ø—‘”à�‰×ÑÐ7¸+ÕEÖFøð Ò!Ø—‘•ð "ús   ÁAC' Â-C' Ã'C>c                óÒ   € \        V\        4      '       d   VP                  R4      p\        V4      \        8  d   R\        ,          # \
        P                  ! V4      '       g   R# R# )zLReturns error string for a bad administrator password,
or None if acceptableÚutf8zdAdministrator password does not meet the default minimum password length requirement (%d characters)zBAdministrator password does not meet the default quality standardsN)Ú
isinstanceÚbytesÚdecodeÚlenr   r�   Úcheck_password_quality)r¤   ri   s   &&rK   r�   Ú%cmd_domain_provision._adminpass_issueˆ  s]   € ô �i¤×'Ò'Ø!×(Ñ(¨Ó0ˆIÜˆy‹>Ô2Ô2ð?ä(õ)ð )ô ×-Ò-¨i×8Ò8ñ%ñ rN   )r‚   )r-   ÚBIND9_FLATFILEÚ	BIND9_DLZÚNONE)r3   rR   zmember serverÚmemberÚ
standalone)Ú2000Ú2003Ú2008r4   rX   )r4   r€   rV   rW   rX   r5   )rU   r4   rV   rW   rX   )rZ   Únor9   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚsynopsisÚoptionsÚSambaOptionsÚVersionOptionsÚtakes_optiongroupsr   Útakes_optionsÚntvfs_optionsÚextendr   r�   Úis_ntvfs_fileserver_builtr   Ú
takes_argsr½   r…   r�   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @rK   r   r   4   s   ø‡ € Ùà €Hð 	�W×)Ñ)Ø�w×-Ñ-ðÐñ 	ˆ _¸\ÔJÙˆz °(Ø0ô	2áˆ X°vØ7ô	9áˆ~ H°eØ6ô	8áˆ} 8°VØ=ô	?áÐ h¸Ø9ô	;áˆ} 8°ZØ"ô	$áˆ{ °;Ø(ô	*áˆ| (°LØ(ô	*áˆx˜h°
Ø#ô	%áˆ} 8°ZØ>ô	@áˆ~ H°jØ?ô	Aáˆ XÐ7KÚPðEð (ô	)ñ 	ˆ{ °:Ø<ô	>áˆx˜h°
Ø1ô	3áˆz °*Ø*ô	,áˆy˜x°Ø*ô	,áˆy ØDô	Fáˆ X°vÚ[ØtØ*ô	,ñ 	Ð!¨¸/ÚBð WØ ô	"ñ 	ˆ X°}ÚTØNØô	ñ 	Ð hÐ8HÚEØdØô	ñ 	ˆ| %°ÀDØ]ô	_áÐ"Ø[Ðdpô	ráˆ |Ð:kÔlð{>€MñB 	ˆ~ HÒ6KØ&ðjð ô	ð€Mð ×ÑÐ6Ô7à×&Ò&×(Ò(Ø×ÑÐ1Ô2Ø×Ñ˜]Ô+à€Jà ¨dØØØØØØØØØØØØØØØØØØØØØØØØØØØ ØØØØØØ#ØØ#ôG`*òDG÷.ð rN   r   )(r•   rD   r™   r�   Úsamba.getoptÚgetoptrã   Ú
samba.authr   Úsamba.auth_utilr   Úsamba.dcerpcr   Ú
samba.dsdbr   r   r   r	   r
   r   r   Úsamba.netcmdr   r   r   Úsamba.provisionr   r   r   Úsamba.provision.commonr   r   r   Úsamba.samdbr   r   Úcommonr   r   r   © rN   rK   Ú<module>rû      sY   ðó2 
Û 
Û ã Ý Ý %Ý /Ý !÷÷ ñ ÷ 7Ñ 6ß PÑ Pß DÑ DÝ 1Ý "ç Gôa˜7ö arN   