HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/ipaclient/install/__pycache__/ipa_client_automount.cpython-36.pyc
3

�d[eM@�@sjddlmZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlm
Z
ddlmZddlmZddlmZmZddlmZmZdd	lmZdd
lmZddlmZddlmZdd
lm Z ddl!m"Z"ddl#m$Z$ddl%m&Z&ddl'm(Z(ddl)m*Z*ej+ej,j-e.��Z/dd�Z0dd�Z1dd�Z2dd�Z3dd�Z4dd�Z5dd �Z6d!d"�Z7dS)#�)�print_functionN)�urlsplit)�OptionParser)�
ipachangeconf)�ipadiscovery)�CLIENT_NOT_CONFIGURED�CLIENT_ALREADY_CONFIGURED)�api�errors)�
sysrestore)�kinit_keytab)�check_client_configuration)�ipautil)�standard_logging_setup)�	constants)�tasks)�services)�paths)�ScriptErrorcCs�d}t|d�}|jdddd�|jddd	d
d�|jdd
ddd�|jddddddd�|jddddddd�|jdddddd�|j�\}}||fS)Nz%prog [options]
)�usagez--server�serverzFQDN of IPA server)�dest�helpz
--location�location�defaultzAutomount location)rrrz--idmap-domain�idmapdomainznfs domain for idmapd.confz-dz--debug�debug�
store_trueFzenable debugging)r�actionrrz-Uz--unattended�
unattendedz.unattended installation never prompts the userz--uninstall�	uninstallzUnconfigure automount)rZ
add_option�
parse_args)r�parser�options�args�r%�*/usr/lib/python3.6/ipa_client_automount.py�
parse_options<sF
r'cCs�d}d}tjd�x\|dkrn|rny"tjtjddtjjg�d}Wqt	k
rjtjd�|d}YqXqW|s�dtjj}t
jd	|�t|�td
�dS)z{
    It takes a bit for sssd to get going, lets loop until it is
    serving data.

    This function returns nothing.
    rF��
Zpasswdzadmin@%sTz:Unable to find 'admin' user with 'getent passwd admin@%s'!z%szQThis may mean that sssd didn't re-start properly after the configuration changes.N)
�timeZsleeprZrunrZGETENTr	�env�realm�	Exception�loggerr�print)�n�foundZerr_msgr%r%r&�
wait_for_sssdhs"


r2c*Cs�ytj�}|j�|j�}Wn,tk
rH}ztj|�WYdd}~XnXy|jd�WnRtjk
rnYn>tjk
r�t	j
d�t	jd�t	jd�tjd�YnX|jd�d}x�|D]�}|j
|�}y|jd�}	Wntjk
r�w�YnX|	dkr�|jdd�y |jd�td	�tjt�Wq�tjk
�rR|jd|j�PYq�Xq�W|dk�rltjd
�|j|�|jtj�|jddd�tjdt�}
|
j�td
�t�dS)N�autofsz5Unable to activate the Autofs service in SSSD config.zCPlease make sure you have SSSD built with autofs support installed.z9Configure autofs support manually in /etc/sssd/sssd.conf.z-Cannot create the autofs service in sssd.conf�id_provider�ipa�ipa_automount_locationz+An automount location is already configuredzSSSD is not configured.�sssdTz4Restarting sssd, waiting for it to become available.)�
SSSDConfig�
import_config�list_active_domainsr-�sys�exitZnew_serviceZServiceAlreadyExistsZServiceNotRecognizedErrorr.�error�infoZactivate_service�
get_domain�
get_option�
NoOptionErrorZadd_providerr/rZ
set_optionr�save_domain�writer�	SSSD_CONF�backup_stater�servicer	�restartr2)�fstore�
statestore�autodiscoverr#�
sssdconfig�domains�e�domain�name�providerr7r%r%r&�configure_autofs_sssd�sV







