---
- name: Clone rbenv
become: yes
git:
repo: 'https://github.com/rbenv/rbenv.git'
dest: /home/mastodon/.rbenv
效果很好
---
- name: Clone rbenv
become: yes
become_user: mastodon
git:
repo: 'https://github.com/rbenv/rbenv.git'
dest: /home/mastodon/.rbenv
不起作用,错误是“失败!” => {"msg": "sudo 密码不正确"}'
ansible_sudo_pass 设置为 ansible_user 的 sudo 密码
Ansible版本:2.15.3
操作系统:OpenSUSE
我尝试过设置ansible_method、ansible_exe。我希望权限升级使命令以“become_user”身份运行。
嗯,也许吧 错误消息“不正确的 sudo 密码”表明,become_user 指令以及您尝试切换到 mastodon 用户的方式可能存在问题。
验证 sudo 配置: 确保在 come_user 中指定的用户(在本例中为 Mastodon)在目标系统上具有必要的 sudo 权限。您可以检查 sudoers 文件 (/etc/sudoers) 以确保用户有权使用 sudo 执行命令,而不会提示输入密码。
检查Sudo密码: 验证 ansible_sudo_pass 中设置的密码对于目标系统上的 ansible_user 是否正确。确保它不包含任何可能需要转义的特殊字符。
测试 Sudo 权限: 您可以运行一个简单的 Ansible 任务来检查 mastodon 用户是否可以在没有密码提示的情况下执行 sudo 命令。例如:
yaml 复制代码
检查 SSH 密钥设置: 确保 mastodon 用户配置了正确的 SSH 密钥身份验证。如果您使用基于密钥的身份验证,ansible_user 的 SSH 密钥应存在于 mastodon 用户的 ~/.ssh/authorized_keys 文件中。
升级 Ansible: 虽然 Ansible 版本 2.15.3 应该适用于大多数情况,但保持 Ansible 最新是一个很好的做法。如果其他故障排除步骤无法解决问题,您可以考虑升级到最新版本。
检查用户差异: 验证 ansible_user 和 mastodon 用户的环境或权限之间是否存在显着差异。这些差异可能会影响使用become_user切换用户的能力。
调试: 您可以将调试语句添加到您的剧本中,以收集有关正在发生的情况的更多信息。例如,您可以使用 debug 模块打印出与用户和 sudo 相关的变量或信息。