%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/samba/netcmd/domain/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/samba/netcmd/domain/__pycache__/provision.cpython-312.pyc

�

�I�dCC����ddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZddl
mZmZmZmZmZmZmZddlmZmZmZddlmZmZmZddlmZmZm Z dd	l!m"Z"dd
lm#Z#ddl$m%Z%m&Z&Gd
�de�Z'y)�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��eZdZdZdZejejd�Ze	ddd��e	dd	d
d��e	d
d	dd��e	dd	dd��e	dd	dd��e	dd	dd��e	dd	dd��e	dd	dd��e	dd	dd��e	d d	d!d"��e	d#d	d$d%��e	d&d	d$d'��e	d(d)d*gd+�d,d-�.�e	d/d	d$d0��e	d1d	d2d3��e	d4d	d2d5��e	d6d	d7d8��e	d9dd:�;�e	d<d)d=gd>�d?d@�.�e	dAd)dBgdC�dDdE�.�e	dFd)dGgdH�dIdJ�.�e	dKd)dLgdM�dNdO�.�e	dPdQdRdSdT�U�e	dVdWd��e	dXddY�;�gZ
e	dZd)gd[�d\d]d^�_�gZe
je
�ej�r"e
je�e
je�gZ																																				dcd`�Zda�Zdb�ZyO)d�cmd_domain_provisionzProvision a domain.z%prog [options])�	sambaopts�versionoptsz
--interactivez
Ask for names�
store_true)�help�actionz--domain�string�DOMAINzNetBIOS 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�	IPADDRESSzset IPv4 ipaddressz
--host-ip6�
IP6ADDRESSzset IPv6 ipaddressz--site�SITENAMEz
set site namez--adminpass�PASSWORDz(choose admin password (otherwise random)z--krbtgtpassz)choose krbtgt password (otherwise random)z
--dns-backend�choicezNAMESERVER-BACKEND)�SAMBA_INTERNAL�BIND9_FLATFILE�	BIND9_DLZ�NONEz�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$r%�choicesr �defaultz	--dnspassz&choose dns password (otherwise random)z--root�USERNAMEzchoose 'root' unix usernamez--nobodyzchoose 'nobody' userz--users�	GROUPNAMEzchoose 'users' groupz--blankz.do not add users or groups, just the structure)r!r z
--server-role�ROLE)�domain controller�dcz
member server�member�
standalonez^The server role (domain controller | dc | member server | member | standalone). Default is dc.r7z--function-levelz
FOR-FUN-LEVEL)�2000�2003�2008�2008_R2�2016z�The domain and forest function level (2000 | 2003 | 2008 | 2008_R2 - always native | 2016). Default is (Windows) 2008_R2 Native.r>z
--base-schemazBASE-SCHEMA)r>�2008_R2_old�2012�2012_R2r?�2019z8The base schema files to use. Default is (Windows) 2019.rCz--adprep-level�FUNCTION_LEVEL)�SKIPr>rArBr?zNThe 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%r3r 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)�yes�no�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 capabilitiesrJ)r$r2r%r r3c&	�
�|jd|��|_|j�}&|&j}'|�|}(n|j	�}(|(�d}(|j
sd}|�r0ddlm})ddl}*dUd�}+	|*j�jdd	�d	j�},|+d
|,�}-|-dvrtd��	|-jd�d},|+d
|,�}|�td��|+dd�}|+dd�}|dvrtd��|dk(r|+d|(�}|j�dvrd}(d}	|)d�}.|j|.�}/|/r|jj!d|/z�n,|)d�}0|.|0k(s|jj!d�n|.}n6�g|j"j%d�}-|-�td��|�td��|r|j|�}/|/r&t|/��|jj'd�	t)j*|�}1|�|"dvrd}n|"d vrd!}n	|"d"vrd#}nd$}|dk(rd}2n/|d%k(rt.}2n#|d!k(rt0}2n|d#k(rt2}2n|d$k(rt4}2|dk(r|�|(}t6}3|rt8}3n|rt:}3|�4t<j>jA|�st=jB|�d}4|d&k(rd'}4�n
|d(k(r| sd'}4�n| std)��|d(k(r�|&j%d*�s�|r4tEjFt<j>jI|��+�}5n_tEjFt<j>jIt<j>jK|&j%d,����+�}5		tLjNjQ|&|5jRd-d.tU�d/�d'}4|5jY�|4r|jj'd1�|�t[j\|�}t_�}6|$�
ta�}$	tc|j|6fid2|'�d3|�d4|3�d|-�d5|�d6|�d7|�d8|	�d9|
�d:|�d;|
�d<|�d=|�d>|�d?|�d@|�dA|�dB|�dC|�dD|�dE|�dF|�dG|�dH|1�dI|4�dJ|�dK|&�dL| �dM|!�dNd'�dO|"�dP2�dQ|#�dR|$�dS|%��}7|7jg|j�y#t$rd},Y��'wxYw#t$rd},Y��wxYw#t,$rtd|�d���wxYw#tV$r|jj'd0�Y��\wxYw#|5jY�wxYw#td$r}8tdT|8��d}8~8wwxYw)VNr)�name�quiet�noneTr)�getpassc���|�t|�d|�d�d��nt|�d�d��tjj�tjj�j
d�xs|S)Nz [z]: � )�endz: �
)�print�sys�stdout�flush�stdin�readline�rstrip)�promptr3s  �?/usr/lib/python3/dist-packages/samba/netcmd/domain/provision.py�askz%cmd_domain_provision.run.<locals>.ask�sW���&����9�s�C��F�,�#�6��
�
� � �"��y�y�)�)�+�2�2�4�8�C�G�C��.r�Realm)N�z
No realm set!�DomainzNo domain set!z$Server Role (dc, member, standalone)r8z=DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE)r.zNo DNS backend set!z=DNS forwarder IP address (write 'none' to disable forwarding))NrNzAdministrator password: z%s.
zRetype password: zSorry, passwords do not match.
�realmz,Administrator password will be set randomly!�'z' is not a valid domain level)r>r@rE)rArA)rBrBr?�2008R2rHFrJzr--use-xattrs=no requires --use-ntvfs (not supported for production use).  Please re-run with --use-xattrs omitted.z
posix:eadb)�dirzprivate dirzO:S-1-5-32G:S-1-5-32zS-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_sizezProvision failed)N)4�
get_logger�logger�get_loadparm�
configfile�_get_nameserver_ip�raw_argvrO�socket�getfqdn�split�upper�
IndexErrorr�lower�_adminpass_issue�errf�write�_lp�get�infor�string_to_level�KeyErrorr	r
rrrrr�os�path�isdir�makedirs�tempfile�NamedTemporaryFile�abspath�dirname�samba�ntacls�setntaclrLr�	Exception�closer�dom_sidrrrr�
report_logger)9�selfrr�interactiverk�domain_guid�
domain_sid�	ntds_guidrs�	host_name�host_ip�host_ip6rt�siterurvrwrxry�
ldapadminpassrzr{r|rM�blank�server_role�function_levelr�r��partitions_onlyri�
use_xattrsr�r�r�r�r�r�r�rh�suggested_forwarderrOr�r]r3rc�adminpassplain�issue�adminpassverifyr~�provision_adprep_levelrj�eadb�file�session�result�es9                                                         r\�runzcmd_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�BL�F�)2�	F�
'.�F�
8@�F�)-�
F�8A�
F�-9�F�EN�F�+5�F�CN�F�,7�F�GT�F�(/�F�6:�F�CI�F�&+�F�+6�F�J[�F�(,�F�7?�F�DF�F�R[�F�,7�F�HM�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�.1R8�8S
�S�8S8�A>T8�8S�S�
S�S�S5�8$T �T#�T � T#�#T5�8	U�U
�
Uc���ddlm}d}|j|�s|jj	d|z�yd}	t|d�}|D]I}|j
d�s�|j�j�dc|�|j�SS	|�|j�	|jj	d	|z�y#|�|j�wwxYw)
z5Grab the nameserver IP address from /etc/resolv.conf.r)r�z/etc/resolv.confzFailed to locate %sN�r�
nameserver���zNo nameserver found in %s)
r�r��isfiler��warning�open�
startswith�stripr�r�)r�r��RESOLV_CONF�handle�lines     r\r�z'cmd_domain_provision._get_nameserver_ipqs����(���{�{�;�'��K�K��� 5�� C�D����		��+�s�+�F��
0�����|�4���z�z�|�)�)�+�B�/�/��!�����"�

0��!����������7�+�E�F���!�����"�s�AC	�C	�	Cc��t|t�r|jd�}t|�tkr	dtzStj|�syy)zTReturns 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�lenrr��check_password_quality)r�rts  r\r�z%cmd_domain_provision._adminpass_issue�sW���i��'�!�(�(��0�I��y�>�2�2�?�(�)�
)��-�-�i�8�%�r^)%NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNrJFNNFNN)�__name__�
__module__�__qualname__�__doc__�synopsis�options�SambaOptions�VersionOptions�takes_optiongroupsr�
takes_options�
ntvfs_options�extendrr��is_ntvfs_fileserver_builtr�
takes_argsr�r�r��r^r\rr4s���� �H��)�)��-�-���	��_�\�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�&�u�&�&�(����1�2����]�+��J�.2��������������������������� ������#��#�G`*�DG�.
r^r)(r�rUr�r��samba.getopt�getoptr��
samba.authr�samba.auth_utilr�samba.dcerpcr�
samba.dsdbrrrr	r
rr�samba.netcmdr
rr�samba.provisionrrr�samba.provision.commonrrr�samba.samdbrr�commonrrrr�r^r\�<module>r�sY��2
�
����%�/�!����7�6�P�P�D�D�1�"�G�a�7�ar^

Zerion Mini Shell 1.0