Назад | Перейти на главную страницу

su Ошибка аутентификации

OS Ubuntu 18.04

Я пытаюсь добавить пользователя с паролем, домашним каталогом, создать группу с тем же именем, используя сценарий bash.

Я попытался:

sudo useradd -U -m -p $(openssl passwd -1 'some_password') test

Пользователь был создан, вот запись из / etc / passwd:

test:x:1004:1004::/home/test:/bin/sh

Домашний каталог создан:

/home/test

и группа была создана.

Проблема в том, что когда я пытаюсь сделать:

su test

Он запрашивает у меня пароль, но когда я ввожу пароль, я получаю следующую ошибку:

su: Authentication failure

PS: Я осознаю опасность добавления паролей в сценарии bash, но я делаю не это. Скрипт просит пользователя ввести пароль и использует его в скрипте следующим образом:

sudo useradd -U -m -p $(openssl passwd -1 '$password') $username

Любые идеи?

В той же системе я попытался использовать useradd, чтобы добавить пользователя test2, и ввел пароль. Я смог выполнить проверку с помощью test2

Для диагностики я создал bash-скрипт doit.sh, в котором были:

passwd='SomePassword1234'
username='test2'
sudo useradd -U -m -p $(openssl passwd -1 '$password') $username

Я запустил это как:

bash -x doit.sh

Вот результат:

ubuntu@myserver:~$ bash -x doit.sh
+ passwd=SomePassword1234
+ username=test2
++ openssl passwd -1 '$password'
+ sudo useradd -U -m -p '$1$okAtvbfD$hVwD0AoMWR5AiTw.9Bztf.' test2

и я пытаюсь su:

ubuntu@myserver:~$ su test2
Password: 
su: Authentication failure
ubuntu@myserver:~$ 

Это цитата, "$ password" будет буквально так: $password а не значение переменной $ password. "$password" здесь требуется.

sudo useradd -U -m -p $(openssl passwd -1 "$password") $username