관리-도구
편집 파일: sudo.cpython-39.pyc
a �)g� � @ sL d dl mZmZmZ eZdZd dlZd dlZd dl m Z G dd� de �ZdS )� )�absolute_import�division�print_functiona� name: sudo short_description: Substitute User DO description: - This become plugin allows your remote/login user to execute commands as another user via the sudo utility. author: ansible (@core) version_added: "2.8" options: become_user: description: User you 'become' to execute the task default: root ini: - section: privilege_escalation key: become_user - section: sudo_become_plugin key: user vars: - name: ansible_become_user - name: ansible_sudo_user env: - name: ANSIBLE_BECOME_USER - name: ANSIBLE_SUDO_USER keyword: - name: become_user become_exe: description: Sudo executable default: sudo ini: - section: privilege_escalation key: become_exe - section: sudo_become_plugin key: executable vars: - name: ansible_become_exe - name: ansible_sudo_exe env: - name: ANSIBLE_BECOME_EXE - name: ANSIBLE_SUDO_EXE keyword: - name: become_exe become_flags: description: Options to pass to sudo default: -H -S -n ini: - section: privilege_escalation key: become_flags - section: sudo_become_plugin key: flags vars: - name: ansible_become_flags - name: ansible_sudo_flags env: - name: ANSIBLE_BECOME_FLAGS - name: ANSIBLE_SUDO_FLAGS keyword: - name: become_flags become_pass: description: Password to pass to sudo required: False vars: - name: ansible_become_password - name: ansible_become_pass - name: ansible_sudo_pass env: - name: ANSIBLE_BECOME_PASS - name: ANSIBLE_SUDO_PASS ini: - section: sudo_become_plugin key: password N)� BecomeBasec s( e Zd ZdZdZdZ� fdd�Z� ZS )�BecomeModuleZsudo)zSorry, try again.)z)Sorry, a password is required to run sudozsudo: a password is requiredc s� t t| ��||� |s|S | �d�p(| j}| �d�p6d}d}| �d�r�d| j | _|r�g }t�|�D ]2}|dv rtqdn|� d�s�t �dd |�}|�|� qdt� |�}d | j }| �d�p�d}|r�d| }d � ||||| �||�g�S )NZ become_exeZbecome_flags� Zbecome_passz$[sudo via ansible, key=%s] password:)z-nz--non-interactivez--z^(-\w*)n(\w*.*)z\1\2z-p "%s"Zbecome_userz-u %s� )�superr �build_become_commandZ get_option�nameZ_id�prompt�shlex�split� startswith�re�sub�append�joinZ_build_success_command) �self�cmd�shellZ becomecmd�flagsr Zreflag�flag�user�� __class__� �?/usr/lib/python3.9/site-packages/ansible/plugins/become/sudo.pyr \ s, z!BecomeModule.build_become_command)�__name__� __module__�__qualname__r Zfail�missingr � __classcell__r r r r r T s r )Z __future__r r r �typeZ __metaclass__Z DOCUMENTATIONr r Zansible.plugins.becomer r r r r r �<module> s G