useradd is a low level utility for adding users. On Debian,administrators should usually use adduser(8) instead.
Обратите внимание на low level utility
Чтобы добавить пользователя, используйте adduser вместо. Это утилита более высокого уровня.
Более того, глядя на -d вариант:
-d, --home HOME_DIR The new user will be created using HOME_DIR as the value for the user's login directory. The default is to append the LOGIN name to BASE_DIR and use that as the login directory name. The directory HOME_DIR does not have to exist but will not be created if it is missing.
The directory will not be created if it is missing.
Как правило, держитесь подальше от useradd, использовать adduser вместо.
В соответствии с man useradd, -d /home/linda опция не приведет к созданию каталога /home/linda, если это отсутствует. Итак, вы должны создать его вручную. Для этого выполните следующие команды в терминале:
sudo -i #to get root privilegesmkdir /home/linda #to create the directory /home/lindacp -rT /etc/skel /home/linda #to populate /home/linda with default files and folderschown -R linda:linda /home/linda #to change the owner of /home/linda to user linda
Вы также можете изменить /etc/pam.d/common-session чтобы сделать так, чтобы домашний каталог пользователя создавался при первом входе в систему. Добавьте в этот файл следующую строку.
...session required pam_mkhomedir.so
Это особенно полезно, если ваша система находится в сети, где пользователи управляются извне на вашем компьютере, например, с помощью LDAP.
Наиболее вероятная причина, по которой у вас не был создан домашний каталог, заключается в том, что у вас не было CREATE_HOME yes в /etc/login.defs.
Вы можете исправить это, следуя тому, что предложили @OmPS или @Radu Rădeanu.
Но так много способов преодолеть эту проблему в будущем, используя одну из приведенных ниже команд:
Результат sudo adduser linda
Adding user 'linda'Adding new group 'linda' (1001) ...Adding new user 'linda' (1001) with group 'linda' ...Creating home directory '/home/linda' ...Copying files from '/etc/skel' ...****Password confirmation********Name prompt****
Значения по умолчанию для adduser выбираются из /etc/adduser.conf если--home опция не указана.Обратите внимание, что он также копирует /etc/skel содержание.
Используйте adduser с --home
sudo adduser --home /home/linda
То же, что и в предыдущем варианте, за исключением того, что это может потребоваться, если каталог usershome отличается от назначенного вами имени пользователя.
Укажите базовый каталог для useradd команда:
sudo useradd -b /home
Используйте login.defs: Измените /etc/login.defs и добавьте строку ниже, прежде чем делать sudo useradd:
CREATE_HOME yes
Примечание: если вы это сделаете man login.defs, в настоящее время в нем говорится
Большая часть функций, которые раньше предоставлялись набором теневых паролей, теперь обрабатывается PAM. Таким образом, /etc/login.defs больше не используется passwd(1) или меньше используется login(1) и su(1). Пожалуйста, вместо этого обратитесь к соответствующим файлам конфигурации PAM.
Используйте модуль pam_mkhomedir PAM: из man pam_mkhomedir страницу, добавьте строку ниже в /etc/pam.d/login:
DESCRIPTION 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. adduser and addgroup can be run in one of five modes:
useradd вы должны добавить все опции самостоятельно. Включая разрешения и некоторые другие вещи.adduser делает это на основе разумных значений по умолчанию (а также добавляет домашний каталог сам по себе).
Если вам нужно использовать adduser, вам, вероятно, понадобится опция -b вместе с опцией -d!