doas は、OpenBSDをはじめとするUnix系システムにおいて、ユーザーが管理者権限を一時的に取得するためのツールです。sudo と似たような機能を持ちますが、よりシンプルでセキュアな設計がされています。本書では、doas の設定方法や使用方法について詳しく解説します。

doasの概要

編集

doas は、Unix系オペレーティングシステムで利用可能な、シンプルな権限昇格ツールです。主に管理者権限を一時的に得るために使用され、特定のユーザーに root 権限を一時的に与えることができます。doas は、sudo よりも設定が簡素であり、セキュリティ面で優れているとされています。

インストール

編集

doas は、多くのUnix系システムで利用可能です。OpenBSDには標準でインストールされていますが、他のシステムではインストールが必要です。

OpenBSD

編集

OpenBSDでは、doas はデフォルトでインストールされています。特別な手順は必要ありません。

FreeBSD

編集

FreeBSDに doas をインストールするには、以下のコマンドを使用します。

# pkg install doas

または、Portsコレクションを使用してインストールすることも可能です。

# cd /usr/ports/security/doas && make install clean

Linuxのディストリビューション

編集

Debian/Ubuntu系では、以下のコマンドでインストールできます。

sudo apt-get install doas

Red Hat系(Fedora、CentOS、RHEL)では、以下のコマンドでインストールできます。

sudo dnf install doas

doas.confの設定

編集

doas.conf は、doas の設定ファイルで、ユーザーやグループにどのコマンドの実行を許可するか、またパスワードの要求の有無などを設定するファイルです。

基本的な設定例

編集

doas.conf ファイルは通常 /etc/doas.conf にあります(例外もあります。例えば、FreeBSDでは /usr/local/etc/doas.conf にあります)。以下は基本的な設定例です。

# ユーザー 'username' に root 権限を付与
permit username as root

# wheel グループに属するユーザーに root 権限を付与
permit :wheel as root

# doas グループに属するユーザーにパスワードなしで root 権限を付与
permit nopass :doas as root

設定項目の解説

編集
  • permit: 権限を付与するコマンドです。
  • nopass: パスワードを求めない設定です。
  • :wheel: wheel グループに属するユーザーに対して適用されます。
  • as root: コマンドを root 権限で実行できるようにします。

doasの使用方法

編集

doas を使用してコマンドを実行するには、次のようにします。

doas コマンド

例えば、doas を使ってシステムの更新を行う場合は次のようにします。

doas pkg_add -u

このコマンドは、root 権限でシステムのパッケージを更新します。

セキュリティ設定

編集

doas を適切に設定することは、システムのセキュリティを保つために重要です。次のポイントに留意してください。

  • グループ制限: doasroot 権限を与えるユーザーやグループを最小限に絞り、必要なユーザーのみにアクセスを許可しましょう。
  • パスワード要求: nopass を設定する際は、慎重に使用しましょう。パスワードなしでの実行はセキュリティリスクを高める場合があります。

トラブルシューティング

編集

doas に関するトラブルシューティングの際は、まず設定ファイル /etc/doas.conf を確認し、以下の点をチェックしましょう。

  1. 設定ミス: 設定ファイルに誤った構文がないか確認してください。
  2. パーミッションエラー: doas.conf のパーミッションが正しく設定されているか確認します(通常、600 が推奨されます)。

設定ファイルを変更した後、doas を使用する前にシステムを再起動するか、設定を再読み込みすることを忘れないでください。