doas(do as)とは
doas(「do as」と読む)は、Unixおよび
Unix系オペレーティングシステムにおいて、特定のユーザーが別のユーザーの権限でコマンドを実行できるようにするプログラムです。多機能な`sudo`コマンドと比較して、よりシンプルで軽量な設計が特徴です。
概要
doasは、設定ファイル(`/etc/doas.conf`)に記述されたルールに基づいて、指定されたユーザーに特定のコマンドを実行する権限を与える機能を提供します。これにより、システム管理者は、ユーザーに必要最小限の権限のみを付与し、セキュリティを向上させることができます。
主な特徴
シンプルさ: `sudo`に比べて、機能が限定されているため、設定が容易で、システムへの負荷も小さいです。
セキュリティ: 必要最小限の機能に絞ることで、セキュリティリスクを低減できます。
*
軽量: プログラムのサイズが小さく、リソース消費を抑えることができます。
利用環境
doasは、
OpenBSDプロジェクトの成果物であり、
OpenBSDでは標準ツールとして採用されています。また、FreeBSDや
NetBSDなどのBSDファミリーでも利用可能です。
Linux環境では、ソースコードからビルドすることで使用できます。さらに、
Linux向けの移植版であるOpenDoasも存在します。
設定ファイル
doasの設定は、`/etc/doas.conf`ファイルで行います。設定ファイルでは、どのユーザーがどのコマンドをどの権限で実行できるかを指定します。公式マニュアルは `doas.conf.5` で参照できます。
設定例
1. `user1` に、パスワードなしで `root` 権限で `procmap` コマンドを実行する権限を与える場合:
permit nopass user1 as root cmd /usr/sbin/procmap
2. `user2` に、パスワードを要求して `root` 権限を付与する場合:
permit user2 as root
歴史
doasは、2015年10月にリリースされた
OpenBSD 5.8で初めて導入されました。
OpenBSDのリリースノートでは、「baseシステムの`sudo`を`doas(1)`で置き換えました。`sudo`を使用したい場合はパッケージから入手できます。」と説明されています。
開発はTed Unangst氏によって行われ、「シンプルでセキュアなものをデフォルトにする」という
OpenBSDプロジェクトの理念を反映した設計となっています。
まとめ
doasは、`sudo`に代わるシンプルで軽量な代替ツールとして、セキュリティと効率性を重視する環境で広く利用されています。設定の容易さやリソース消費の少なさから、特に組み込みシステムやリソースが限られた環境で有効です。BSD系OSだけでなく、
Linux環境でも利用できる汎用性も魅力です。