Я создал нового пользователя с именем 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
.Они оба совпали.