FreeBSDにdoasをインストールする

2 min read

こんにちは、無能です。
FreeBSDはsudoでもいいのですが、コマンド作業で例えばターミナル上で隣のタブではGNU/Linux環境上で作業していると同じsudoコマンドでFreeBSDも実行可能だと不本意な操作をしてしまう可能性が出るのでdoasにすることでsudoでの管理者権限実行をできなくしてしまったほうが安全そうだというだけでdoasにします。
これはFreeBSD Forumでも話題にされているようです。

pkgでインストール

日本語記事はこのQiitaの記事がとても丁寧な説明が行われています。

# pkg install doas
Updating FreeBSD repository catalogue...
Fetching data.pkg: 100%    7 MiB   7.5MB/s    00:01    
Processing entries: 100%
FreeBSD repository update completed. 35521 packages processed.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        doas: 6.3p12

Number of packages to be installed: 1

24 KiB to be downloaded.

Proceed with this action? [y/N]: y
[1/1] Fetching doas-6.3p12.pkg: 100%   24 KiB  24.6kB/s    00:01    
Checking integrity... done (0 conflicting)
[1/1] Installing doas-6.3p12...
[1/1] Extracting doas-6.3p12: 100%
=====
Message from doas-6.3p12:

--
To use doas,

/usr/local/etc/doas.conf

must be created. Refer to doas.conf(5) for further details and/or follow
/usr/local/etc/doas.conf.sample as an example.

Note: In order to be able to run most desktop (GUI) applications, the user
needs to have the keepenv keyword specified. If keepenv is not specified then
key elements, like the user's $HOME variable, will be reset and cause the GUI
application to crash.

Users who only need to run command line applications can usually get away
without keepenv.

When in doubt, try to avoid using keepenv as it is less secure to have
environment variables passed to privileged users.

そして、/usr/local/etc/doas.confを編集し以下のように記述します。

permit keepenv username

実行

これで、指定したユーザにスイッチしdoas commandを実行してみます。

$ su - username
$ doas vim /usr/local/etc/doas.conf
Password:

これでパスワードを入力し無事に実行できました。