PQ
PQ.Hosting

Валюта

Команда usermod в Linux: изменение имени, групп, UID и оболочки пользователя

Автор
PQ
02 марта 2026
3 мин чтения
8 просмотров

usermod — утилита для изменения параметров существующей учётной записи пользователя. В отличие от useradd (создание) и userdel (удаление), usermod работает с уже созданными аккаунтами и позволяет менять практически любые их атрибуты без пересоздания.

Требует прав суперпользователя. Все изменения вносятся напрямую в системные файлы /etc/passwd, /etc/shadow, /etc/group.

Синтаксис

usermod [опции] имя_пользователя

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

sudo usermod -l newusername oldusername

Меняет только имя входа. Домашняя директория, UID и содержимое файлов остаются прежними. Если нужно переименовать и домашнюю папку — добавить флаг -d с -m:

sudo usermod -l newusername -d /home/newusername -m oldusername

-m (move) физически перемещает содержимое старой домашней директории в новую.

Изменить домашнюю директорию

Задать новый путь без переноса файлов:

sudo usermod -d /new/home/dir username

Задать новый путь и перенести файлы:

sudo usermod -d /new/home/dir -m username

Без -m директория просто прописывается в /etc/passwd, но физически не создаётся и не заполняется.

Добавить пользователя в группу

Добавить в дополнительную группу (не удаляя из текущих):

sudo usermod -aG groupname username

Флаг -a (append) обязателен — без него пользователь будет удалён из всех текущих групп и добавлен только в указанную.

Добавить в несколько групп сразу:

sudo usermod -aG sudo,docker,www-data username

Проверить текущие группы пользователя:

groups username

Или подробно:

id username

Важно: изменение групп вступает в силу при следующем входе пользователя в систему. В текущей сессии новые группы не активны. Для применения без перелогина: newgrp groupname.

Изменить основную группу пользователя

sudo usermod -g newgroupname username

-g (строчная) меняет основную группу, -G (заглавная) — список дополнительных.

Изменить UID пользователя

sudo usermod -u 1500 username

Автоматически обновляет владельца файлов в домашней директории. Файлы за пределами домашней директории — обновить вручную:

find / -user старый_uid -exec chown -h username {} \;

Убедиться, что новый UID не занят:

grep 1500 /etc/passwd

Изменить оболочку пользователя

sudo usermod -s /bin/bash username

Список доступных оболочек:

cat /etc/shells

Распространённые варианты:

sudo usermod -s /bin/zsh username    # zsh
sudo usermod -s /bin/sh username     # sh (минимальная)
sudo usermod -s /usr/bin/fish username  # fish
sudo usermod -s /sbin/nologin username  # заблокировать вход в оболочку

/sbin/nologin — удобный способ создать системного пользователя для сервиса, которому не нужен интерактивный вход.

Заблокировать и разблокировать пользователя

Заблокировать (добавляет ! перед хешем пароля в /etc/shadow):

sudo usermod -L username

Разблокировать:

sudo usermod -U username

Проверить статус:

sudo passwd -S username

L в выводе — locked, P — active password.

Изменить срок действия аккаунта

Установить дату истечения:

sudo usermod -e 2025-12-31 username

Снять ограничение:

sudo usermod -e "" username

Изменить комментарий (GECOS)

Поле GECOS обычно содержит полное имя пользователя:

sudo usermod -c "Ivan Ivanov" username

Посмотреть текущий комментарий:

grep username /etc/passwd

Проверить изменения

После любых правок убедиться, что запись в /etc/passwd выглядит правильно:

grep username /etc/passwd

Формат записи:

username:x:1001:1001:Full Name:/home/username:/bin/bash

Поля по порядку: логин, пароль (x = в shadow), UID, GID, GECOS, домашняя директория, оболочка.

Шпаргалка

Задача Команда
Переименовать пользователя sudo usermod -l newname oldname
Переименовать + перенести домашнюю папку sudo usermod -l newname -d /home/newname -m oldname
Изменить домашнюю директорию sudo usermod -d /new/path -m username
Добавить в группу sudo usermod -aG groupname username
Добавить в несколько групп sudo usermod -aG g1,g2,g3 username
Изменить основную группу sudo usermod -g groupname username
Изменить UID sudo usermod -u 1500 username
Изменить оболочку sudo usermod -s /bin/bash username
Заблокировать пользователя sudo usermod -L username
Разблокировать пользователя sudo usermod -U username
Установить срок действия sudo usermod -e 2025-12-31 username
Изменить GECOS sudo usermod -c "Full Name" username

Поделиться статьей

Похожие статьи