Гид по технологиям

Изменение информации пользователя в Linux с помощью usermod

5 min read Системное администрирование Обновлено 13 Apr 2026
Изменение пользователя в Linux — usermod и советы
Изменение пользователя в Linux — usermod и советы

Переименование и изменение свойств учётной записи пользователя в Linux

Linux — многопользовательская система. Это требует управления учётными записями: уникальные имена, идентификаторы и права доступа. Прямое редактирование /etc/passwd возможно, но рискованно. Для большинства задач лучше использовать утилиты управления пользователями: usermod, chfn, passwd и сопутствующие инструменты.

В этой статье показаны команды для изменения имени пользователя, домашнего каталога, UID и отображаемого имени, а также приведён чек-лист и методика тестирования после изменений.

Смена имени пользователя в Linux

Информация о пользователях хранится в /etc/passwd. Вместо прямого редактирования файла рекомендуется применять usermod. Для выполнения команд нужны права суперпользователя (root) или sudo.

Команда для переименования учётной записи:

usermod -l newusername oldusername

Пример: переименовать makeuseof в muo:

sudo usermod -l muo makeuseof

После выполнения проверьте, что новая запись появилась в /etc/passwd:

getent passwd muo

Важно: эта команда изменяет только логин (username). Домашний каталог и другие ссылки останутся прежними, если явно не указать их изменить.

Переименование домашнего каталога

Если вы хотите, чтобы путь домашнего каталога соответствовал новому имени, используйте флаг -d вместе с -m — это переместит содержимое в новый каталог и обновит запись в /etc/passwd:

sudo usermod -d /home/muo -m muo

Проверка:

ls -ld /home/muo
getent passwd muo

Если домашний каталог располагается на сетевом хранилище (NFS) или у пользователя есть процессы, которые держат файлы, перемещение может не сработать. В таком случае остановите процессы пользователя или выполните перенос вручную с последующим обновлением записи в /etc/passwd.

Назначение нового UID

UID — это неотрицательное целое число, которое однозначно идентифицирует пользователя. Диапазон 0–99 обычно зарезервирован для системных пользователей. Чтобы дать пользователю новый UID, используйте:

sudo usermod -u  

Пример:

sudo usermod -u 1050 muo

После изменения UID файлы в /home пользователя автоматически будут переназначены на нового владельца (usermod пытается обновить владельца в домашнем каталоге). Файлы вне /home не меняются автоматически — их нужно найти и исправить вручную:

# найти файлы с прежним UID и поменять владельца на новый UID
sudo find / -xdev -uid OLD_UID -exec chown NEW_UID {} +

Для безопасности сначала выполните поиск без chown, чтобы убедиться, какие файлы будут затронуты.

Изменение отображаемого имени пользователя

В /etc/passwd есть поле «GECOS» (finger information) — оно содержит отображаемое имя, отдел и телефоны. Отображаемое имя можно менять двумя способами.

С помощью usermod

sudo usermod -c "First Last" username

Пример:

sudo usermod -c "Make UseOf" muo

С помощью chfn

sudo chfn -f "First Last" username

Пример:

sudo chfn -f "Make UseOf" makeuseof

chfn удобен для интерактивного редактирования нескольких полей GECOS.

Практическая методика: шаги перед, во время и после изменений

Краткая методика действий для безопасной смены имени/UID/домашнего каталога:

  1. Подготовка
    • Сделать резервную копию /etc/passwd, /etc/shadow и /etc/group:
sudo cp /etc/passwd /etc/passwd.bak
sudo cp /etc/shadow /etc/shadow.bak
sudo cp /etc/group /etc/group.bak
  • Уведомить пользователя и при возможности запросить выход из сессий.
  • Проверить, не управляется ли учётная запись извне (LDAP, AD, SSSD, NIS).
  1. Выполнение

    • Переименовать логин: usermod -l
    • Переименовать домашний каталог: usermod -d -m
    • Поменять UID: usermod -u и затем скорректировать владельцев вне /home
    • Обновить sudoers/cron/ACLs, где встречается старое имя или UID
  2. Проверка

    • getent passwd
    • id
    • ls -lR /home/
    • ps -u (убедиться, что нет старых процессов)
    • проверить доступы, sudo, ssh-клЮчи
  3. Откат (если нужно)

    • Восстановить файлы из резервной копии
    • Вернуть старый UID/имя

