Гид по технологиям

doas: простой аналог sudo для Linux

5 min read Системное администрирование Обновлено 07 Jan 2026
doas вместо sudo: руководство и сравнение
doas вместо sudo: руководство и сравнение

Руки печатают на клавиатуре ноутбука

Что такое doas?

doas — это утилита для выполнения команд от имени другого пользователя (обычно root). Она разработана в рамках OpenBSD как компактная альтернатива sudo. Основная идея — минимум опций и понятный конфигурационный файл.

Ключевые моменты:

  • Небольшой и легко читаемый код.
  • Простой конфиг в /etc/doas.conf.
  • Портируемая версия доступна для Linux и других UNIX-подобных систем.

Термин: doas — команда для делегирования привилегий другому пользователю.

Установка doas

doas обычно доступен в репозиториях популярных дистрибутивов. Команды установки зависят от дистрибутива:

Для Debian/Ubuntu (если пакет в репозитории):

sudo apt install doas

Примечание: пакет появился в Ubuntu 21.04, но отсутствует в 20.04 LTS по умолчанию.

Для Arch Linux:

sudo pacman -S opendoas

Для Fedora/CentOS:

sudo dnf install opendoas

Важно: имена пакетов могут отличаться (например, opendoas). Проверяйте репозитории вашего дистрибутива.

Конфигурация doas

В doas конфигурация хранится в одном файле: /etc/doas.conf. Формат прост и читаем.

Простой пример, дающий пользователю права root и сохраняющий «grace period» (не требует пароль несколько минут):

permit persist username as root

Если нужно разрешить всю группу (аналогично wheel/admin):

permit persist :wheel as root

Разрешение только на конкретные команды и без запроса пароля:

permit nopass user cmd apt cmd apt-get as root

Примечания по безопасности:

  • permit nopass убирает запрос пароля — используйте с осторожностью.
  • Можно ограничивать набор команд через ключ cmd для минимизации риска.

Примеры использования

doas используется так же, как sudo: просто подставьте doas перед командой.

doas apt update

Если нужно выполнить оболочку от имени root:

doas -s

Для выполнения команды от имени другого пользователя (не root):

doas -u otheruser command

Когда doas удобен

  • Малые системы и контейнеры, где лишний функционал sudo не нужен.
  • Администрирование, когда предпочтителен простой и читаемый конфиг.
  • Когда важна небольшая база кода и быстрое аудирование безопасности.

Ограничения и ситуации, где doas не подходит

  • Нет такой же тонкой настройки прав, как у sudo (например, привязка к хостам, сложные ACL и т. п.).
  • Некоторые дистрибутивы и инструменты ожидают именно sudo и не интегрированы с doas.
  • Администраторские скрипты, рассчитывающие на особенности sudo (например, sudoersinclude), могут работать некорректно.

doas vs sudo — краткое сравнение

  • Простота: doas выигрывает по простоте конфигурации.
  • Функциональность: sudo предлагает более сложные политики и расширенные опции.
  • Совместимость: sudo более распространён в Linux‑мире.

Факторы выбора: если вам важна простота и вы контролируете окружение — doas отличен. Если нужна гибкая политика доступов и совместимость — оставайтесь на sudo.

Миграция с sudo на doas — шаги и советы

Минимальная методика миграции:

  1. Оцените, какие возможности sudo вы используете (include, Defaults, команды с привязкой к хосту).
  2. Переведите ключевые правила в /etc/doas.conf, используя cmd и nopass.
  3. Оставьте sudo параллельно и тестируйте работу сервисов и скриптов.
  4. Постепенно переводите пользователей и скрипты на doas.

Критерии приёмки:

  • Основные админские операции выполняются через doas без ошибок.
  • Скрипты и службы, ожидающие sudo, протестированы и работают.
  • Оставшиеся специфические правила sudo либо реализованы, либо признаны ненужными.

Роль‑ориентированные чеклисты

Для системного администратора:

  • Проверить наличие opendoas в репозитории.
  • Установить пакет и создать /etc/doas.conf.
  • Тестировать ключевые сценарии (обновления, бекапы, службы).

Для разработчика/пользователя:

  • Узнать, какие команды разрешены в doas.conf.
  • Не добавлять nopass без одобрения администратора.

Альтернативные подходы

  • Оставить sudo и не переходить — самый безопасный вариант в больших средах.
  • Использовать su для переключения между пользователями, если требуется простая смена учётки.
  • Для управления доступом в корпоративной среде — SUDO + PAM/LDAP/SSO.

Decision flowchart

flowchart TD A[Нужна ли тонкая политика доступа?] –>|Да| B[Оставить sudo] A –>|Нет| C[Портируемое окружение?] C –>|Да| D[Рассмотреть doas] C –>|Нет| B D –> E[Тестировать параллельно с sudo] E –> F[Миграция при успехе]

Безопасность и лучшие практики

  • Ограничивайте список разрешённых команд через cmd.
  • Избегайте nopass для критичных команд.
  • Контролируйте права на /etc/doas.conf — только root должен иметь права на изменение.
  • Логируйте использование административных команд.

Совместимость и миграционные советы для Linux

  • На серверах с большим количеством автоматизации оставляйте sudo, пока не проверите все сценарии.
  • В контейнерных образах и минимальных системах doas часто предпочтительнее из‑за лёгкости.

Краткая сводка

doas — это простая и безопасная альтернатива sudo в тех случаях, когда нужна минимальная, легко проверяемая конфигурация. Однако в сложных инфраструктурах и при требовании тонкого контроля sudo остаётся предпочтительным выбором.

Важно: doas не является прямой заменой sudo во всех сценариях. Тестируйте и планируйте миграцию.

Фактбокс:

  • Тип: минималистичная утилита делегирования прав.
  • Конфиг: /etc/doas.conf.
  • Распространённость: изначально OpenBSD, порт для Linux.

1‑строчный глоссарий:

  • doas — команда для выполнения задач от имени другого пользователя, проще и компактнее sudo.

Короткое объявление (для рассылки, ~120 слов):

doas — компактная альтернатива sudo от проекта OpenBSD. Она предлагает понятный конфигурационный файл и меньший объём кода, что упрощает аудит и поддержку. Для большинства простых сценариев администрирования doas подходит лучше: установка и настройка занимают меньше времени, а синтаксис правил проще. Тем не менее, если ваша инфраструктура требует тонкой настройки политик доступа или вы используете инструменты, ожидающие sudo, полный переход потребует тестирования. Рекомендуется устанавливать и тестировать doas параллельно с sudo, ограничивать список разрешённых команд и не использовать nopass для критичных операций.


Короткое резюме:

  • doas прост в установке и конфигурации.
  • Подходит для легких и контролируемых окружений.
  • Не заменит sudo там, где нужна детализированная политика доступа.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство