Учётные записи, группы и повышение привилегий без постоянного root.
Кто я: whoami, id, groups
whoami # aliceid # uid=1001(alice) gid=1001(alice) groups=...,1002(dev)groups # alice dev
uid — числовой идентификатор пользователя, gid — его первичная группа; root — это uid 0, для него проверки прав не выполняются. id alice покажет то же про другого.
sudo выполняет команду от root по твоему паролю и пишет каждое использование в журнал — поэтому он безопаснее постоянной работы под root, где любая опечатка в rm необратима.
Создать пользователя: useradd -m
sudo useradd -m -s /bin/bash alice # с домом и bashsudo passwd alice # задать парольgrep "^alice" /etc/passwd # проверить запись
Без -m домашний каталог не создастся, без -s шеллом будет /bin/sh. Учётки лежат строками в /etc/passwd, хэши паролей — в закрытом /etc/shadow.
Группы: usermod -aG (только с -a!)
sudo groupadd devsudo usermod -aG dev alice # ДОБАВИТЬ в группу# usermod -G dev alice — ЗАМЕНИТ весь список групп!id alice # проверить членство
Флаг -a означает append: без него -G заменяет список дополнительных групп целиком, и пользователь молча вылетает из sudo и docker. Новые группы процесс получает только после перелогина.
su: сессия под другим пользователем
su - alice # войти как alice (пароль alice)whoami # aliceexit # вернуться в свою сессию
Дефис у su - важен: он даёт полноценное окружение пользователя, а не только имя. Для админ-задач предпочитай sudo — он точечный и оставляет след в журнале.