gpt4 book ai didi

vagrant - ansible sudo_user 挂起几分钟然后失败(在 centos6.5.1 vagrant vm 中)

转载 作者:行者123 更新时间:2023-12-02 11:36:19 29 4
gpt4 key购买 nike

我有这两个简单的任务:

- name: I am 
shell: "echo `id`"

- name: say hello
shell: echo "postgres saying hello"
sudo_user: postgres

第二个任务在长时间暂停后失败,输出如下(它与 vagrant 一起运行,详细级别为 vvv)(是的,我已经验证了用户 postgres 存在,我可以从虚拟机内部执行 sudo su postgres)

TASK: [postgresql | I am] ***************************************************** 
changed: [192.168.78.6] => {"changed": true, "cmd": "echo `id` ", "delta": "0:00:00.002511", "end": "2014-01-23 22:49:14.161249", "item": "", "rc": 0, "start": "2014-01-23 22:49:14.158738", "stderr": "", "stdout": "uid=0(root) gid=0(root) groups=0(root)"}

TASK: [postgresql | say hello] ************************************************
fatal: [192.168.78.6] => failed to parse: [sudo via ansible, key=fnfgfnxabemrzbfixwgoksvgjrfzplxf] password:


FATAL: all hosts have already failed -- aborting

该东西在 centos6.5.1 vagrant vm 中运行

最佳答案

它显然不适用于 Centos6.5。假设它无法通过输入 postgres 系统用户密码的提示,尽管这只是猜测。

为了回答在 postgresql_* 命令期间如何克服 ansible 无法 sudo 到 postgres(反过来将通过默认 pg_hba.conf 配置使用对等身份验证)的问题,这里有一个解决方法:

- hosts: all
sudo: yes
gather_facts: no

tasks:
- lineinfile: dest='/var/lib/pgsql/9.3/data/pg_hba.conf' regexp="^local\s+all\s+all\s+peer$" line="local all all trust" backrefs=yes

- name: restart after line change
action: shell sudo /etc/init.d/postgresql-9.3 restart

- name: create database
postgresql_db: name=acme
sudo: no # NB!!
sudo_user: postgres

我们正在将本地访问从peer更改为trust,在由另一个lineinfile执行所需操作或替换后需要将其删除使用 md5 或任何所需配置的文件,然后重新启动。上面显然只是为了演示。这是一个巨大的 hack,但将允许您发出在 Centos6 下工作的 ansible postgresql 模块命令。请注意,我们为 postgresql 任务设置了 sudo 关闭。

我确认了问题的存在,并且破解方法适用于此虚拟机:

https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box

关于vagrant - ansible sudo_user 挂起几分钟然后失败(在 centos6.5.1 vagrant vm 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21321151/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com