No Web Service No Life

メルカリUS/UK版のPM。ブロダクトマネジメント・インターネットについて

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


操作するのが人である以上、オペミスは避けられません。
起きることを前提に、こういった仕組みでカバーしていこうと思います。


最新のWebサービス・スマホアプリの情報が毎日メールで受信できるキュレーションサービス『Service Safari』を運営しています。
エンジニアを募集していますので、ご興味のある方はFacebookやTwitterからご連絡ください。