首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Service和systemd模块要求提供sudo密码

Service和systemd模块要求提供sudo密码
EN

Stack Overflow用户
提问于 2017-06-11 01:25:56
回答 0查看 4.4K关注 0票数 2

我遇到了一个问题,Ansible服务模块由于sudo密码问题而失败:

代码语言:javascript
复制
fatal: [192.168.1.10]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Shared connection to 192.168.1.10 closed.\r\n", "module_stdout": "sudo: a password is required\r\n", "msg": "MODULE FAILURE", "rc": 1}
to retry, use: --limit @/Volumes/HD/Users/user/Ansible/playbooks/stop-homeassistant.retry

我的攻略只有一个任务,那就是停止服务。看起来是这样的:

代码语言:javascript
复制
---
- hosts: 192.168.1.10
  tasks:
    - name: Stop Homeassistant
      become: true
      service: name=home-assistant@homeassistant state=stopped enabled=yes

或者,在systemd的情况下:

代码语言:javascript
复制
      systemd: state=stopped name=home-assistant@homeassistant enabled=yes

我的剧本是这样运行的:

代码语言:javascript
复制
ansible-playbook -u homeassistant playbooks/stop-homeassistant.yml

但是,在该计算机上为该用户设置了无密码sudo (在/etc/sudoers.d中):

代码语言:javascript
复制
homeassistant ALL=(ALL) NOPASSWD:/bin/systemctl restart home-assistant@homeassistant
homeassistant ALL=(ALL) NOPASSWD:/bin/systemctl stop home-assistant@homeassistant 

如果我以家庭助理身份ssh进入该框,并运行:

代码语言:javascript
复制
 sudo systemctl stop home-assistant@homeassistant

home-assistant@homeassistant服务将在不询问sudo密码的情况下干净利落地停止。

你知道为什么systemctl命令在机器上作为用户运行得很好,但是在service/systemd模块中却失败了吗?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44476097

复制
相关文章

相似问题

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