%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /snap/core/17212/usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/
Upload File :
Create Path :
Current File : //snap/core/17212/usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/netbsd.cpython-35.pyc



"�T`��@s�ddlZddlZddlZddlZddlmZddlmZddlmZej	e
�ZGdd�dejj
j�ZGdd�de�ZdS)	�N)�log)�subp)�utilcs�eZdZdZdZdgZ�fdd�Zdd�Zdd	�Zd
dd�Z	d
d�Z
dd�Zdd�Zddd�Z
dd�Zdd�Zdd�Z�S)�NetBSDzS
    Distro subclass for NetBSD.

    (N.B. OpenBSD inherits from this class.)
    z*/usr/pkg/etc/sudoers.d/90-cloud-init-usersZgroupaddcs�t�j|||�tjjd�rsdddg|_dddg|_dddg|_dddg|_ndd	g|_d
g|_dS)Nz/usr/pkg/bin/pkginZpkginz-yZinstall�remove�updatezfull-upgradeZpkg_addz-UZ
pkg_delete)	�super�__init__�os�path�existsZpkg_cmd_install_prefixZpkg_cmd_remove_prefixZpkg_cmd_update_prefixZpkg_cmd_upgrade_prefix)�self�nameZcfg�paths)�	__class__��:/usr/lib/python3/dist-packages/cloudinit/distros/netbsd.pyr	szNetBSD.__init__cCsdd||gS)N�usermodz-Gr)r
Zmember_nameZ
group_namerrr�_get_add_member_to_group_cmd&sz#NetBSD._get_add_member_to_group_cmdc

Ks�tj|�r#tjd|�dSdg}dg}dddddd	d
ddd
i}ddddddi}x�|j�D]{\}}||kr�|r�t|t�r�|j|||g�q~||kr~|r~|j||�|j||�q~Wd|ksd|kr/|dg7}|dg7}||g7}||g7}tjd|�yt	j	|d|�Wn(t
k
r�tjtd|��YnX|jdd�}	|	dk	r�|j
||	dd�dS)Nz!User %s already exists, skipping.FZuseraddZhomedirz-dZgecosz-cZ
primary_groupz-g�groupsz-G�shellz-sZ
no_user_groupz--no-user-group�systemz--systemZno_log_initz
--no-log-initZno_create_homez-mzAdding user %sZ	logstringzFailed to create user %s�passwd�hashedT)rZis_user�LOG�info�items�
isinstance�str�extend�appendr�	Exception�logexc�get�
set_passwd)
r
r�kwargsZadduser_cmdZlog_adduser_cmdZadduser_optsZ
adduser_flags�key�valZ
passwd_valrrr�add_user)sB		!




zNetBSD.add_userFcCs�|r|}nGttd�s2tjd|�dStj}tj|tj|��}ytjdd||g�Wn(tk
r�tj	td|��YnX|j
|�dS)N�METHOD_BLOWFISHzICannot set non-encrypted password for user %s. Python >= 3.7 is required.rz-pzFailed to set password for %s)�hasattr�cryptr�errorr)Zmksaltrr!rr"�
unlock_passwd)r
�userrrZ	hashed_pw�methodrrrr$Zs"		
zNetBSD.set_passwdcCsIytjdd|g�Wn(tk
rDtjtd|��YnXdS)Nrz-Fz"Failed to set pw expiration for %s)rr!rr"r)r
r.rrr�force_passwd_changers

zNetBSD.force_passwd_changecCsLytjddd|g�Wn(tk
rGtjtd|��YnXdS)Nrz-C�yeszFailed to lock user %s)rr!rr"r)r
rrrr�lock_passwdys

zNetBSD.lock_passwdcCsLytjddd|g�Wn(tk
rGtjtd|��YnXdS)Nrz-C�nozFailed to unlock user %s)rr!rr"r)r
rrrrr-�s

zNetBSD.unlock_passwdNcCstjd�dS)NzCannot set the locale.)r�debug)r
ZlocaleZout_fnrrr�apply_locale�szNetBSD.apply_localecCstjd�dS)Nz'NetBSD cannot rename network interface.)rr4)r
Z	netconfigrrr�apply_network_config_names�sz!NetBSD.apply_network_config_namescCs?tj�}tj�}tjj�}d||f|d<|S)z9Return env vars used in NetBSD package_command operationsz:http://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/%s/%s/AllZPKG_PATH)�platform�release�machiner
�environ�copy)r
Z
os_releaseZos_arch�errr�_get_pkg_cmd_environ�szNetBSD._get_pkg_cmd_environcCsdS)Nr)r
rrr�update_package_sources�szNetBSD.update_package_sources)�__name__�
__module__�__qualname__�__doc__Z
ci_sudoers_fnZgroup_add_cmd_prefixr	rr(r$r0r2r-r5r6r=r>rr)rrrs	1rc@seZdZdS)�DistroN)r?r@rArrrrrC�srC)r+r
r7Zcloudinit.distros.bsdZ	cloudinitrZloggingrrZ	getLoggerr?rZdistrosZbsdZBSDrrCrrrr�<module>s�

Zerion Mini Shell 1.0