Я пытаюсь создать нового пользователя в Ubuntu 14.04 LTS из командной строки удара. Я использую следующие команды:
sudo useradd -c "Samwise the Brave" sam
sudo passwd sam
Enter new UNIX password: hello-1234
Retype new UNIX password: hello-1234
passwd: password updated successfully
После создания этого нового пользователя я встретился с 3 проблемами:
Я не могу войти в Ubuntu с помощью пользователя sam. Каждый раз, когда я вхожу в систему, меня передают обратно экрану входа в систему.
Когда я изучаю /etc/passwd
файл, я вижу, что нет никаких оболочек по умолчанию, определенных для пользователя sam:
cat /etc/passwd | grep sam
sam:x:1003:1003:Samwise the Brave:/home/sam:
Домашняя папка Sam не была создана, т.е. /home/sam
не существует.
Какие-либо подсказки о том, что могло вызвать все эти проблемы?
Я должен отметить здесь, что, когда я создаю пользователя, использующего Центр управления Единицы, эти проблемы не происходят. Но я хотел бы смочь использовать командную строку, так как у меня есть десятки пользователей для создания.
Сначала заметьте, что лучше использовать adduser и не useradd.
Теперь назад к Вашей команде:
необходимо выполнить команду следующим образом:
sudo useradd -m -c "Samwise the Brave" sam -s /bin/bash
man useradd
-s, --shell SHELL
The name of the user's login shell. The default is to leave this
field blank, which causes the system to select the default login
shell specified by the SHELL variable in /etc/default/useradd, or
an empty string by default.
-m, --create-home
Create the user's home directory if it does not exist. The files
and directories contained in the skeleton directory (which can be
defined with the -k option) will be copied to the home directory.
By default, if this option is not specified and CREATE_HOME is not
enabled, no home directories are created.
, Таким образом, Вы отсутствуете для использования -s
для добавления оболочки входа в систему и -m
для создания дома.
newusers
. Это упростит Вашу задачу. man newusers
DESCRIPTION
The newusers command reads a file of user name and clear-text password
pairs and uses this information to update a group of existing users or
to create new users. Each line is in the same format as the standard
password file (see passwd(5)) with the exceptions explained below:
pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell
Здесь некоторое учебное руководство [приблизительно 118] команда:
Создайте пользователя
, Создают корневой каталог
пользователя, Определяют оболочку входа в систему
useradd -m -d /home/username username -s /bin/bash
, Удаляют Пользователя
Корневой каталог
userdel -r username
Пользователя Средства удаления В то время как Вы пропускаете флаги, и другие ответы не обязательно неправильно, рассматривая выполнение adduser, если Вы хотите его более всесторонний в будущем. Это - более симпатичная версия useradd. А именно, это приютит каталог по умолчанию в отличие от useradd. Также отметьте, когда это просит тонну материала, это хранит, это встраивает на/etc/passwd файле, и Вы не должны заполнять ни один из него.
Вы пропускаете флаги в команде useradd. '-m' для создания пользовательского каталога, '-s/bin/bash' для добавления оболочки удара. Значение по умолчанию не должно создавать пользовательский каталог и присваивать оболочку по умолчанию. Моя система сделала то же самое, когда я протестировал его так, это похоже на пробел использования человечности 14.04 как на оболочку по умолчанию. Вы не можете войти в систему, потому что у Вас нет оболочки.
Из Страницы справочника Ubuntu для useradd
-s, --shell SHELL
The name of the user´s login shell. The default is to leave this
field blank, which causes the system to select the default login
shell.
, Как Вы изменяете оболочку по умолчанию для ВСЕХ ПОЛЬЗОВАТЕЛЕЙ для избиения? Вопрос 335961
Спасибо все. С Вашими ответами я был в состоянии решить проблему с помощью следующих командных строк.
sudo useradd -c "Samwise the Brave" -m -s /bin/bash sam
echo -e "hello-1234\nhello-1234" | passwd sam
пароль установлен с passwd
, таким образом, он уже шифруется (иначе "привет 1234", казался бы не зашифрованным в/etc/passwd).