__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

x[hda����SSKrSSKrSSKrSSKrSSKJr SSKJrJrJr SSK	J
r
JrJrJ
r
Jr SSKJr SSKJrJr \R("\5rSr"SS	\
R05rg)
�N)�datetime)�Any�Dict�Optional)�distros�helpers�	lifecycle�subp�util)�HostnameConf)�
PER_ALWAYS�PER_INSTANCEa7# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}

c�^�\rSrSrSrSrSrSrSrS\\	S.0r
S	rS
rSr
SrS2SjrS\R"4SjrSrSrSrS2SjrSrS\S\S\S\4SjrSrS3SjrSS.Sjr\S 5rS!\4U4S"jjr U4S#jr!S$\4U4S%jjr"U4S&jr#S2U4S'jjr$S4S(jr%\&S)5r'\(S
S*.S+\S,\S-\4S.jj5r)\&S/\S!\*\4S0j5r+S1r,U=r-$)5�Distro� zpy3-pipz/usr/share/bkeymaps/z&/etc/profile.d/50-cloud-init-locale.shz/etc/network/interfacesz/etc/shadow�eni)�eni_path�
eni_headerz
/var/lib/dhcpzdhclient\.leasesc��[RRXX#5 [R"U5UlSUlSUlSUS'g)NzC.UTF-8�alpine�sshd�ssh_svcname)rr�__init__r�Runners�_runner�default_locale�osfamily)�self�name�cfg�pathss    �:/usr/lib/python3/dist-packages/cloudinit/distros/alpine.pyr�Distro.__init__.sA��������C�7����u�-���'��� ��
�#��M��c��UR$)zWThe default locale for Alpine Linux is different than
cloud-init's DataSource default.
)r�rs r"�
get_locale�Distro.get_locale8s���"�"�"r$Nc��U(dURnU(dURnSSSSSU-SS/n[R"USR	U5S5 g)	N�#z?# This file is created by cloud-init once per new instance bootzexport CHARSET=UTF-8zexport LANG=%szexport LC_COLLATE=C��
�)r�locale_conf_fnr�
write_file�join)r�locale�out_fn�liness    r"�apply_locale�Distro.apply_locale>s^����(�(�F���(�(�F�
�M��"��v�%�!��
��	
�����	�	�%� 0�%�8r$�pkglistc�D�UR5 URSUS9 g)N�add)�pkgs)�update_package_sources�package_command)rr6s  r"�install_packages�Distro.install_packagesQs!���#�#�%����U���1r$c�T�SnURU5nU(d[S5nURU5 [R"U[U5S5 g![aC [R"URSS5nU(aNz[
R
S5 gf=f)N�create_hostname_fileTz8create_hostname_file is False; hostname file not createdr+r-)�_read_hostname_conf�IOErrorr�get_cfg_option_bool�_cfg�LOG�infor�set_hostnamer/�str)r�hostname�filename�confr?s     r"�_write_hostname�Distro._write_hostnameUs�����	��+�+�H�5�D����#�D����(�#�����#�d�)�U�3���
	�#'�#;�#;��	�	�1�4�$� �$�����N���
	�s�A�3B'�B'�&B'c�T�URUR5nURU4$�N)�_read_hostname�hostname_conf_fn)r�sys_hostnames  r"�_read_system_hostname�Distro._read_system_hostnameks)���*�*�4�+@�+@�A���%�%�|�4�4r$c�d�[[R"U55nUR5 U$rN)rr�load_text_file�parse)rrIrJs   r"r@�Distro._read_hostname_confos%���D�/�/��9�:���
�
���r$c�x�SnURU5nURnU(dU$U$![a Nf=frN)r@rHrA)rrI�defaultrHrJs     r"rO�Distro._read_hostnametsH����	��+�+�H�5�D��}�}�H���N����	�	��	�s�,�
9�9c��g)Nz	127.0.1.1�r&s r"�_get_localhost_ip�Distro._get_localhost_ips��r$�layout�model�variant�optionsc��U(d"Sn[RU5 [U5e[RRURU5n[RRU5(d%SU-n[RU5 [U5eU(d"Sn[RU5 [U5e[RRUSU-5n[RRU5(d%SU-n[RU5 [U5eU(a[RS5 U(a[RS5 [R"SX/5 g)	NzKeyboard layout not specified.z,Keyboard layout directory %s does not exist.zKeyboard variant not specified.z
%s.bmap.gzz(Keyboard variant file %s does not exist.z+Keyboard model is ignored for Alpine Linux.z.Keyboard options are ignored for Alpine Linux.zsetup-keymap)rD�error�RuntimeError�os�pathr0�keymap_path�isdir�isfile�warningr
)rr_r`rarb�msg�keymap_layout_path�keymap_variant_paths        r"�
set_keymap�Distro.set_keymap�s!���2�C��I�I�c�N��s�#�#��W�W�\�\�$�*:�*:�F�C���w�w�}�}�/�0�0�>�$�%�
�
�I�I�c�N��s�#�#��3�C��I�I�c�N��s�#�#� �g�g�l�l���w� 6�
���w�w�~�~�1�2�2�:�%�&�
�
�I�I�c�N��s�#�#���K�K�E�F���K�K�H�I��	�	�>�6�3�4r$c�J�[R"XRU5S9 g)N)�tz�tz_file)r�set_etc_timezone�
_find_tz_file)rrrs  r"�set_timezone�Distro.set_timezone�s��� � �B�0B�0B�2�0F�Gr$c���Uc/nS/nURS5 U(a'[U[5(aURU5 O-U(a&[U[5(aUR	U5 U(aURU5 US:XaUR	SS/5 [
R"SU5nUR	U5 [R"USS9 g)	N�apkz--quiet�upgradez--update-cachez--availablez%s-%sF)�capture)�append�
isinstancerG�list�extendr�expand_package_listr
)r�command�argsr9�cmdr6s      r"r;�Distro.package_command�s����<��D��g���
�
�9���J�t�S�)�)��J�J�t��
�j��t�,�,��J�J�t����J�J�w���i���J�J�(�-�8�9��*�*�7�D�9���
�
�7��	
�	�	�#�u�%r$F)�forcec�t�URRSURS/U(a[O[S9 g)Nzupdate-sources�update)�freq)r�runr;r
r)rr�s  r"r:�Distro.update_package_sources�s1��������� � �
�J�$��,�		�	
r$c�N�UR(d	SS/UlUR$)z7Allow distro to determine the preferred ntp client list�chrony�ntp)�_preferred_ntp_clientsr&s r"�preferred_ntp_clients�Distro.preferred_ntp_clients�s&���*�*�+3�U�*;�D�'��*�*�*r$�returnc�@>�[R"U5(a[RSU5 gSU;a[R	S5 US	[
R"S5(a[TU] "U40UD6$URSS5nSS	/nS
SSS
SS.nSS0nURS5nU(a�[U[5(aURS5nO/[U[5(a[R "SUS3SSS9 UVs/sHo�R#5PM nnSR%U5US'URS5(aUR'US5 U(aTU(aMUHGn	[R("U	5(aM UR+U	5 [R-SX�5 MI SU;a[US5US'/SSSS.n
[/UR155H�up�X�;a3U(a,[U[5(aUR3X[U/5 M=X�;a=U(a6[U[5(a!US:XaURS5X�'MyX�U'MX�;dM�U(dM�UR'Xk5 M� URS5(dURS5(aUR'S5 UR'U5 [R-S U5 [
R
"U5 U
SH2n[R-S"U5 [
R
"S#X/5 M4 U
S%(a[TU]qXS%SS&9 U
S'nU
S(nSnUR:n[R<"U5nSnURA5H!nURS*5nUS+U:XdMUn O U(a�S,nS,WS-'S,US.'S,US/'S0nUbU[BRD"U5[BRD"S15-
RFn[U5US2'US,:waUS3-nUS4-nUbUUS5'US,:waUS3-nUS6-nURIUS*R%U55n[R-S7UU5 [RJ"UUS8SS99 g[R6"[S;UU5 gs snf![
R4an
[R	S!U5 U
eSn
A
ff=f![
R4a#n
[R6"[S$X5 U
eSn
A
ff=f![>an
[R	S)U5 U
eSn
A
ff=f![La#n
[R6"[S:U5 U
eSn
A
ff=f)<z�
Add a user to the system using standard tools

On Alpine this may use either 'useradd' or 'adduser' depending
on whether the 'shadow' package is installed.

Returns False if user already exists, otherwise True.
z!User %s already exists, skipping.F�selinux_userz0Ignoring selinux_user parameter for Alpine Linux�useradd�
create_groupsT�adduserz-Dz-gz-hz-Gz-s�-u)�gecos�homedir�
primary_group�shell�uid�systemz-S�groups�,z	The user z) has a 'groups' config value of type dictz22.3z=Use a comma-delimited string or array instead: group1,group2.)�
deprecated�deprecated_version�
extra_messager�z created group '%s' for user '%s'r�N)r��
expiredate�inactive�passwd�no_create_homez-HzAdding user %szFailed to create user %szAdding user to group %s�addgroupz!Failed to add user %s to group %sr�)�hashedr�r��&Failed to read %s file, file not found�:rr+���zpassword agingz
1970-01-01�z & zacct expiration date�zinactivity periodzUpdating %s for user %s�w��omode�
preserve_mode�Failed to update %s filezFailed to update %s for user %s)'r�is_userrDrErkr
�which�super�add_user�pop�getr}rG�split�dictr	�	deprecate�stripr0r|�is_group�create_group�debug�sorted�itemsr�ProcessExecutionError�logexc�
set_passwd�	shadow_fnrU�FileNotFoundError�
splitlinesr�
fromisoformat�days�replacer/rA)rr�kwargsr��adduser_cmd�adduser_opts�
adduser_flagsr��g�group�unsupported_busybox_values�key�val�e�
addn_groupr�r��shadow_contents�shadow_file�
original_line�line�new_line_parts�update_typer��	__class__s                        �r"r��Distro.add_user�sp����<�<�����H�H�8�$�?���V�#��K�K�J�K��~�&��:�:�i� � ��7�#�D�3�F�3�3��
�
�?�D�9�
� �$�'����!���
��"�4�(�
����H�%����&�#�&�&����c�*���F�D�)�)��#�#�!*�4�&�1#� #�'-�#4�	�*0�0��A�g�g�i��F�0� #�x�x��/�F�8���z�z�/�*�*��
�
�f�_�5�6��V����}�}�U�+�+��%�%�e�,��I�I�@�%�N� ��F�?���u�
�.�F�5�M�����	6
�"��v�|�|�~�.�H�C��"�s�z�#�s�/C�/C��"�"�L�$5�s�#;�<��1���s�C�(�(��(�?�69�i�i��n�.�3�69�s�3��%�#�#��"�"�=�#5�6�/�&�:�:�&�'�'�6�:�:�h�+?�+?����t�$�	���4� �	�	�	�"�D�)�	��I�I�k�"�5��
�J�
�I�I�/��<�
��	�	�:�t�8�9�
�&�h�/�
�G����:�4�
�
�&0��=�
�-�j�9�����n�n��	�"�1�1�+�>�O��
�#�.�.�0�D�!�Z�Z��_�N��a� �D�(� $�
��	1���K�!#�N�1�� "�N�1�� "�N�1��*�K��%��*�*�:�6��,�,�\�:�;��$��%(��I��q�!��"�$�"-��"5�K�)�,B�B���#�$,��q�!��"�$�"-��"5�K�)�,?�?��.�5�5��s�x�x��7��O�
�I�I�/��d�C�
�������4���
�K�K��6��T�
�
��C1��l�)�)�	��K�K�2�D�9��G��	���-�-�
�����<�d�����	
��F!�	��K�K�@�+�N��G��	��b�
����C�!;�[�I����
�sf�S�S�=T�
U�U0�T	�,T�T	�U� T>�>U�
U-�U(�(U-�0
V�:V�Vc�>�[RRS5(aS[R"S5;a[TU]U5$SSU/n[R"USS/S9up4[R"SU5(ag	g![Ra#n[R"[S
U5 UeSnAff=f)z<
Lock the password of a user, i.e., disable password logins
�/usr/bin/passwd�bbsuidr�z-lr���rcszis already lockedTz&Failed to disable password for user %sN)
rfrg�islink�readlinkr��lock_passwdr
�re�searchr�rr�rD)rrr��_out�errr�r�s      �r"r��Distro.lock_passwd�s�����w�w�~�~��
�
�
�R�[�[�):�;�
;��7�&�t�,�,���t�$��	��)�)�C�a��V�4�K�T��y�y�-�s�3�3��4���)�)�	��K�K��E�t�L��G��	���5B�C� B>�>Crc�>�[RRS5(aS[R"S5;a[TU]U5$SSU/n[R"USS/S9up4[R"SU5(ag	g![Ra#n[R"[S
U5 UeSnAff=f)z=
Unlock the password of a user, i.e., enable password logins
r�r�r�r�rr�r�zis already unlockedTz%Failed to unlock password for user %sN)
rfrgr�r�r��
unlock_passwdr
r�r�r�rr�rD)rrr��_r�r�r�s      �r"r��Distro.unlock_passwd�s�����w�w�~�~��
�
�
�R�[�[�):�;�
;��7�(��.�.���t�$��	��Y�Y�s��A��/�F�A��y�y�/��5�5��6���)�)�	��K�K��D�d�K��G��	�r�c�j>�[RRS5(aS[R"S5;a[TU]U5$SnURn[R"U5nSnUR5H7nURS5nUSU:XdM[RSU5 Un O U(avWSS:waVSUS'URUSR!U5S	5n[RS
U5 [R""UUSSS
9 g[RSU5 g[R&"[SU5 g![an[RSU5 UeSnAff=f![$a#n[R&"[SU5 UeSnAff=f)Nr�r�r�r�rz'Found /etc/shadow line matching user %s��0r�zExpiring password for user %sr�Tr�r�z'Password for user %s is already expiredzFailed to set 'expire' for %s)rfrgr�r�r��
expire_passwdr�rrUr�rDrkr�r�r�r�r0r/rAr�)	r�userr�r�r�r�r�r�r�s	        �r"r��Distro.expire_passwd�s�����w�w�~�~��
�
�
�R�[�[�):�;�
;��7�(��.�.����n�n��	�"�1�1�+�>�O��
�#�.�.�0�D�!�Z�Z��_�N��a� �D�(��	�	�C�T�J� $�
��1��
�a� �C�'�%(��q�!�"1�"9�"9�!�3�8�8�N�#;�Q�#���	�	�9�4�@�	��O�O�#�'�!�&*�	��	�	�C�T�J��K�K��<�d�C��Q!�	��K�K�@�+�N��G��	��D���K�K��%?��M��G���s0�E�F�
F�%E=�=F�
F2�F-�-F2c�>�[R"S5(a[TU]
X5$SU/nU(d/n[R
"U5(a[RSU5 O-[R"U5 [RSU5 [U5S:�alUHen[R"U5(d[RSUU5 M7[R"SXA/5 [RSXA5 Mg gg![Ra [R"[SU5 N�f=f)	N�groupaddr�z(Skipping creation of existing group '%s'zCreated new group %szFailed to create group %srzCUnable to add group member '%s' to group '%s'; user does not exist.zAdded user '%s' to group '%s')
r
r�r�r�rr�rDrkrEr�r��lenr�)rr�members�
group_add_cmd�memberr�s     �r"r��Distro.create_groups	����:�:�j�!�!��7�'��6�6�#�T�*�
���G��=�=�����K�K�B�D�I�
D��	�	�-�(����/��6�
�w�<�!��!���|�|�F�+�+��K�K�1���	���	�	�:�v�4�5����8�&�G�"���	�-�-�
D����C�!<�d�C�
D�s�,,D�0E�Ec��US/nUS:XaUS/-
nU$UR[[U5S-55 U$![an[	SU<S35UeSnAff=f)Nz-d�nowr��<z;power_state[delay] must be 'now' or '+m' (minutes). found 'z'.)r|rG�int�
ValueError�	TypeError)r�mode�delay�messager�r�s      r"�shutdown_command�Distro.shutdown_command@sz����,���E�>���u��G���
����s�3�u�:��?�3�4����
�
��&+�.�����
�s�&<�
A�A�Ac��g)z!
Alpine uses OpenRC, not systemd
Fr\r\r$r"�uses_systemd�Distro.uses_systemdZs��
r$r��action�service�
extra_argsc
�N�SS/nSS/n[U5US/-[U5US/-[U5SU/-[U5SU/-[U5US/-[U5US/-[U5US/-[U5US	/-S
.n[Xq5n[R"USUS9$)
a
Perform the requested action on a service. This handles OpenRC
specific implementation details.

OpenRC has two distinct commands relating to services,
'rc-service' and 'rc-update' and the order of their argument
lists differ.
May raise ProcessExecutionError
z
rc-servicez	--nocolorz	rc-update�stop�start�delr8�restart�status)rr�disable�enabler�reloadz
try-reloadrT)r{r�)r~r
)	rrrr�r�init_cmd�
update_cmd�cmdsr�s	         r"�manage_service�Distro.manage_serviceas���!�+�.��!�;�/�
���N�g�v�%6�6��(�^�w��&8�8��J�'�5�'�*:�:��:�&�%��)9�9��H�~��)�(<�<��8�n���';�;��x�.�G�Y�+?�?��8�n���':�:�	
���4�<� ���y�y��d��4�4r$�blockdevc�D�[RRU5nURS5(Ga�[R"[R
"U5R5n[R"[R
"U5R5n[R"S5nUGHnURRS5(dM&[R"UR5n[
R"UR5(dMm[R"[R
"UR5R5U:XdM�[R"[R
"UR5R5U:XdM�[RRUR5n O SSS5 URS5(a[RSX5 U$g!,(df   N==f)z�Returns underlying block device for a mapped device.

If it is mapped, blockdev will usually take the form of
/dev/mapper/some_name

If blockdev is a symlink pointing to a /dev/dm-* device, return
the device pointed to. Otherwise, return None.
z/dev/mapperz/dev/zdm-Nz/dev/dm-z$%s is a mapped device pointing to %s)rfrg�realpath�
startswith�major�stat�st_rdev�minor�scandirr�lstat�S_ISBLK�st_moderDr�)rr!r#r&�it�deventry�ress       r"�get_mapped_device�Distro.get_mapped_device}s`���7�7�#�#�H�-�����}�-�-��H�H�R�W�W�X�.�6�6�7�E��H�H�R�W�W�X�.�6�6�7�E����G�$�� "�H��}�}�/�/��6�6� �h�h�x�}�}�5���<�<����4�4� "���������)?�)G�)G� H�#(�!)�$&�H�H�R�W�W�X�]�]�-C�-K�-K�$L�#(�%)�,.�7�7�+;�+;�H�M�M�+J�� %�!#�%����z�*�*��I�I�6��
��O��'%�$�s'�5%H�AH�%AH�)AH�--H�
H)r�rrrrN)NN)�poweroffrN).�__name__�
__module__�__qualname__�__firstlineno__�pip_package_namerhr.�network_conf_fnr��NETWORK_FILE_HEADER�renderer_configs�dhclient_lease_directory�dhclient_lease_file_regexrr'r4r�PackageListr<rKrRr@rOr]rGrorvr;r:�propertyr��boolr�r�r�r�r�r	�staticmethodr�classmethodrrr.�__static_attributes__�
__classcell__)r�s@r"rr s_��� ��(�K�=�N�/�O��I�
�O�;N�O���
 /�� 3��$�#�9�&2��(;�(;�2�4�,5��
	�� 5�� 5�S� 5�3� 5�� 5�DH�&�2/4�
