doas(“do as”)は、Unix および Unix 系オペレーティングシステムのプログラムである。ユーザーが別のユーザーの権限レベルでプログラムを実行することを可能にする。多機能な sudo とは対照的に、小サイズでシンプルなプログラムである。

概要 doas は、設定ファイルに従って、指定されたコマンドを指定されたユーザに実行する権限を与える、というシンプルな機能を提供する。

doas は OpenBSD プロジェクトの成果物の一つである。OpenBSD で標準とされている他、FreeBSD や NetBSD 等の BSD ファミリー でも導入できる。ソースからビルドすることで Linux でも使用できる。また派生として Linux 向けのポータブルバージョン OpenDoas も別で開発されている。

設定ファイルの記述例 設定ファイル /etc/doas.conf で権限の定義を行う。公式マニュアルは doas.conf.5 。

user1 に root での procmap 実行をパスワード入力無しで行える権限を与える場合 permit nopass user1 as root cmd /usr/sbin/procmap user2 に完全な root 権限を与える場合(ただしパスワードが必要) permit user2 as root

歴史 doas は 2015 年 10 月の OpenBSD 5.8 のリリースにおいて公開された。BSD界隈四方山話 第25回 OpenBSD 5.8登場 - sudo(8)を廃止してdoas(1)を導入リリースノートで「base システムの sudo を doas (1) で置き換えました。sudo を使用する場合はパッケージから取得できます。」と説明された。

doas は Ted Unangst によって開発された。 「シンプルでセキュアなものをデフォルトにする」という OpenBSD プロジェクトの理念が反映されたものになっている。

脚注