当前位置: 首页 > 知识库问答 >
问题:

另一个用户的用户

刘乐童
2023-03-14

我正在以非特权用户身份登录另一台计算机,我想让ansible为用户bob启用系统用户服务。

如果没有anable,解决方案将是sshbob@machine后跟systemctl--user启用服务

然而,对于anable,有两个问题:

  1. 如果已经以另一个非特权用户(anable)的身份登录,较新版本的anable将拒绝成为非特权用户bob。
  2. 即使这有效,dbus也不会启动,systemctl也无法与systemd对话(如果我理解正确的话)。

一个可怕的解决方法是执行shell命令,将远程主机ssh作为bob放入其中,并在那里运行systemctl raw命令。

有没有更好的方法来完成这件事?

共有1个答案

晋越彬
2023-03-14

两种选择都是可行的。

1) 远程用户:bob

- hosts: test_01
  become: no
  remote_user: admin
  tasks:
    - command: whoami
      register: result
    - debug:
        var: result.stdout
    - command: whoami
      remote_user: bob
      register: result
    - debug:
        var: result.stdout

给予:

"result.stdout": "admin"
"result.stdout": "bob"

2) 流水线=从成为非特权用户开始真正引用

使用管道。启用管道时,Ansible不会将模块保存到客户端上的临时文件中。相反,它将模块通过管道传输到远程python解释器的stdin。流水线不适用于涉及文件传输的python模块(例如:复制、获取、模板),也不适用于非python模块。

- hosts: test_01
  become: no
  remote_user: admin
  tasks:
    - command: whoami
      register: result
    - debug:
        var: result.stdout
    - command: whoami
      become_user: bob
      become_method: sudo
      become: yes
      register: result
    - debug:
        var: result.stdout

给予

"result.stdout": "admin"
"result.stdout": "bob"

$ grep pipe ansible.cfg 
pipelining = true
 类似资料:
  • 我知道可以使用以下代码通过电子邮件和密码注册用户: 那很好。我还可以在Firestore中添加文档和收藏: 我需要的是,现在登录的用户-例如一个企业,可以注册他们的客户端。他们的客户将在电子邮件中收到一个确认链接,然后他们就会注册该平台。然而,棘手的是,当这些客户登录时,应该通过商业帐户将他们添加到注册他们的企业中。我真的被这个逻辑在Firestore中如何工作的这一部分卡住了。

  • 1-我们创建了一个webpart来使用app services/graph api(/users/username{passwordprofile:{“password”:“xxxx”})更改用户的密码 2-因为Directory.AccessasUser.All是一个委托的权限,我们需要将用户添加到正确的角色中,才能获得更改密码的权限。

  • 我有两个帐户和两个线程。1个线程将钱从1个帐户转到2个帐户,2个线程将钱从2个帐户转到1个帐户,当然前提是有足够的钱。我需要了解死锁情况,并解决死锁情况以确认安全转移。以下是我目前的想法: 账户.java 主类 传输线程.java 为了安全转移,我决定将存款和取款两种方法同步。但怀疑用方法运行实现。我有正确的实现吗?如果不是,解释和纠正将不胜感激。

  • 问题内容: 我有两个表,一个名为同一列中,他说,。 我想,从复制,,,以,,,分别,这里的是一样的,如何做到这一点的SQL语句? 问题答案: 只要您有合适的索引,它就可以正常工作: sqlite3中的UPDATE不支持FROM子句,这使它比其他RDBMS的工作量更多。 如果性能不令人满意,则另一个选择可能是使用select为table_a建立新行,并与table_a联接到临时表中。然后从table

  • 问题内容: 我使用指南安装了jenkins,该指南在服务器中创建了一个“ jenkins”用户,并且显然在其下运行jenkins服务器。 我在服务器上的所有设置(虚拟环境,python软件包安装)均针对其他用户(“ ci-user”)。我有什么办法可以以“ ci_user”而不是“ jenkins”的身份运行我的工作?我想避免为“詹金斯”用户再次进行所有设置。 问题答案: 文件中有变量。您可以将其