Doas — полегшена альтернатива sudo для GNU/Linux і *BSD

Якщо ви користуєтеся Лінуксом лише на домашньому комп'ютері, то скоріш за все вам не потрібна уся та розширена функціональність sudo, яка тримає в собі 30 років історії розвитку проекту.

OpenBSD, початково Тед Унанґст, свого часу створили doas, дуже легку утиліту, щоб керувати дозволами користувачів. Як стверджує офіційна документація, doas

надає 95% функціональності sudo з дрібкою основної бази коду.

Далебі, sudo важить близько 5мб, натомість doas доходить лише до кількох кілобайтів.

А головне — файл конфіґурації в doas набагато простіший.

Кілька років як doas вже портована на GNU/Linux і на FreeBSD.

Отаман Вочевидячки підказує: щоб користуватися doas, треба спершу його встановити:

Gentoo:

emerge -a doas

FreeBSD:

pkg install doas

Коли встановилося, треба створити файл конфіґу doas.conf, котрий наразі не існує.

В Лінуксі цільова директорія для файлу має бути /etc/, у FreeBSD — /usr/local/etc/.

Скористуйтеся текстовим редактором вашого вибору, щоб створити файл. Я користуюся Vim'ом:

vim /etc/doas.conf

або для більш упорядкованого FreeBSD:

vim /usr/local/etc/doas.conf

І додаєте два рядки, щоб активувати дозволи для користувача:

permit nopass keepenv :wheel
permit nopass keepenv root as root

Так, усього лиш два! На противагу купі визначень у конфіґурації sudo.

Звісно ж, ваш обраний користувач має бути в групі wheel.

Можна додавати й по імені користувача замість імені групи — :bebyx, приміром.

Відтак вводьте команди з doas попереду замість sudo — і всьо буде чотко. Наприклад:

doas emerge -uaDN @world

Якщо не хочете давати безпарольного доступу користувачеві, замість nopass поставте persist:

permit persist keepenv :wheel

Це ввімкне стандартну в sudo функцію просити пароля лише вперше за сесію.

Докладніше про трюки в doas можна почитати англійською: flak.tedunangst.com/post/doas-mastery