��+��+�X�$�X�t�8�#��<7D�r!H�F�4�����?C�5��5�$'�5�69�5��5�6�(�C�(�H�S�M�(��(r$r)�loggingrfr�r$r�typingrrr�	cloudinitrrr	r
r�"cloudinit.distros.parsers.hostnamer�cloudinit.settingsr
r�	getLoggerr1rDr7rr\r$r"�<module>rHsR���	�	���&�&�=�=�;�7�
����!����F
�W�^�^�F
r$

Filemanager

Name Type Size Permission Actions
OpenCloudOS.cpython-313.pyc File 771 B 0644
TencentOS.cpython-313.pyc File 769 B 0644
__init__.cpython-313.pyc File 67.79 KB 0644
almalinux.cpython-313.pyc File 466 B 0644
alpine.cpython-313.pyc File 23.96 KB 0644
amazon.cpython-313.pyc File 753 B 0644
aosc.cpython-313.pyc File 6.55 KB 0644
arch.cpython-313.pyc File 6.42 KB 0644
azurelinux.cpython-313.pyc File 2.99 KB 0644
bsd.cpython-313.pyc File 9.11 KB 0644
bsd_utils.cpython-313.pyc File 1.91 KB 0644
centos.cpython-313.pyc File 463 B 0644
cloudlinux.cpython-313.pyc File 467 B 0644
cos.cpython-313.pyc File 462 B 0644
debian.cpython-313.pyc File 11.51 KB 0644
dragonflybsd.cpython-313.pyc File 566 B 0644
eurolinux.cpython-313.pyc File 466 B 0644
fedora.cpython-313.pyc File 463 B 0644
freebsd.cpython-313.pyc File 10.38 KB 0644
gentoo.cpython-313.pyc File 5.91 KB 0644
mariner.cpython-313.pyc File 2.01 KB 0644
miraclelinux.cpython-313.pyc File 469 B 0644
netbsd.cpython-313.pyc File 7.05 KB 0644
networking.cpython-313.pyc File 16.54 KB 0644
openbsd.cpython-313.pyc File 3.25 KB 0644
openeuler.cpython-313.pyc File 767 B 0644
openmandriva.cpython-313.pyc File 471 B 0644
opensuse-leap.cpython-313.pyc File 474 B 0644
opensuse-microos.cpython-313.pyc File 477 B 0644
opensuse-tumbleweed.cpython-313.pyc File 480 B 0644
opensuse.cpython-313.pyc File 10.61 KB 0644
photon.cpython-313.pyc File 6.95 KB 0644
rhel.cpython-313.pyc File 8.36 KB 0644
rhel_util.cpython-313.pyc File 1.57 KB 0644
rocky.cpython-313.pyc File 462 B 0644
sle-micro.cpython-313.pyc File 470 B 0644
sle_hpc.cpython-313.pyc File 468 B 0644
sles.cpython-313.pyc File 465 B 0644
suse.cpython-313.pyc File 463 B 0644
ubuntu.cpython-313.pyc File 3.22 KB 0644
ug_util.cpython-313.pyc File 7.93 KB 0644
virtuozzo.cpython-313.pyc File 466 B 0644
Filemanager