Shell и .bashrc различаются при создании пользователей с помощью Ansible - PullRequest
0 голосов
/ 04 марта 2019

Я создал нового пользователя с именем superuser, используя Ansible.Я заметил, что shell и .bashrc этого пользователя отличались от пользователя, созданного вручную в системе.

Первый совет, вывод CLI superuser, созданный с помощью Ansible, по сравнению с root:

superuser prompt: $
root prompt: root@root:/etc#

В /etc/passwd оболочка для superuser была /bin/sh вместо /bin/bash.

В конце мне пришлось использовать следующую команду Ansible для создания суперпользователячтобы иметь соответствующую оболочку:

- name: Create super user
user:
  name: "{{ super_username }}"
  state: present
  groups: www-data
  shell: /bin/bash
  append: yes
  password: "{{ super_password | password_hash('sha512', super_salt)  }}"

Файлы .bashrc между root и superuser все еще различны.

Я на Ubuntu 16.04.5 и Python 3.5.2,Я запускаю свой скрипт на Win10, Ubuntu WLS и Ansible 2.7.5.

В документации пользовательский модуль указывает, что оболочка по умолчанию должна соответствовать:

Вкл.В других операционных системах оболочка по умолчанию определяется используемым базовым инструментом.Подробности см. В примечаниях.

Другие примечания:

На всех других платформах этот модуль использует useradd для создания, usermod для изменения и userdel для удаления учетных записей.

Разве root и superuser не должны совпадать с точки зрения .bashrc и shell с учетом документации?

Редактировать # 1

Я создал тестового пользователя локально, сравнил его .bashrc и shell с правами root .bashrc и shell.Они оба совпали.

1 Ответ

0 голосов
/ 04 марта 2019

Чтобы ответить на ваш вопрос

Разве рут и суперпользователь не должны совпадать в терминах .bashrc и shell с учетом документации?

Нет.Они не должны.См. Примечания .Во многих системах Bash 1) устанавливать не нужно, и 2) если он установлен, не рекомендуется использовать его для root.

...