a ì)gÃã@sLddlmZmZmZeZdZddlZddlZddl m Z Gdd„de ƒZ dS)é)Ú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)Ú BecomeBasecs(eZdZdZdZdZ‡fdd„Z‡ZS)Ú BecomeModuleZsudo)zSorry, try again.)z)Sorry, a password is required to run sudozsudo: a password is requiredc sâtt|ƒ ||¡|s|S| d¡p(|j}| d¡p6d}d}| d¡r¬d|j|_|r¢g}t |¡D]2}|dvrtqdn|  d¡sŒt   dd |¡}|  |¡qdt  |¡}d |j}| d ¡p¸d}|rÆd |}d   ||||| ||¡g¡S)NZ become_exeZ become_flagsÚZ become_passz$[sudo via ansible, key=%s] password:)z-nz--non-interactivez--z^(-\w*)n(\w*.*)z\1\2z-p "%s"Z become_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__rrrrrTsr) Z __future__rrrÚtypeZ __metaclass__Z DOCUMENTATIONrr Zansible.plugins.becomerrrrrrÚs G