Воссоздание пользователя на отдельном home-разделе
Предыстория: При установке ALT Linux (Simply Linux) на систему было выделено два раздела: один на систему, второй на home. После одного случая (при восстановлении файлов с внешнего сбойнго харда) home-раздел почему-то повредился и мне пришлось восстанавливать с него файлы (на другой раздел, благо их было немного). После этого раздел был отформатирован в другую файловую систему и использован для восстановления файлов с внешнего сбойного жесткого диска.
При этом раздел с системой остался цел.
После того как все было восстановлено, скопировано обратно и я спокойно вздохнул, передо мной встал вопрос: Когда я заново отформатирую раздел для home и пропишу его в fstab как мне заново создать на нем пользовательские папки? Не переустанавливать же систему?
1.В системе, которая не найдя home-раздела грузится в консоль, введите пароль root и выполните:
fdisk -l nano /etc/fstab
Посмотрите идентификатор вашего home-раздела.
И в fstab, в строке /home, если нужно, исправьте UUID (Если не используются идентификаторы вида /dev/* ).
2.Перезагрузитесь
3.Посмотрите список пользователей
grep -i "/home" /etc/passwd
4.Удалите старую учетную запись
userdel username
5.Создайте нового пользователя
useradd username passwd username
Если пользователь - администратор, то выполните:
adduser username wheel
6.Перезагрузитесь.
Способ не требующий удаления и повторного создания пользователя
Можно не пересоздавать пользователей, а скопировать "чистый" профиль из заготовки которая используется при создании новых пользователей. По умолчанию этот шаблон находится в /etc/skel
(либо смотрите содержимое /etc/default/useradd
, если у вас не так).
Первым делом нам необходимо узнать расположение домашнего каталога и идентификаторы самого пользователя и его основной группы:
grep username /etc/passwd
Команда вернёт строку разделённую двоеточиями, например username:x:500:500:Foma Kiniaev:/home/username:/bin/bash
, где нас интересуют первые 500 — идентификатор пользователя, вторые 500 — идентификатор группы и /home/username — путь к домашнему каталогу пользователя.
Создаём каталог и назначаем ему корректные права:
mkdir /home/username chmod 700 /home/username
Копируем содержимое шаблона в наш новый домашний каталог:
cp -a /etc/skel/. /home/username
Отзываем все права для группы и других пользователей:
chmod -R g-rwx,o-rwx /home/username
Назначаем владельцем пользователя:
chown -R UID:GID /home/username
где вместо UID и GID небходимо подставить прочитанные из /etc/passwd
идентификаторы пользователя и группы соответственно.
И последним этапом, если мы имеем дело с рабочей станцией и нам нужны каталоги «загрузки», «рабочий стол» и т.п., от имени пользователя для которого создаём каталоги необходимо выполнить:
xdg-user-dirs-update --force