Ubuntu 14.04: у Нового пользователя, созданного из командной строки, есть недостающие возможности

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

  1. Я не могу войти в Ubuntu с помощью пользователя sam. Каждый раз, когда я вхожу в систему, меня передают обратно экрану входа в систему.

  2. Когда я изучаю /etc/passwd файл, я вижу, что нет никаких оболочек по умолчанию, определенных для пользователя sam:

    cat /etc/passwd | grep sam    
    sam:x:1003:1003:Samwise the Brave:/home/sam:
    
  3. Домашняя папка Sam не была создана, т.е. /home/sam не существует.

Какие-либо подсказки о том, что могло вызвать все эти проблемы?

Я должен отметить здесь, что, когда я создаю пользователя, использующего Центр управления Единицы, эти проблемы не происходят. Но я хотел бы смочь использовать командную строку, так как у меня есть десятки пользователей для создания.

17
задан 2 July 2015 в 00:11

5 ответов

Сначала заметьте, что лучше использовать 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] команда:

29
ответ дан 23 November 2019 в 02:19

Создайте пользователя

, Создают корневой каталог

пользователя, Определяют оболочку входа в систему

useradd -m -d /home/username username -s /bin/bash

, Удаляют Пользователя

Корневой каталог

userdel -r username
Пользователя Средства удаления
2
ответ дан 23 November 2019 в 02:19

В то время как Вы пропускаете флаги, и другие ответы не обязательно неправильно, рассматривая выполнение adduser, если Вы хотите его более всесторонний в будущем. Это - более симпатичная версия useradd. А именно, это приютит каталог по умолчанию в отличие от useradd. Также отметьте, когда это просит тонну материала, это хранит, это встраивает на/etc/passwd файле, и Вы не должны заполнять ни один из него.

1
ответ дан 23 November 2019 в 02:19

Вы пропускаете флаги в команде useradd. '-m' для создания пользовательского каталога, '-s/bin/bash' для добавления оболочки удара. Значение по умолчанию не должно создавать пользовательский каталог и присваивать оболочку по умолчанию. Моя система сделала то же самое, когда я протестировал его так, это похоже на пробел использования человечности 14.04 как на оболочку по умолчанию. Вы не можете войти в систему, потому что у Вас нет оболочки.

Создают корневой каталог по умолчанию для существующего пользователя в терминале (Вопрос 335961, 3-й Ответ)

Из Страницы справочника 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

0
ответ дан 23 November 2019 в 02:19

Спасибо все. С Вашими ответами я был в состоянии решить проблему с помощью следующих командных строк.

sudo useradd -c "Samwise the Brave" -m -s /bin/bash sam
echo -e "hello-1234\nhello-1234" | passwd sam

пароль установлен с passwd, таким образом, он уже шифруется (иначе "привет 1234", казался бы не зашифрованным в/etc/passwd).

1
ответ дан 23 November 2019 в 02:19

Другие вопросы по тегам:

Похожие вопросы: