👥 Как создать домашний каталог для существующего пользователя Linux

by itisgood

По умолчанию, когда вы создаете пользователя в Linux, домашний каталог создается в каталоге /home.

Возможно вы заметили, что в производных дистрибутивах Ubuntu и Debian команда useradd по умолчанию не будет создавать домашний каталог.

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

В этом руководстве я покажу вам, как создать домашний каталог по умолчанию для существующего пользователя в системах Linux.

Создание домашнего каталога по умолчанию для существующего пользователя

В примере я использую Ubuntu 20.04 и собираюсь создать пользователя с именем ‘bob’ с помощью команды useradd:

$ sudo useradd bob
Команда useradd добавила запись домашнего каталога и в файл /etc/passwd
$ grep bob /etc/passwd
bob:x:1003:1003::/home/bob:/bin/sh
$

Если я попытаюсь войти в систему от этого пользователя, используя su -, система показывает logging in with Home=/

Это означает, что домашний каталог пользователя не создан.

$ su - bob
Password:
No directory, logging in with HOME=/
$

В Linux домашним каталогом пользователя по умолчанию является /home.

Чтобы создать домашний каталог по умолчанию, используйте команду mkhomedir_helper.

Обязательно запустите команду mkhomedir_helper от имени пользователя root или пользователя с доступом sudo.

$ sudo mkhomedir_helper bob
Предыдущая команда создает домашний каталог с именем “/home/bob” и файлы настроек пользователя.
$ ls -al /home/bob
total 20
drwxr-xr-x 2 bob  bob  4096 Jun  1 02:26 .
drwxr-xr-x 5 root root 4096 Jun  1 02:26 ..
-rw-r--r-- 1 bob  bob   220 Jun  1 02:26 .bash_logout
-rw-r--r-- 1 bob  bob  3771 Jun  1 02:26 .bashrc
-rw-r--r-- 1 bob  bob   807 Jun  1 02:26 .profile

В графической среде (например, GNOME или XFCE), если вам не хватает подкаталогов в домашнем каталоге, пользователь должен выйти из системы и войти обратно.

При первом входе пользователя в систему все подкаталоги, такие как папки Pictures, Documents, Videos, и Downloads , могут быть созданы в домашнем каталоге.

Другой метод – удалить пользователя и создать нового пользователя с помощью параметра -m или –create-home.

Следующая команда создает домашнюю папку (-m) и задаст указанный домашний каталог (-d) в качестве значения для входа нового пользователя:

$ sudo useradd -m -d /home/bob01 bob01

Заключение

В заключение, если вы являетесь поклонником Ubuntu, вы должны теперь использовать команду adduser.

Если у вас уже есть пользователь, теперь вы сможете добавить каталог по умолчанию.

 

 

You may also like

5 комментариев

Павел 07.07.2022 - 16:56

Не хрена не создаёт.

Reply
itisgood 08.07.2022 - 09:30

Какая ошибка?

Reply
Ольга 22.07.2022 - 13:44

Все получилось. Спасибо!

Reply
itisgood 23.07.2022 - 14:19

всегда рады

Reply
Oleg 27.04.2023 - 18:13

В школе 1000 учеников, у каждого свой логин: u1, u2,u3,…, u1000. Скрипт их создаёт бвстро с помощью useradd, но на диске не хватает места. Поэтому надо, чтобы до первого входа домашний коталог: /home/u1 – не существовал или был нулевого размера. А после первого входа создавался из ./skel.

Reply

Добавить комментарий для itisgood Cancel Reply