首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不可理解:数独混乱

不可理解:数独混乱
EN

Stack Overflow用户
提问于 2019-08-07 18:28:59
回答 1查看 847关注 0票数 0

新来的。我正在测试一本新的剧本,却发现了一个奇怪的结果。

我从这个简单的YAML开始

代码语言:javascript
复制
- hosts: dpa18
  tasks:
    - name: Check sudo access via  sudo --list
      command: sudo --list
      register: sudo_access
...

由此产生的产出如下:

代码语言:javascript
复制
TASK [Gathering Facts] *************************************************************************
ok: [dpa18]

TASK [Check sudo access via  sudo --list] *******************************************************
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running sudo

changed: [dpa18]

PLAY RECAP **************************************************************************************
dpa18      : ok=2    changed=1    unreachable=0    failed=0

我用一行更新了YAML:

代码语言:javascript
复制
---
- hosts: dpa18
  tasks:
    - name: Check sudo access via  sudo --list
      become: yes
      command: sudo --list
      register: sudo_access
...

然后重新运行。(为可读性而包装)

代码语言:javascript
复制
PLAY [dpa18] ***********************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************
ok: [dpa18]

TASK [Check sudo access via  sudo --list] ******************************************************************************************
fatal: [dpa18]: FAILED! => {"changed": false, 
        "module_stderr": "Warning: Permanently added 'dpa18,10.0.0.217' (ECDSA) to the list of known hosts.\r\n
                Authenticated to dpa18 ([10.0.0.217]:22).\r\n
                Connection to dpa18 closed.\r\n
                Transferred: sent 2908, received 2472 bytes, in 0.1 seconds\r\n
                Bytes per second: sent 30231.6, received 25699.0\r\n",
        "module_stdout": "sudo: a password is required\r\n",
        "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
        "rc": 1}

PLAY RECAP *************************************************************************************************************************
dpa18      : ok=1    changed=0    unreachable=0    failed=1

我不明白为什么“密码是必需的”简单的--list什么命令是可用的用户。我相信sudo --list,并不是对Ansible来说很实用,但是好奇心激发了我对上面的输出的兴趣。

EN

回答 1

Stack Overflow用户

发布于 2019-08-07 19:33:44

Ansible,或与您进行身份验证的用户,都无权在没有密码的情况下执行sudo命令。为此,您需要使用-K标志来指定它。

这与命令本身无关,而是简单地运行任何带有sudo前缀的命令。在试图执行命令的主机上,可以在/etc/sudoers文件中设置如下内容:

代码语言:javascript
复制
<user> ALL=(ALL) NOPASSWD: ALL
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57400360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档