Почему домашний каталог не создается при создании нового пользователя?


15

Я создал нового пользователя (testuser), используя useraddкоманду на виртуальной машине сервера Ubuntu. Я хотел бы создать домашний каталог для пользователя, а также дать ему корневые привилегии.

Однако, когда я вхожу в систему как новый пользователь, он жалуется, что нет домашнего каталога. Что я делаю неправильно?


Я ответил на главный вопрос о создании домашнего каталога. Предоставление новому пользователю root-доступа - это не связанная с этим проблема, которую следует задавать отдельно. По сути, вам просто нужно добавить пользователя в sudoгруппу.
Тердон

Ответы:


22

Наконец то я кончила

Это ответ

   useradd -m -d /home/testuser/ -s /bin/bash -G sudo testuser

1
что делает флаг -d или флаг -G
Александр Миллс

Вы проверяете, используя команду man. просто выполните "man useradd".
Новичок

1
-mсоздает домашний каталог, если он не существует. -dпереопределяет местоположение домашнего каталога по умолчанию. -sустанавливает оболочку входа в систему для пользователя. -Gожидает разделенный запятыми список групп, к которым должен принадлежать пользователь.
Аластер Харрисон

@Beginner you check using man command.Это ноль полезного ответа, вы могли бы просто объяснить, ПОСЛЕ ТОГО, КАК вы помните людей о manфункции.
MS

@AlastairHarrison Хвала вам.
MS

21

useraddПрограмма устарела в пользу adduser. От man useradd:

useradd - это утилита низкого уровня для добавления пользователей. В Debian
администраторы обычно должны использовать вместо этого adduser (8)
.

adduserявляется более дружественным интерфейсом useraddи будет делать такие вещи, как создание пользовательских каталогов по умолчанию. Когда вы запускаете его только с именем пользователя в качестве аргумента, вам будет предложено указать дополнительную информацию, такую ​​как пароль:

$ sudo adduser testuser
Adding user `testuser' ...
Adding new group `testuser' (1002) ...
Adding new user `testuser' (1002) with group `testuser' ...
Creating home directory `/home/testuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for testuser
Enter the new value, or press ENTER for the default
    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] 

В общем, вы должны всегда использовать adduserвместо, useraddтак как это также автоматически настроит необходимые группы. Как объяснено в man adduser:

   adduser  and  addgroup  add users and groups to the system according to
   command    line    options    and    configuration    information    in
   /etc/adduser.conf.   They  are  friendlier  front ends to the low level
   tools like useradd, groupadd and usermod programs, by default  choosing
   Debian  policy conformant UID and GID values, creating a home directory
   with skeletal configuration, running a custom script,  and  other  fea‐
   tures. 

1
я не хочу использовать команду adduser.
Новичок

4
@ rajcoumar ммм, почему? Это правильный инструмент для работы. Если вы настаиваете на использовании неправильного инструмента, вам придется вручную создать домашний каталог и группы пользователей, а также скопировать файлы по умолчанию /etc/skelи т. Д. И т. Д. Вот почему следует использовать Официальный путь Debian® adduser.
Тердон

1
#terdon я правильно .. но я пишу сценарий оболочки, используя только команду useradd
начинающих

@rajcoumar Хорошо, тогда вам нужно либо создать все вручную, либо просто изменить скрипт, чтобы использовать вместо него регулятор. Просто создайте файл /etc/adduser.conf.
Тердон

1
просто посмотрите на мой ответ, я не знаю, правильный ли он, но он работает для меня
начинающих

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.