| Server IP : 3.96.16.70 / Your IP : 216.73.216.15 Web Server : Apache System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/lib/python3.9/site-packages/cloudinit/distros/__pycache__/ |
Upload File : |
a
�½b � @ sp d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZ e� e
�ZG dd� dejj
j�ZG dd� de�ZdS )� N)�log)�subp�utilc sv e Zd ZdZdZdgZ� fdd�Zdd� Zdd � Zddd�Z d
d� Z
dd� Zdd� Zddd�Z
dd� Zdd� Z� ZS )�NetBSDzS
Distro subclass for NetBSD.
(N.B. OpenBSD inherits from this class.)
z*/usr/pkg/etc/sudoers.d/90-cloud-init-usersZgroupaddc s\ t � �|||� tj�d�rFg d�| _g d�| _g d�| _g d�| _nddg| _dg| _d S ) Nz/usr/pkg/bin/pkgin)�pkgin�-yZinstall)r r �remove)r r �update)r r zfull-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.9/site-packages/cloudinit/distros/netbsd.pyr s
zNetBSD.__init__c C s dd||gS )N�usermod�-Gr )r �member_nameZ
group_namer r r �_get_add_member_to_group_cmd% s z#NetBSD._get_add_member_to_group_cmdc
K sL t �|�rt�d|� dS dg}dg}dddddd �}d
ddd
�}|�� D ]Z\}}||v r||r|t|t�r||�|| |g� qJ||v rJ|rJ|�|| � |�|| � qJd|vs�d|vr�|dg7 }|dg7 }||g7 }||g7 }t�d|� zt j ||d� W n$ t
�y t �td|� � Y n0 |�dd �} | d u�rH| j
|| dd� d S )Nz!User %s already exists, skipping.FZuseraddz-dz-cz-gr z-s)�homedirZgecosZ
primary_group�groups�shellz--no-user-groupz--systemz
--no-log-init)Z
no_user_group�systemZno_log_initZno_create_homer z-mzAdding user %s)Z logstringzFailed to create user %s�passwdT)�hashed)r Zis_user�LOG�info�items�
isinstance�str�extend�appendr � Exception�logexc�get�
set_passwd)
r r �kwargsZadduser_cmdZlog_adduser_cmdZadduser_optsZ
adduser_flags�key�valZ
passwd_valr r r �add_user( sF
��
zNetBSD.add_userFc C s� |r
|}n2t td�s$t�d|� d S tj}t�|t�|��}zt�dd||g� W n" tyt t� td|� � Y n0 | �
|� d S )N�METHOD_BLOWFISHzICannot set non-encrypted password for user %s. Python >= 3.7 is required.r z-pzFailed to set password for %s)�hasattr�cryptr �errorr/ Zmksaltr r'