sudoで実行できるコマンドを制限する
最新のアプリ・Webサービスを紹介するサービスサファリを運営しています。
rootのパスワードを知らなくても特権モードでコマンド実行できたり、実行履歴がログに残ったりと何かと便利なsudo。
しかし、何でも実行できてしまうと、結構リスクだったりします。
そこで、sudoで実行できるコマンドを制限すると、オペミスなども防げて安全性が高まります。
設定は、sudoの設定ファイルに、制限したいコマンドを定義するだけです。
まずは設定ファイルを開きます。visudoは、デフォルトのエディタで設定ファイルを開くコマンドですが、構文チェックもしてくれるので便利です。
visudo
設定ファイルのバックアップが取りたい場合は、以下のファイルがvisudoで開かれるファイルの実体なので、そちらをバックアップします。
/etc/sudoers
制限したいコマンドを、グループとして定義する。↓は、削除系のコマンドを定義した例です。
Cmnd_Alias REMOVE = /bin/rm, /usr/sbin/unlink, /bin/rmdir
後は、wheelの実行権限設定の箇所に、定義したコマンド群の名前を追記します。否定を表す「!」を頭につけます。
%wheel ALL=(ALL) ALL, !REMOVE
複数のコマンドグループを指定する場合は、カンマで区切ります。
%wheel ALL=(ALL) ALL, !REMOVE, !INIT
他にも、毎回パスワードを促す設定なども行えます。
Defaults timestamp_timeout = 0
操作するのが人である以上、オペミスは避けられません。
起きることを前提に、こういった仕組みでカバーしていこうと思います。