Ansible становиться проблемой useradd пользователя - PullRequest
0 голосов
/ 09 января 2020

При попытке добавить пользователя с помощью Ansible я установил ansible_become_user в своем инвентаре на учетную запись на сервере, которая является sudoer, но добавить пользователя все равно не удается с этой ошибкой:

usermod: cannot open /etc/passwd usermod: failed to unlock /etc/passwd

Я протестировал на сервере, выполнив команду, подобную этой, из моей обычной учетной записи s sh:

sudo -u <sudo_user> useradd test
useradd: cannot open /etc/passwd
useradd: failed to unlock /etc/passwd

Если я su войду в мою учетную запись sudo и запусту sudo useradd test, она работает просто отлично.

Я также могу заставить его работать из моей базовой учетной записи S ​​SH, запустив su <sudo_user> -c "sudo useradd test".

Ответы [ 2 ]

0 голосов
/ 10 января 2020

Вы можете попробовать другой вариант, то есть выполнить его, как другой пользователь, например root, и повторить попытку.

Для этого отредактируйте /etc/sysconfig/jenkins

Затем выполните поиск for:

JENKINS_USER="jenkins"

И измените его на

JENKINS_USER="root"

Это должно решить проблему.

Другой способ - добавить Дженкинса в visudo

0 голосов
/ 09 января 2020

Переменная для вашей книги / задания: become_user, а не ansible_become_user. ansible_become_user используется, когда вы устанавливаете значение для определенного c хоста / группы в вашем инвентаре. См. повышение привилегий до c

Более того, вы также должны установить become: true, чтобы вышеуказанная опция имела какой-либо эффект.

Быстрый пример (делает ничего не делать с отладкой, просто чтобы поставить вас на путь)

---
- hosts: all
  become: true
  become_user: someone

  tasks:
    - name: dummy task with play's defaults
      debug:
        msg: I would run with play's become_user

    - name: dummy task with overriden user
      become_user: some_other
      debug:
        msg: I would run with the overriden become_user
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...