首页 > 解决方案 > 如何能够使用 ansible 对所有用户执行 pm2 命令?

问题描述

我正在设置一个 nodeJS 服务器角色(ansible),我想使用 pm2 作为服务管理器。我希望能够对系统上的所有用户执行 pm2 命令,在尝试为这些文件提供 755 作为 root 用户是所有者之后我无法与其他用户执行 pm2 命令,现在我创建了一个组,添加了所有users 并将所有者更改为组,但是当登录到 EC2 实例(Amazon linux)时,除了 root 之外的所有用户都给我这个错误:

[PM2][ERROR] Permission denied, to give access to current user:
$ sudo chown user:user /var/project/.pm2/rpc.sock /var/project/.pm2/pub.sock

这是我的 ansible 角色的一部分:

- name: Adding users to project group
  user: name="{{item}}"
        groups=group
        append=yes
  with_items:
    - user
    - user2

在这里我尝试更改所有者:

- file:
    path: "/var/project/.pm2/rpc.sock"
    mode: 0775
    group: group
  become: true

- file:
    path: "/var/project/.pm2/pub.sock"
    mode: 0775
    group: group
  become: true

但是仍然收到该消息并且当我列出文件时:

srwxrwxr-x  1 root    root        0 Jan 21 16:05 pub.sock
srwxrwxr-x  1 root    root        0 Jan 21 16:05 rpc.sock

标签: ansiblepm2

解决方案


推荐阅读