doas: простой аналог sudo для Linux
Что такое 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 — шаги и советы
Минимальная методика миграции:
- Оцените, какие возможности sudo вы используете (include, Defaults, команды с привязкой к хосту).
- Переведите ключевые правила в /etc/doas.conf, используя cmd и nopass.
- Оставьте sudo параллельно и тестируйте работу сервисов и скриптов.
- Постепенно переводите пользователей и скрипты на 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 там, где нужна детализированная политика доступа.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone