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

TL;DR: useradd -m -s /bin/bash user — создать. usermod -aG group user — добавить в группу. passwd user — сменить пароль. /etc/passwd — пользователи, /etc/group — группы.

Пользователи

# Создать
sudo useradd -m -s /bin/bash -c "John Doe" john
# -m  создать домашнюю директорию
# -s  оболочка
# -c  комментарий (имя)
sudo passwd john                   # задать пароль
 
# Создать системного пользователя (без home, без login)
sudo useradd -r -s /usr/sbin/nologin appuser
 
# Изменить
sudo usermod -aG docker john      # добавить в группу (ВАЖНО: -a = append!)
sudo usermod -s /bin/zsh john     # сменить оболочку
sudo usermod -l newname john      # переименовать
 
# Удалить
sudo userdel john                 # оставить home
sudo userdel -r john              # удалить с home
 
# Информация
id john                           # uid, gid, groups
getent passwd john                # из /etc/passwd
finger john                       # если установлен

Группы

# Создать
sudo groupadd developers
 
# Добавить пользователя
sudo usermod -aG developers john  # ВСЕГДА с -a!
# Без -a → заменит ВСЕ группы на одну
 
# Удалить из группы
sudo gpasswd -d john developers
 
# Удалить группу
sudo groupdel developers
 
# Информация
groups john                       # группы пользователя
getent group developers           # члены группы

sudo

# Добавить sudo-доступ
sudo usermod -aG sudo john       # Debian/Ubuntu (группа sudo)
sudo usermod -aG wheel john      # Arch/Fedora (группа wheel)
 
# Или через visudo (безопаснее — проверяет синтаксис)
sudo visudo
# john ALL=(ALL) ALL              — с паролем
# john ALL=(ALL) NOPASSWD:ALL     — без пароля
# john ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx  — конкретная команда
 
# Проверить
sudo -l -U john                   # что может john

Типичные ошибки

ОшибкаРешение
usermod -G без -aЗаменяет все группы! Всегда usermod -aG
Группа не видна после usermodnewgrp group или перелогиниться
nologin пользователь не может suЭто штатно — системные пользователи не для логина
Забыли пароль rootRecovery mode → passwd root