rQcCs�tjj}|jdd|j��|jdd|j��y|j�td|j�Wn2t	k
rx}zt
jd|j|�WYdd}~XnXy|j�WnDt	k
r�}z(td|j�t
jd|jt
|��WYdd}~XnXdS)Nr3�enabled�runningz
Started %sz%s failed to restart: %sz6Failed to configure automatic startup of the %s daemonz7Failed to enable automatic startup of the %s daemon: %s)r�
knownservicesr3rEZ
is_enabledZ
is_runningrGr/Zservice_namer-r.r=�enable�str)rHrIr#r3rMr%r%r&�configure_autofs_common�s$"
rWcs�tjtjtjg}dddg}�jdd�s0tj��t�fdd�|D��s`t�fdd�|D��rltd�t	Std	�x |D]}�j
|�rz�j|�qzW�jd��r��j
dd
�}�j
dd�}�j
dd�}tjj}|s�|j�|s�|j�|�r�y�tj�}	|	j�|	jd�|	j�}
xx|
D]p}|	j|�}y|jd�}
Wntjk
�rN�wYnX|
d
k�r|jd�|	j|�|jd�|	j|�P�qW|	jtj�tjdt �}|j!�t"�WnDt#k
�r�}z&tdt$|��t%j&dt$|��WYdd}~XnX�jd��r�j'dd
��j'dd��jd��r@�j'dd
��j'dd�tjd}y|j!�Wn2t#k
�r�}zt%j(dt$|��dSd}~XnXdS)Nr3Z	rpcidmapd�rpcgssdr7c3s|]}�j|�VqdS)N)�has_file)�.0�f)rHr%r&�	<genexpr>�szuninstall.<locals>.<genexpr>c3s|]}�j|�VqdS)N)�	has_state)rZ�s)rIr%r&r\�sz.IPA automount is not configured on this systemzRestoring configurationrRrSr4r5r6z(Unable to restore SSSD configuration: %sz	nfs-utilsz*Failed to restart nfs client services (%s)r(r))rZSYSCONFIG_AUTOFS�
SYSCONFIG_NFS�IDMAPD_CONFZ	get_staterZdisable_ldap_automount�anyr/rrYZrestore_filer]Z
restore_staterrTr3�disable�stopr8r9Zdeactivate_servicer:r?r@rAZ
remove_optionrBZremove_providerrCrDrFr	rGr2r-rVr.rZdelete_stater=)rHrIZ
RESTORE_FILESZSTATES�filepathrRrSr7r3rKrLrOrNrPrM�nfsutilsr%)rHrIr&r �s|














r c
Cs�tjr<tjdi}tj|tj|d�tjtj�tdtj�t	j
d�}d|_|jd�|j
d�|jd	kr~|jd
tjj�g}n(|jdkr�|jd
�g}n|jd
|j�g}|d	k	r�|jd|�g}|jtj�|jtj|�tjtj�tdtj�tjj}y|j�Wn4tk
�r8}ztjd
t|��WYd	d	}~XnXtjd}	y|	j�Wn4tk
�r�}ztjdt|��WYd	d	}~XnXd	S)z
    Configure secure NFS
    �yes)�replacevarsz
Configured %szIPA automount installerFz = �[�]NZDomainZDNSZGeneralzFailed to restart rpc-gssd (%s)z	nfs-utilsz*Failed to restart nfs client services (%s))rhri) rZSECURE_NFS_VARrZ#backup_config_and_replace_variablesrr_rZrestore_contextr/rZ
IPAChangeConfZcase_insensitive_sectionsZsetOptionAssignmentZsetSectionNameDelimitersrZ	setOptionr	r+rNZrmOptionZ
setSectionZbackup_filer`Z
changeConfrrTrXrGr-r.r=rV)
rHrIr#rgZconfZchangesZsection_with_changesrXrMrer%r%r&�
configure_nfs"s>





