Пользователи в Linux: типичные грабли с UID, группами и sudo
Новый аккаунт создан, а доступа к файлам всё равно нет — или у сотрудника внезапно появились лишние права. Разбираем типичные ошибки с пользователями Linux на примерах Debian 12 и Ubuntu 24.04 LTS.

Аккаунт создан — почему доступ всё ещё не работает
В Linux легко добавить пользователя и так же легко случайно выдать ему лишние права, потерять доступ к файлам или оставить их после удаления аккаунта. Ниже — практические приёмы для локальных учётных записей в Debian 12 и Ubuntu 24.04 LTS: на других дистрибутивах названия административных групп и настройки могут отличаться.
Самая частая ловушка — воспринимать пользователя как одно имя. На деле система оперирует числовым идентификатором UID, основным и дополнительными группами, домашним каталогом и оболочкой. Ошибка в любой из этих частей может выглядеть как проблема с правами, хотя имя аккаунта введено правильно.
Создавайте аккаунт с нужными параметрами сразу
Утилита useradd создаёт локальную запись. Пример ниже рассчитан на Debian 12 и Ubuntu 24.04 LTS. Команда создаёт домашний каталог и отдельную основную группу с тем же именем, а затем задаёт пароль интерактивно:
sudo useradd --create-home --shell /bin/bash --user-group irina
sudo passwd irinaНе подставляйте имя вслепую: проверьте, что такого пользователя ещё нет. После выполнения полезно сверить запись и группы:
id irina
getent passwd irinaВ выводе id проверьте UID и список групп. В строке getent passwd — домашний каталог и оболочку. Если каталога нет, а он нужен, сначала выясните, как аккаунт создавали: не запускайте рекурсивное изменение владельца наугад.
Сноска. UID — числовой идентификатор пользователя. Файловая система связывает владельца файла именно с UID, а не с отображаемым именем.
Группы: добавляйте, а не перезаписывайте
Чтобы дать пользователю административный доступ в обычной конфигурации Debian или Ubuntu, добавьте его в группу sudo:
sudo usermod --append --groups sudo irina
id irinaКлючевой здесь — --append. Если выполнить usermod --groups sudo irina без него, список дополнительных групп пользователя будет заменён на новый. Доступ к общей папке, контейнерам или устройству, выданный через другую группу, может пропасть.
После изменения групп пользователь должен начать новую сессию: уже открытая оболочка обычно продолжает работать со старым набором групп. Для SSH это означает переподключение, для графической среды — новый вход. Проверяйте результат внутри новой сессии командой id.
На других дистрибутивах административная группа может называться иначе. Например, в типовой конфигурации Rocky Linux часто используют wheel; не переносите команду для Debian или Ubuntu без проверки настроек системы. Само добавление в группу тоже не гарантирует, что sudo установлен и настроен.
Выдавайте только тот доступ, который нужен
Перед изменением прав решите, к чему именно нужен доступ. Добавить пользователя в привилегированную группу — не то же самое, что разрешить ему читать общую папку. Для регулярной работы выбор обычно сводится к трём вариантам:
| Способ | Когда подходит | Цена и риск |
|---|---|---|
| Общая группа | Нескольким людям нужен доступ к одним файлам или каталогу | Нужно поддерживать членство и права каталога; группа может дать доступ шире, чем ожидалось |
| sudo | Пользователю нужны административные команды | Ошибка в настройке может дать избыточные привилегии. Проверяйте правила через visudo, а не редактированием файла наугад |
| ACL | Нужно выдать доступ конкретному пользователю, не меняя основную схему групп | Права сложнее заметить при обычной проверке; учитывайте ACL при диагностике и резервном копировании |
Если нужен доступ к файлам команды, обычно проще создать понятную общую группу и включать в неё только тех, кому этот доступ необходим. Если человеку требуются отдельные административные действия, не добавляйте его в sudo автоматически: сначала проверьте, можно ли ограничить набор разрешённых команд. ACL удобен для точечного исключения, но требует дополнительной проверки при разборе прав.
Группа отвечает за доступ, а UID — за владельца файлов. Поменять одно и ждать, что автоматически изменится другое, — прямой путь к путанице.
Не путайте смену группы с переносом владения
У пользователя есть основная группа и дополнительные группы. Основная группа применяется, например, при создании новых файлов, если каталог и настройки не задают иное. Но изменение основной группы не переписывает владельцев уже существующих файлов. То же верно для смены UID: старые файлы сохранят прежнее числовое значение владельца.
Из-за этого после изменения UID команда ls -l может показывать незнакомое имя или числовой идентификатор. Не исправляйте ситуацию командой chown -R для всего диска: она способна затронуть системные файлы, данные других сервисов и подключённые каталоги. Сначала выясните, какие именно файлы принадлежат старому UID и на каких файловых системах они лежат, а затем меняйте владельца только у подтверждённого набора.
Как выбирать имя, UID и группы
Для обычного человека создавайте персональную учётную запись, а не общий аккаунт на отдел. Персональные записи упрощают аудит и отзыв доступа. Не назначайте UID вручную, если нет конкретной причины: дублирование UID связывает владельцев файлов с одним числовым идентификатором, даже если имена пользователей разные.
Служебные аккаунты — отдельный случай. Не используйте личную учётную запись для процесса, которому нужен постоянный доступ к файлам. Создание системных пользователей и назначение им оболочки зависят от пакета и дистрибутива; для службы предпочтительнее использовать инструкции её официальной документации, а не копировать команду для обычного человека.
Удаление аккаунта не убирает все его файлы
Удаление пользователя без предварительной проверки может оставить файлы с числовым UID бывшего владельца. Опция -r у userdel удаляет домашний каталог и почтовый ящик, но не гарантирует удаление файлов на других разделах и в общих каталогах. А повторное использование старого UID может неожиданно дать новому аккаунту доступ к оставшимся файлам.
Перед удалением сначала выясните, есть ли у пользователя запущенные процессы, задания и данные, за которые он отвечает. Для временного прекращения входа не обязательно сразу удалять аккаунт: способ блокировки зависит от способа аутентификации и настроек системы. Особенно проверьте SSH-ключи, автоматические задания и внешние сервисы, где могли сохранить его имя или UID.
- Проверьте идентичность и роль. Посмотрите запись через
idиgetent passwd; убедитесь, что это не системный или служебный аккаунт. Проверка успешна, если вы точно понимаете, какой UID и какие группы относятся к записи. - Составьте список того, что зависит от аккаунта. Проверьте домашний каталог, общие данные, процессы, задания и доступы к сервисам. Результат — вы знаете, что нужно сохранить, перенести или отключить.
- Сохраните нужные данные и согласуйте перенос владельца. Не меняйте UID и не удаляйте файлы до проверки резервной копии и списка данных. Проверка — необходимые файлы открываются из нового места, а резервную копию можно прочитать.
- Удалите или заблокируйте аккаунт выбранным способом. Перед удалением отдельно решите судьбу домашнего каталога и файлов вне него. Проверка — запись больше не даёт нужного доступа, а важные данные и рабочие процессы не пропали.
Что ломается чаще всего
- Пользователь не получил доступ после изменения групп. Перезапустите сессию и снова выполните
id. Если группы в выводе нет, проверьте, что команда не заменила остальные дополнительные группы и что вы меняли нужный аккаунт. - После обновления UID файлы показывают число вместо имени. Это не обязательно повреждение данных: владелец хранится как UID. Проверьте, кому принадлежит этот номер, прежде чем запускать массовый
chown. - В Debian или Ubuntu пользователь в группе sudo, но команда не работает. Убедитесь, что установлен и настроен sudo, проверьте членство в новой сессии и выполните команду с правами администратора. В других дистрибутивах проверьте имя группы и правила системы.
- После удаления остались файлы. Поиск ограничьте нужными файловыми системами и выполняйте с учётом нагрузки и прав доступа. Не удаляйте файлы только потому, что их владелец отображается числом: сначала проверьте UID и назначение данных.
Изменения пользователей могут затронуть доступы сервисов и общих каталогов. В рабочей системе сначала проверьте план на тестовой машине или в окне обслуживания: ошибка в группе обычно исправима, а удаление данных без копии — нет.
Следующий шаг: заведите учёт изменений
Перед следующей правкой зафиксируйте имя пользователя, UID, основную и дополнительные группы, домашний каталог и причину доступа. После изменения проверьте результат из новой сессии и отдельно убедитесь, что нужные файлы по-прежнему доступны, а лишние привилегии не появились. Для автоматизации управления учётными записями сверяйте параметры с документацией именно той версии дистрибутива, где будет работать конфигурация.
Защитник прав потребителей: Досудебные претензии на возврат товара со ссылками на ЗоЗПП.
Спросить за 15 ₽Источники: Руководство Debian 12: useradd, Руководство Debian 12: usermod
Частые вопросы
Почему пользователь добавлен в группу, но доступа всё равно нет?
Если я забыл --append в usermod, можно вернуть старые группы?
Удалятся ли все файлы пользователя вместе с аккаунтом?
Можно ли поменять UID без последствий?
Подойдут ли команды из статьи для другой версии или дистрибутива?
Что проверить перед удалением пользователя на сервере?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.