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

Как мне это сделать? Я создал пользователя без домашнего каталога, и теперь я хочу создать его. Не просто папка с именем new_user, я хочу домашний каталог по умолчанию со всеми его папками и скрытыми файлами и т. Д.

5 ответов

Используйте следующее (как root или с sudo, если не root):

mkhomedir_helper username

Чтобы это работало, папка /home/username не должно существовать

Для папок, связанных с X (рабочий стол, файлы для загрузки и т. Д.), Вам потребуется войти в графическую среду; они будут автоматически сгенерированы при первом входе в систему.

Подкаталоги (Documents, Downloads и т. Д.) Автоматически создаются при первом входе пользователя в систему через GNOME при условии, что домашний каталог создан с правильными разрешениями. Вот демонстрация:

alaa @ aa-lu:~$ sudo useradd testinguseralaa @ aa-lu:~$ sudo passwd testinguser Введите новый пароль UNIX: введите новый пароль UNIX: passwd: пароль успешно обновленalaa @ aa-lu:~$ sudo ls -l / дома всего 20
drwxr-xr-x 55 alaa alaa  4096 22 августа 22:00 alaa
drwx------  2 root root 16384 5 июня 09:46 потерян + найденalaa @ aa-lu:~$ sudo mkdir / home / testinguseralaa @ aa-lu:~$ sudo chown testinguser: testinguser / home / testinguseralaa @ aa-lu:~$ ls -l / home всего 24
drwxr-xr-x 55 alaa        alaa         4096 22 августа 22:00 alaa drwx- ----- 2 root root 16384 5 июня 09:46 потерян + обнаружен drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:03 testinguseralaa @ aa-lu:~$ ls -l / home / testinguser / всего 0Аля @ аа-лу:~$

Вы можете проверить правильность установки домашнего каталога пользователя, проверив запись в /etc/passwd, По умолчанию вы должны увидеть домашний каталог, настроенный на /home/testinguser:

alaa @ aa-lu:~$ grep testinguser / etc / passwd
testinguser: x: 1001: 1001::/ home / testinguser: / bin / sh

Если вы не видите домашний каталог /home/testinguser там вам нужно будет выполнить команду sudo usermod -d /home/testinguser testinguser чтобы обновить его, хотя вам не нужно использовать эту команду, потому что она должна быть установлена ​​по умолчанию (в соответствии с useraddСтраницы).

Затем я вышел из своей учетной записи и снова вошел с testinguserи вот автоматически созданные подкаталоги:

alaa @ aa-lu:~$ ls -l / home / testinguser /
всего 36
drwxr-xr-x 2 тестирование пользователь тестирование пользователь 4096 23 августа 10:05 Рабочий стол
drwxr-xr-x 2 тестирование пользователь тестирование пользователь 4096 авг 23 10:05 Документы
drwxr-xr-x 2 тестированиепользователь тестированиепользователь 4096 23 августа 10:05 Загрузки
drwxr-xr-x 2 тестированиепользователь тестированиепользователь 4096 23 августа 10:05 Музыка
drwxr-xr-x 2 тестированиепользователь тестированиепользователь 4096 авг 23 10:07 Картинки
drwxr-xr-x 2 тестирование пользователь тестирование пользователь 4096 23 августа 10:05 Public
drwxr-xr-x 2 тестирование пользователь тестирование пользователь 4096 авг 23 10:05 Шаблоны
drwxr-xr-x 2 тестирование пользователя тестирование пользователя 4096 23 августа 10:05 Видео

Мне не нужно было копировать содержимое /etc/skel,

Если возможно, не могли бы вы попробовать выполнить следующие шаги, создав еще одного нового пользователя? Как только вы закончите, вы можете удалить этого нового пользователя с помощью sudo deluser testinguser && sudo rm -r /home/testinguser,

Если все это не сработало с вами, то я думаю, это ошибка.

ОБНОВЛЕНИЕ: Решение сломано и не работает для меня тоже.

Если вы хотите создать домашний каталог пользователя, если он не существует, запустите useradd команда с -m флаг. Это скопирует все файлы из /etc/skel каталог.

useradd -m username

Возможно, вам придется настроить параметры для вашей системы. Согласно справочной странице:

  -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.

и далее указывает:

CONFIGURATION

   The following configuration variables in /etc/login.defs change the behavior
   of this tool:

   CREATE_HOME (boolean)
       Indicate if a home directory should be created by default for new users.

Если вы создали нового пользователя с adduser команда, вам не нужно создавать домашний каталог для нового пользователя. Домашний каталог с именем пользователя в /home Каталог, со следующими подкаталогами: Рабочий стол, Загрузки, Документы, Музыка, Изображения, Видео (и другие), для нового пользователя будет создан автоматически.

Если вы создали нового пользователя с useradd команда, затем выполните следующие команды в терминале:

sudo -i     #enter your user password when you are asked
gedit /etc/passwd

редактировать /etc/passwd файл как корень (это самый важный шаг). Найдите строку с именем нового пользователя и задайте для него домашний каталог по умолчанию примерно так:

new_username:x:1001:1001::/home/new_username:/bin/sh

В этой строке вы также можете добавить реальное имя для нового пользователя или установить оболочку по умолчанию. Что-то вроде этого:

new_username:x:1001:1001:Real New Username,,,:/home/new_username:/bin/bash

Будьте осторожны, не вносите никаких других изменений.

После сохранения файла, прежде чем выходить из учетной записи root, выполните следующие команды:

mkdir /home/new_username                                #to create the directory /home/new_username
cp -r /etc/skel/. /home/new_username                    #to copy skeleton files to /home/new_username
chown -R new_username:new_username /home/new_username   #to change the owner of /home/new_username to the new user

После всего этого домашняя папка для нового пользователя будет автоматически заполнена после первого входа в систему.

Смотрите также: Как сделать домашнюю папку пользователя после создания учетной записи?

Все, что вам нужно, это домашняя папка, чтобы она работала. Как корень,

cd /home
cd mkdir username
chown username username
chgrp username username

При первом входе в систему должны быть созданы все необходимые файлы:

drwxr-xr-x 16 fotanus fotanus 4096 Jun  4 17:46 .
drwxr-xr-x  9 root    root    4096 Jun  4 17:43 ..
drwx------ 11 fotanus fotanus 4096 Jun  4 17:46 .cache
drwx------ 13 fotanus fotanus 4096 Jun  4 17:46 .config
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Desktop
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Documents
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Downloads
drwx------  3 fotanus fotanus 4096 Jun  4 17:46 .gconf
drwxrwxr-x  2 fotanus fotanus 4096 Jun  4 17:46 .gstreamer-0.10
-rw-------  1 fotanus fotanus  334 Jun  4 17:45 .ICEauthority
drwxr-xr-x  3 fotanus fotanus 4096 Jun  4 17:45 .local
drwx------  4 fotanus fotanus 4096 Jun  4 17:45 .mozilla
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Music
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Pictures
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Public
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Templates
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Videos
-rw-------  1 fotanus fotanus   55 Jun  4 17:45 .Xauthority
-rw-------  1 fotanus fotanus  711 Jun  4 17:45 .xsession-errors
Другие вопросы по тегам