Разграничение прав пользователей в Ubuntu

    Команда Simple-Server
    03.06.2026
    11 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Основные пользовательские настройки

    С помощью команд можно управлять доступом к системе. Они предназначены для создания круга лиц, которые будут читать, редактировать или исполнять записанные на сервер данные. Существуют две пользовательские единицы в Ubuntu — пользователь и группа. Попробуем создать их, а затем удалить.

    Пользователь — это отдельный аккаунт, который может выполнять команды, иметь доступ к данным системы.

    Есть несколько способов создания юзера. Самый простой:

    sudo adduser имя_пользователя

    Система попросит создать пароль.

    New password: Retype new password: passwd: password updated successfully

    После ввода пароля система запросит дополнительные данные о пользователе: имя, офис, номера телефонов. Вы можете просто нажимать Enter при каждом запросе, чтобы оставить эти поля пустыми.

    Changing the user information for test Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y info: Adding new user `test' to supplemental / extra groups `users' ... info: Adding user `test' to group `users' ...

    На этом создание пользователя завершено.

    Как заблокировать и удалить пользователя

    Заблокировать юзера можно этой командой в консоли:

    sudo usermod -L имя_пользователя

    Если в дальнейшем вам нужно будет его разблокировать, то вместо флага -L напишите -U.

    Для удаления нужен другой синтаксис:

    sudo userdel -r имя_пользователя

    Флаг -r удаляет также домашний каталог юзера и все принадлежащие ему данные. Этот шаг необратим. Функция аналогична форматированию пользовательских папок. Если хотите сохранить всю информацию, которая принадлежала пользователю, то уберите флаг -r.

    Группа — набор из одного или нескольких аккаунтов, объединенных для совместного доступа к данным системы.

    Для создания новой группы введите в консоли команду ниже, заменив имя_группы на нужное вам имя:

    Чтобы добавить аккаунт в группу, используйте:

    sudo usermod -aG имя_группы имя_пользователя

    Здесь -a означает «добавить», -G указывает на группу.

    Чтобы удалить группу в Ubuntu, нужно ввести в консоль:

    Список всех юзеров и групп

    Таблицу с учетными записями системы можно получить, введя в консоль:

    Команда cat используется для отображения аккаунтов, содержащихся в файле passwd, он находится в системной папке /etc.

    Аналогично, ту же команду можно применить и для групп. Чтобы ее исполнить, введите в консоль:

    Эта команда возвращает на экран все записи, которые содержатся в group. По умолчанию, там расположены все группы.

    Просмотр всех групп пользователя и его прав

    В файле /etc/group есть информация обо всех группах в системе. Также здесь содержится список юзеров с принадлежностью к каждой группе.

    Для просмотра всех групп, в которых состоит юзер, используйте синтаксис:

    При выполнении только команды groups отображаются те группы, в которых состоит текущий юзер. Она не показывает все группы, существующие в системе.

    Чтобы в Ubuntu посмотреть права пользователя на использование команд sudo, достаточно посмотреть его принадлежность к sudo, о котором мы напишем ниже.

    Чтобы изменить пароль юзеру, нужно ввести:

    sudo passwd имя_пользователя

    После запуска passwd вам нужно будет придумать и ввести новый пароль для указанного аккаунта. Введите новый пароль и нажмите Enter.

    Каждый процесс (запущенная программа) в системе ассоциируется с идентификатором аккаунта, который указывает на юзера, инициировавшего процесс.

    Это позволяет отслеживать и управлять процессами, применять политики безопасности на уровне процессов и определять происхождение различных действий в системе.

    По умолчанию список User ID (UID) от 0 до 999 зарезервирован для системных целей, а когда мы создаем учётную запись, она получает идентификатор от 1000.

    Для проверки свойств учётной записи нужно ввести:

    grep имя_пользователя /etc/passwd

    grep ищет строку с именем в файле passwd, где хранятся записи о пользователях, и выводит всю строку, в которой встречается строка. Всего доступно семь полей, которые разделены знаком двоеточия.

    имя_пользователя:x:1001:1001: :/home/имя_пользователя:/bin/bash

    Чтобы сменить идентификатор, нужно ввести:

    usermod -u 2025 имя_пользователя

    В таком случае UID сменится на 2025.

    Для установки комментария к учётной записи можно ввести:

    usermod -c "Ненадежный работник" имя_пользователя

    Также можно создать и изменить домашний каталог с помощью:

    mkdir -p /catalog1/catalog usermod -d /catalog1/catalog имя_пользователя

    Для изменения оболочки входа в систему:

    usermod -s /sbin/nologin имя_пользователя

    Для установки срока действия пароля:

    usermod -e "2026-12-30" имя_пользователя

    Файл sudoers и права root

    В Ubuntu root-права пользователю по умолчанию выдаются только на 15 минут. Это продумано для того, чтобы юзер не представлял потенциальной опасности для системы.

    sudo — это команда, позволяющая юзеру использовать привилегии root.

    Основная идея заключается в том, чтобы предоставить юзеру как можно меньше привилегий и при этом позволить ему выполнить поставленную задачу. Здесь su означает‎ «заменять», а do — «выполнить».

    Утилита предназначена для управления правами учетных записей на основе файла конфигурации системы. Команда позволяет юзерам запускать программы с привилегиями суперпользователя.

    В этом разделе разберём, как правильно и безопасно разделять привилегии root, уделив особое внимание редактированию файла /etc/sudoers.

    Существует два основных способа, чтобы в Ubuntu дать права пользователю:

    • Добавить его в группу sudo. Таким образом он сможет исполнять команды с повышенными привилегиями.
    • Редактировать файл sudoers. Нужно внести изменения в системный файл и прописать привилегии.

    Эти способы дают постоянные права root. Таким образом, помимо администратора исполнять функции суперпользователя смогут и другие.

    Редактирование файла sudoers и его значение

    Sudoers — это файл, который определяет, кто имеет право доступа к sudo. Через него можно предоставить пользователю права суперпользователя в Ubuntu. Юзер с sudo имеет административные привилегии, то есть возможность редактировать файлы, которые не могут быть отредактированы через обычный аккаунт.

    • Изменять системные файлы.
    • Редактировать системные настройки.
    • Устанавливать и удалять программы.

    Редактировать файл sudoers вручную не рекомендуется. Неправильный синтаксис может привести к тому, что система сломается и получить повышенные привилегии будет невозможно. Важно использовать команду visudo для редактирования. Утилита проверяет правильность синтаксиса кода при исполнении.

    Чтобы добавить пользователя в sudoers, выполните:

    sudo visudo -f /etc/sudoers.d/имя_пользователя

    После чего добавьте строку:

    имя_пользователя ALL=(ALL) NOPASSWD:ALL

    Сохраните изменения и выйдите: CTRL + X, затем Y, а затем ENTER.

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

    Также есть одна интересная команда:

    Она представляет собой комбинацию sudo и su, где su — означает «заменить юзера».

    Используя sudo su, вы можете переключиться на пользователя root. Следовательно, все действия в рамках текущего сеанса будут выполняться с правами root.

    Тогда вам не нужно будет перед каждой новой командой писать sudo. Перед использованием в Ubuntu нужно создать пользователя с правами sudo.

    Следующим способом можно создать группу юзеров, к которой позже мы сможем обращаться:

    User_Alias (название) = [имя_пользователя_1, имя_пользователя_2…]

    В файле sudoers вы можете использовать директиву Alias для создания псевдонимов для групп хостов, пользователей, команд и других параметров. Алиасы позволяют сократить и упростить правила доступа.

    Пример использования директивы Alias в файле sudoers:

    User_Alias ADMINS = user12, user13 User_Alias WEBADMINS = www-data ADMINS ALL=(ALL:ALL) ALL WEBADMINS ALL=(www-data) /usr/sbin/apachectl
    • Сначала определили два алиаса: ADMINS и WEBADMINS. ADMINS содержит двух пользователей, а WEBADMINS содержит группу пользователей www-data.
    • Затем устанавливаются правила доступа. ADMINS означает, что все пользователи, входящие в группу ADMINS, имеют разрешение выполнять любые команды на всех хостах. WEBADMINS позволяет пользователям из группы WEBADMINS выполнять только команду /usr/sbin/apachectl от имени пользователя www-data.

    Интерактивный и неинтерактивный sudo

    Перед использованием sudo -i система может запросить ваш пароль, чтобы подтвердить вашу личность и убедиться, что у вас есть права sudo, которые обычно предоставляются администраторам или юзерам.

    sudo -s запускает оболочку с правами суперпользователя, sudo -i также получает среду пользователя root. Это удобно, если вам нужно запускать последовательные команды с привилегиями суперпользователя в текущей оболочке.

    Управление доступом к файлам

    Также можно в Ubuntu дать права пользователю на работу с папками. Существует три варианта групп разрешений. К ним относятся:

    • Владельцы. эти разрешения будут применяться только к владельцам и не будут влиять на другие группы.
    • Группы. Вы можете назначить определенные разрешения, которые будут действовать только для нее.
    • Остальные пользователи (не владельцы и не участники группы). Эти разрешения будут применяться ко всем учетным записям, поэтому они представляют наибольший риск для безопасности и должны назначаться с осторожностью.

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

    Чтобы добавить разрешение, введите:

    По приведенным примерам видно, что r означает чтение, w — запись, а x — выполнение.

    Разберем каждый тип по-отдельности:

    • Чтение (r). Позволяет учётной записи или группе просматривать файл.
    • Запись (w). Разрешает аккаунту записывать или изменять файл или каталог.
    • Исполнение (x). Аккаунт или группа с правами execute может выполнять файл или просматривать каталог.

    Начинающим пользователям может быть полезен онлайн-сервис chmod-calculator.com, который позволит легко собрать нужную комбинацию прав.

    Команда для изменения прав доступа к каталогам для владельцев групп аналогична, но добавьте g для группы или o для аккаунтов.

    Посмотрим на примерах. Разрешим запись для групп:

    Отнимем у групп возможность записывать и исполнять каталог:

    Дадим аккаунтам возможность записи каталога:

    Удалим права на чтение, запись и выполнение для пользователей, которые не являются владельцами каталога или не принадлежат к группе, имеющей права доступа к этому файлу:

    Чтобы изменить права доступа к каталогу для всех, используйте u для пользователей, g для группы, o для остальных, а также ug — если меняем права пользователя и группы или a (для всех).

    Здесь разрешаем чтение, запись и выполнение для всех:

    Даем право только на чтение для всех:

    Выполнив эти команды, можно изменить принадлежность каталогов:

    chgrp имя_группы имя_каталога

    Обратите внимание, что перед назначением групп файлам и каталогам необходимо выйти из группы.

    Еще одна полезная команда — изменение владельца файлов и каталогов:

    chown имя_пользователя имя_файла

    Эти команды меняют владельца, но все файлы и подкаталоги по-прежнему принадлежат первоначальному владельцу.

    Изменить владельца и группу рекурсивно для всех файлов и подкаталогов, находящихся в указанном каталоге, можно командой:

    chown -R имя_пользователя:имя_группы /путь/к/каталогу

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

    Изменить разрешения можно в числовом коде, для этого вместо r, w или x используются цифры:

    • 0 = Нет разрешения.
    • 1 = Исполнение.
    • 2 = Запись.
    • 4 = Чтение.

    По сути, вы складываете числа в зависимости от того, какой уровень прав вы хотите предоставить.

    Номера разрешений следующие:

    • 0 = нет
    • 1 = --x
    • 2 = -w-
    • 3 = -wx
    • 4 = r-
    • 5 = r-x
    • 6 = rw-
    • 7 = rwx

    — предоставляет права на чтение, запись и выполнение для всех.

    — даст права на чтение, запись и выполнение только для владельца.

    — даст права на запись и выполнение (3) для пользователя, w (2) для группы, и чтение, запись и выполнение для прочих пользователей.


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны