ansible - Ansible提权提示问题
问题描述
---
- name: Transfer and execute a script.
hosts: jumpbox
remote_user: pppruser
any_errors_fatal: true
gather_facts: no
become: true
become_method: su
become_user: splunk
become_flags: '-s /bin/sh'
tasks:
- name: Transfer the script
copy: src=test.sh dest=/home/splunk/ mode=0777
- name: Execute the script
command: sh /export/home/splunk/test.sh
[splunk@ansible playbooks]$ cat test.sh
#!/bin/bash
cat /etc/passwd > /tmp/test
使用上面的 main.yml 脚本并在 playbook 命令下面使用
$ansible-playbook /etc/ansible/playbooks/main.yml --extra-vars "host=jumpbox" --ask-become-pass
SUDO password:
PLAY [Transfer and execute a script.] **********************************************************************************
TASK [Transfer the script] *********************************************************************************************
fatal: [192.168.1.20]: FAILED! => {"msg": "Timeout (12s) waiting for privilege escalation prompt: "}
NO MORE HOSTS LEFT *****************************************************************************************************
to retry, use: --limit @/etc/ansible/playbooks/main.retry
PLAY RECAP *********************************************************************************************************
192.168.1.20 : ok=0 changed=0 unreachable=0 failed=1
它因错误而失败。我尝试了来自多个论坛的不同选项和不同建议。但没有任何效果。在目标服务器(192.168.1.20)上,我有 remote_user(pppruser)和服务帐户(splunk)。pppruser 具有 splunk 的 sudo 权限。这是 pppruser 帐户的 sudo 列表
$sudo -l
User pppruser may run the following commands on this host:
(root) /bin/su - splunk
$sudo su - splunk
任何人都可以建议我在哪里需要更改配置,以便以 splunk 用户身份运行我的剧本执行没有问题。
解决方案
在我的目标服务中添加以下 sudo 权限可解决此问题。
pppruser ALL=(root) /bin/su - splunk pppruser ALL=(splunk) /bin/sh
推荐阅读
- powerbi - 令牌过期时重新验证 GraphQl API 的自定义 Power Bi 连接器?
- flutter - 只有当设备连接到 USB 充电器时,flutte 应用程序才会在后台运行
- visual-studio-code - 输出窗口上的不可读字符
- javascript - 无法重新初始化ngrx的状态功能
- node.js - 您可以在视频室参与者之间共享拨出电话吗?
- javascript - 如何缓存由主机不同部分提供的同一个延迟加载的 Vue 应用程序的请求
- c# - ASP.Net Core 3.1 API JWT 验证在生产中失败
- docker-compose - DockerCompose-Grafana-InfluxDB-错误:网关错误
- ios - 这发生在我将项目更新到 Flutter 2.0 并将所有包更新到最新版本时
- javascript - 面临分页问题,仅呈现 50 个项目中的 40 个