AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/netbsd.cpython-310.pyc
o

x[h�@s�UddlZddlZddlZddlZddlmZddlZddlmZm	Z	zddl
Z
e
jZej
e
j
e
�e�d�Zeed<Wn$eefy_zddlmZejZWn
ey\dd�ZYnwYnwe�e�ZGdd	�d	ejjj�ZGd
d�de�ZdS)�N)�Any)�subp�util)�salt�
blowfish_hash)�bcryptcCstd��)z�Raise when called so that importing this module doesn't throw
            ImportError when this module is not used. In this case, crypt
            and passlib are not needed.
            z/crypt and passlib not found, missing dependency)�ImportError)�_�r
�:/usr/lib/python3/dist-packages/cloudinit/distros/netbsd.pyrs�cs�eZdZdZdZdgZgd�Z�fdd�Zdd�Zd	e	fd
d�Z
dd
d�Zdd�Zdd�Z
ddd�Zdd�Zdd�dd�Z�ZS)�NetBSDzS
    Distro subclass for NetBSD.

    (N.B. OpenBSD inherits from this class.)
    z*/usr/pkg/etc/sudoers.d/90-cloud-init-users�groupadd)z
^{username}::z'^{username}:\*\*\*\*\*\*\*\*\*\*\*\*\*:z1^{username}:\*LOCKED\*\*\*\*\*\*\*\*\*\*\*\*\*\*:cs^t��|||�tj�d�r$gd�|_gd�|_gd�|_gd�|_dSddg|_dg|_dS)	Nz/usr/pkg/bin/pkgin)�pkgin�-y�install)rr�remove)rr�update)rrzfull-upgrade�pkg_addz-U�
pkg_delete)	�super�__init__�os�path�exists�pkg_cmd_install_prefix�pkg_cmd_remove_prefix�pkg_cmd_update_prefix�pkg_cmd_upgrade_prefix)�self�name�cfg�paths��	__class__r
rr?s



zNetBSD.__init__cCsdd||gS)N�usermod�-Gr
)r�member_name�
group_namer
r
r�_get_add_member_to_group_cmdJsz#NetBSD._get_add_member_to_group_cmd�returnc
KsDt�|�r
t�d|�dSdg}dg}dddddd	�}d
ddd
�}|��D]-\}}||vr>|r>t|t�r>|�|||g�q%||vrR|rR|�||�|�||�q%d|vs[d|vre|dg7}|dg7}||g7}||g7}t�d|�z	t	j	||d�Wnt
y�t�td|��w|�dd�}	|	dur�|j
||	dd�dS)z~
        Add a user to the system using standard tools

        Returns False if user already exists, otherwise True.
        z!User %s already exists, skipping.F�useraddz-dz-cz-gr%z-s)�homedir�gecos�
primary_group�groups�shellz--no-user-groupz--systemz
--no-log-init)�
no_user_group�system�no_log_init�no_create_homer1z-mzAdding user %s)�	logstringzFailed to create user %s�passwdNT)�hashed)r�is_user�LOG�info�items�
isinstance�str�extend�appendr�	Exception�logexc�get�
set_passwd)
rr�kwargs�adduser_cmd�log_adduser_cmd�adduser_opts�
adduser_flags�key�val�
passwd_valr
r
r�add_userMsL
���



�zNetBSD.add_userFcCsV|r|}nt|�}zt�dd||g�Wnty#t�td|��w|�|�dS)Nr$z-pzFailed to set password for %s)rrr?rr@r8�
unlock_passwd)r�userr5r6�	hashed_pwr
r
rrB�s�zNetBSD.set_passwdcC�8zt�ddd|g�WdStyt�td|��w)Nr$�-C�yeszFailed to lock user %s�rr?rr@r8�rrr
r
r�lock_passwd���zNetBSD.lock_passwdcCrO)Nr$rP�nozFailed to unlock user %srRrSr
r
rrL�rUzNetBSD.unlock_passwdNcCst�d�dS)NzCannot set the locale.)r8�debug)r�locale�out_fnr
r
r�apply_locale�szNetBSD.apply_localecCs&t��}t��}dd|�d|�d�iS)z9Return env vars used in NetBSD package_command operations�PKG_PATHz1http://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/�/z/All)�platform�release�machine)r�
os_release�os_archr
r
r�_get_pkg_cmd_environ�s���zNetBSD._get_pkg_cmd_environ)�forcecCsdS�Nr
)rrcr
r
r�update_package_sources�szNetBSD.update_package_sources)Frd)�__name__�
__module__�__qualname__�__doc__�
ci_sudoers_fn�group_add_cmd_prefix�#shadow_empty_locked_passwd_patternsrr(�boolrKrBrTrLrZrbre�
__classcell__r
r
r"rr*s
9

rc@seZdZdS)�DistroN)rfrgrhr
r
r
rro�sro)�	functools�loggingrr]�typingr�cloudinit.distros.bsd�	cloudinitrr�crypt�METHOD_BLOWFISHr�partial�mksaltr�__annotations__r�AttributeError�passlib.hashr�hash�	getLoggerrfr8�distros�bsd�BSDrror
r
r
r�<module>s6
�
���


Anon7 - 2022
AnonSec Team