Чому домашній каталог не створюється, коли я створюю нового користувача?


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 Way® слід використовувати adduser.
тердон

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

@rajcoumar ОК, тоді вам доведеться або створити все вручну, або просто змінити сценарій, щоб замість цього скористатися регулятором. Просто створіть файл /etc/adduser.conf.
тердон

1
просто подивіться на мою відповідь, я не знаю, що вона є правильною, але вона працює для мене
початківець

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.