Когда команды не сработают: типичные причины и контрмеры

  • Учётная запись управляется LDAP/AD/SSSD: изменения в /etc/passwd будут перезаписаны. Контрмера: вносите изменения в систему управления идентичностью (LDAP/AD).
  • Новое имя или UID уже заняты: сначала освободите конфликтующие записи или выберите другой идентификатор.
  • Пользователь активно вошёл в систему: завершите сессии (pkill -u), затем повторите операцию.
  • Домашний каталог — смонтированное сетевое хранилище с ограничениями: выполните перемещение через администраторские инструменты хранилища.

Альтернативы и дополнительные инструменты

  • vipw/vigr — безопасное редактирование /etc/passwd и /etc/group с блокировкой.
  • userdel + useradd — удалить и заново создать пользователя с нужными параметрами (опасно — потеря данных без предварительного сохранения).
  • GUI-утилиты (в дистрибутивах с рабочим столом) для управления пользователями.
  • ldapmodify — если ваша инфраструктура использует LDAP/AD.

Критерии приёмки

  • Учетная запись появляется в /etc/passwd с новым именем/UID.
  • id показывает ожидаемый UID и группы.
  • Домашний каталог доступен и принадлежит пользователю.
  • Сохранены и обновлены записи sudoers, cron, ACLs и сервисные зависимости.
  • Нет «зависших» процессов старого пользователя.

Чек-лист для администратора

Перед изменениями

  • Сделать резервные копии /etc/passwd, /etc/shadow, /etc/group
  • Проверить внешнее управление (LDAP/AD)
  • Сообщить пользователю и остановить его процессы

Во время изменений

  • Выполнить usermod с нужными флагами
  • Перенести домашний каталог при необходимости
  • Обновить права на файлы вне /home

После изменений

  • Проверить id, getent, ls -ld
  • Тестировать вход по SSH/GUI и sudo
  • Обновить документацию/мониторинг

Безопасность и рекомендации

  • Всегда работайте под root или через sudo. Неправильные действия в /etc/passwd могут привести к невозможности входа в систему.
  • Перед изменениями делайте резервные копии конфигурационных файлов.
  • Если у пользователя есть ключи SSH, проверьте пути и права доступа после переименования.
  • При смене UID убедитесь, что файлы вне /home также обновлены — иначе будут проблемы с доступом.

Короткая методика проверки (команды)

# проверить запись в passwd
getent passwd muo
# проверить UID и группы
id muo
# проверить домашний каталог
ls -ld /home/muo
# найти файлы с прежним UID
sudo find / -xdev -uid OLD_UID

Глоссарий

  • UID — уникальный идентификатор пользователя в системе.
  • GECOS — поле в /etc/passwd, содержащее отображаемое имя и контактные данные.
  • usermod — команда для изменения параметров существующей учётной записи.
  • chfn — команда для редактирования полей GECOS.

Заключение

Команда usermod — основной инструмент администратора для изменения логина, UID и домашнего каталога пользователя в Linux. Для изменения отображаемого имени удобно использовать usermod -c или chfn. Перед операциями убедитесь в наличии резервных копий, проверьте внешние источники учётных записей и скорректируйте права на файлы вне домашнего каталога. Следуйте чек-листу и выполните проверку после изменений, чтобы избежать проблем с доступом.

Важно: если ваша инфраструктура использует централизованную систему управления пользователями (LDAP/AD), изменения нужно делать в ней, а не локально.

Summary: следуйте процедуре подготовки, аккуратно применяйте usermod, проверяйте результаты и фиксируйте изменения в документации.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Установка Windows 10 в KVM на Linux
Виртуализация

Установка Windows 10 в KVM на Linux

Как оценить срок службы SSD и продлить его
SSD

Как оценить срок службы SSD и продлить его

Double Tap на старых Apple Watch — как включить
Руководство

Double Tap на старых Apple Watch — как включить

Как перенести секретные чаты Telegram на Android
Мобильные приложения

Как перенести секретные чаты Telegram на Android

Как разобрать и почистить контроллер Xbox One
Ремонт контроллеров

Как разобрать и почистить контроллер Xbox One

Удалённый доступ к Windows 10/11 с Mac — настройка
Инструкции

Удалённый доступ к Windows 10/11 с Mac — настройка