"
rjcNCs�y
t�Wn8tk
rB}zt|j�tj|j�WYdd}~XnXtjt	j
�}tjt	j
�}t�\}}t
t	jd|jddd�tdt	jd|jdd�}tjf|�|jr�t||�Sd}tjjt	j�r�t	j}|jd�r�td	�tjt�d}tj�}|j�s�td
�|j|d�}	tjd�|	tj k�rNtjd
�t!tj"j#�}
|
j$g}tjd|
j$�n4d}|j%�sdtjd�tjddj&|j%��|j%d}n�|j}tjd|�|j'|tj"j(|�}|dtj)k�r�td�td�td�n8|dtj*k�r�tj+d�n|ddk�r
tjd|�|�s*td|�tjd|�ntd�tjd�td|j,�tjd|j,�t-j.�}
tjj&|
d�}�zxy4t/d tj"j0tj"j(f�}t1|t	j2|�|tj3d!<Wn6t4j5j6k
�r�}ztjd"|�WYdd}~XnXtj7�ytj8j9j:�Wn8t;j<k
�r.}ztjd#t/|��WYdd}~XnXy tj8j9j=d$t>j?|j,�d%d&�Wn�t;j@k
�r�}ztjd't/|��WYdd}~Xn^t;jAk
�r�tjd(|j,�Yn8t;jBk
�r�}ztjd)t/|��WYdd}~XnXWdtCjD|
�X|jE�rt>jFd*d��rtjd+�y*tG|||�tH||||�tI|||�Wn@tJk
�r�}z"tjd,|�td-�t||�d.Sd}~XnXdS)/NF�az%(message)s)�verboser�filemodeZconsole_formatZ
cli_installerr)�contextZconfdirZ	in_serverrrlr3z+An automount location is already configuredzSearching for IPA server...)�ca_cert_pathzExecuting DNS discoveryz&Autodiscovery did not find LDAP serverzSetting server to %sTz7Autodiscovery was successful but didn't return a serverz*Autodiscovery success, possible servers %s�,z"Verifying that %s is an IPA serverz0Anonymous access to the LDAP server is disabled.z'Proceeding without strict verification.zNNote: This is not an error if anonymous access has been explicitly restricted.z,Unencrypted access to LDAP is not supported.z*Unable to confirm that %s is an IPA serverzIPA server: %szUsing fixed server %szIPA server: DNS discoveryz Configuring to use DNS discoveryzLocation: %szUsing automount location %sZccachez
host/%s@%sZ
KRB5CCNAMEzFailed to obtain host TGT: %sz$Cannot connect to the server due to Zautomountlocation_showz2.0)�versionzThis client is incompatible: z&Automount location '%s' does not existz5Cannot connect to the server due to generic error: %sz3Continue to configure the system with these values?zInstallation abortedzRaised exception %sz*Installation failed. Rolling back changes.r()Kr
rr/�msgr;r<ZrvalrZ	FileStorerZIPA_CLIENT_SYSRESTOREZ	StateFiler'rZIPACLIENT_INSTALL_LOGr�dictZETC_IPAr	Z	bootstrapr �os�path�existsZ
IPA_CA_CRTr]rrZIPADiscoveryr�searchr.ZNO_LDAP_SERVERrr+Z
xmlrpc_uriZnetlocZservers�joinZipacheckldapr,ZNO_ACCESS_TO_LDAPZNO_TLS_LDAPZwarningr�tempfileZmkdtemprV�hostrZKRB5_KEYTAB�environ�gssapi�
exceptionsZGSSError�finalizeZBackendZ	rpcclientZconnectr
Z
KerberosErrorZforwardr�fsdecodeZVersionErrorZNotFoundZPublicError�shutilZrmtreerZ
user_inputrjrQrWr-)rMrHrIr#Z_argsZcfgrorJZds�retr^rZldapretZ
ccache_dirZccache_nameZ
host_princr%r%r&�configure_automountVs�








 $
""

r�cCs�y tj�dkstjd�t�Wnvtk
rL}ztj|�WYdd}~XnLtk
rv}ztj|�WYdd}~Xn"ttfk
r�tjd�YnXdS)Nrz
Must be run as root
r()	rt�geteuidr;r<r��
SystemExit�RuntimeError�KeyboardInterrupt�EOFError)rMr%r%r&�main�s

r�)8Z
__future__rZloggingr;rtr�r*ryr|r8Zsix.moves.urllib.parserZoptparserZ	ipapythonrZipaclient.installrZipaclient.install.clientrrZipalibr	r
Zipalib.installrZipalib.install.kinitrZipalib.utilr
rZipapython.ipa_log_managerrZipaplatform.constantsrZipaplatform.tasksrZipaplatformrZipaplatform.pathsrZipapython.admintoolrZ	getLoggerru�basename�__file__r.r'r2rQrWr rjr�r�r%r%r%r&�<module>sD, 7L4