Воссоздание пользователя на отдельном home-разделе: различия между версиями

Материал из ALT Linux Wiki
м (Petr-akhlamov переименовал страницу Участник:Petr-akhlamov/Воссоздание пользователя на отдельном home-разделе в [[Воссоздание пользователя на отдел…)
Нет описания правки
 
(не показаны 2 промежуточные версии 2 участников)
Строка 19: Строка 19:
4.Удалите старую учетную запись
4.Удалите старую учетную запись
  userdel ''username''
  userdel ''username''
 
[[Категория:HOWTO]]
5.Создайте нового пользователя
5.Создайте нового пользователя
  useradd ''username''
  useradd ''username''
  passwd ''username''
  passwd ''username''
Если пользователь - администратор, то выполните:
Если пользователь - администратор, то выполните:
  adduser ''username'' sudo
  adduser ''username'' wheel


6.Перезагрузитесь.
6.Перезагрузитесь.
==Способ не требующий удаления и повторного создания пользователя==
Можно не пересоздавать пользователей, а скопировать "чистый" профиль из заготовки которая используется при создании новых пользователей. По умолчанию этот шаблон находится в <code>/etc/skel</code> (либо смотрите содержимое <code>/etc/default/useradd</code>, если у вас не так).
Первым делом нам необходимо узнать расположение домашнего каталога и идентификаторы самого пользователя и его основной группы:
grep ''username'' /etc/passwd
Команда вернёт строку разделённую двоеточиями, например <code>''username'':x:500:500:Foma Kiniaev:/home/''username'':/bin/bash</code>, где нас интересуют первые ''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 небходимо подставить прочитанные из <code>/etc/passwd</code> идентификаторы пользователя и группы соответственно.
И последним этапом, если мы имеем дело с рабочей станцией и нам нужны каталоги «загрузки», «рабочий стол» и т.п., от имени пользователя для которого создаём каталоги необходимо выполнить:
xdg-user-dirs-update --force

Текущая версия от 22:28, 28 июля 2022

Предыстория: При установке 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