「Doas」の版間の差分
(他言語へのリンクを追加) |
(→設定: 情報を更新) |
||
41行目: | 41行目: | ||
{{hc|/etc/doas.conf| |
{{hc|/etc/doas.conf| |
||
+ | permit setenv {{{{ic|PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin}}}} :wheel |
||
− | permit :wheel |
||
+ | |||
+ | }} |
||
+ | |||
+ | {{Note| |
||
+ | * 設定ファイルは改行で終わる必要があります。 |
||
+ | * {{ic|setenv}} オプションは、OpenDoas の BSD 由来の [https://github.com/Duncaen/OpenDoas/issues/117 問題] を回避します。Linux では、{{ic|/usr/local/bin}} は一般的に実行可能ファイルを上書きするために使われるので、パッケージの実行可能ファイルを含む {{ic|/usr/bin}} の前に置かれます |
||
}} |
}} |
||
− | {{Note|設定ファイルは改行で終わる必要があります。}} |
||
{{ic|/etc/doas.conf}} の所有者および所有グループは {{ic|0}} に、ファイルのパーミッションは {{ic|0400}} に設定してください: |
{{ic|/etc/doas.conf}} の所有者および所有グループは {{ic|0}} に、ファイルのパーミッションは {{ic|0400}} に設定してください: |
||
67行目: | 72行目: | ||
詳しくは {{man|5|doas.conf}} を読んでください。 |
詳しくは {{man|5|doas.conf}} を読んでください。 |
||
− | |||
− | また、''doas'' コマンドの[[Bash#タブ補完|タブ補完]]を設定すると良いでしょう。 |
||
== ヒントとテクニック == |
== ヒントとテクニック == |
2023年7月6日 (木) 23:34時点における版
OpenDoas は OpenBSD の doas コマンドの移植版です。sudo と比べてサイズがかなり小さいことで知られています。sudo と同じように、doas はシステム上の他のユーザーとして実行したいときに使います。
インストール
opendoas パッケージをインストールしてください。
使用方法
非特権ユーザーで doas を使い始めるには、設定が必要です。#設定を見てください。
doas を使う時はコマンドとその引数の前に doas
とスペースを追加します:
$ doas cmd
例えば pacman を使う場合:
$ doas pacman -Syu
root のインタラクティブシェルを開くには:
$ doas -s
詳しくは doas(1) を参照してください。
設定
PAM モジュールはインストールされますが、デフォルトの設定やサンプルは含まれていません。
wheel グループのメンバーに他のユーザーとしてコマンドの実行を許可するには、以下の内容の設定ファイルを作成します:
/etc/doas.conf
permit setenv {PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin} :wheel
/etc/doas.conf
の所有者および所有グループは 0
に、ファイルのパーミッションは 0400
に設定してください:
# chown -c root:root /etc/doas.conf # chmod -c 0400 /etc/doas.conf
/etc/doas.conf
の構文エラーをチェックするには、以下のコマンドを実行:
# doas -C /etc/doas.conf && echo "config ok" || echo "config error"
plugdev
グループのメンバーが root ユーザーとして smartctl をパスワードなしで実行できるようにするには:
/etc/doas.conf
permit nopass :plugdev as root cmd /usr/bin/smartctl
/etc/doas.conf
の基本構文は以下のとおりです:
permit|deny [options] identity [as target] [cmd command [args ...]]
詳しくは doas.conf(5) を読んでください。
ヒントとテクニック
doas の persist 機能
doas には永続機能があります: ユーザーが認証成功した後、しばらくはパスワードを要求しなくなります。デフォルトでは無効になっているので、persist
オプションで有効にしてください:
/etc/doas.conf
permit persist :wheel
sudo から doas への移行
後方互換を保ちつつ sudo から doas にスムーズに移行するために、以下の設定を追加すると良いかもしれません:
alias sudo='doas' alias sudoedit='doas rnano'
または、代わりに、sudo を doas へのシンボリックリンクにします。(sudoedit(8) は提供しません):
# ln -s $(which doas) /usr/bin/sudo
opendoas-sudoAUR はこのシンボリックリンクも提供します。
Bash タブ補完
デフォルトでは、bash はカレントまたは参照ディレクトリ内のファイルとディレクトリのみをタブで補完します。引数を別のコマンドのように補完するようにするには(他のコマンドのタブ補完の設定も利用する)、次のようにユーザの .bashrc
またはグローバルの /etc/bash.bashrc
に追加します。
~/.bashrc
complete -cf doas