На Ubuntu 14.04.2 LTS следующая команда:
adduser fu
, а затем введите пароль bar и просто нажмите Enter во всех других вопросах, создайте пользователя, который позволяет мне войти в систему и имеет следующие характеристики в /etc/passwd:
fu:x:1002:1002:,,,:/home/fu:/bin/bash
Однако выполнение:
useradd fu --password bar --groups adm,cdrom,sudo,dip,plugdev,lpadmin --shell /bin/bash --create-home
создает в /etc/passwd
fu:x:1002:1002::/home/fu:/bin/bash
и не позволяет мне входить в систему, а добавление --user-group не помогает ни ...
Как мне нужно useradd (для сценария докеров) не позволяет мне войти в систему [ ! d6]
PS Я уже посмотрел на /usr/sbin/adduser, но поскольку это perl, для меня не очевидно, какие параметры добавить к adduser, чтобы иметь ту же функциональность, что и useradd
Это может не работать, потому что ваш пароль bar не зашифрован. На странице man для useradd указано:
The encrypted password, as returned by crypt(3).В этом вопросе о переполнении стека есть несколько ответов, которые могут помочь вам с вашим скриптом, поскольку в вопросе возникает вопрос о добавлении пользователь, а также пароль.
Поскольку принятый ответ не был обновлен по этому вопросу на основе комментариев пользователей, я воспроизведу решение здесь:
echo -e "bar\nbar\n" | passwd fu
Эта команда изменит пароль для пользователя fu - bar. Разумеется, пользователь должен быть создан с использованием useradd.
Другим решением было бы использовать chpasswd, поскольку второй самый высокий голосовой ответ подсказывает:
echo fu:bar | chpasswd
У меня есть испытали оба этих решения, и оба они работают.
Отредактировано для удаления информации adduser и укажите, какие предложения из связанного вопроса действительно работают.