6.19.2011

なんでもsudoはよろしくない。

Ubuntuが台頭して以後、sudoコマンドによって、本来管理者でなければ起動できないコマンドを走らせるという管理方法が定着しているように思う。

特に最近はUbuntuベースのディストリビューションも数多く登場していて、Linuxが使えると称するためのスキルのひとつとして、sudoは外せないものになっていることは間違いない。

Ubuntu登場直後はsudoの設定に関する記事がIT系ウェブサイトに登場したり、システム管理者向けの雑誌にどのように使うかというhowto記事が掲載されたりもしていたが、最近では新たな解説記事を目にしなくなったことからも、一般的なコマンドの一つとして定着していると言える。

一見、sudoは利点ばかりに見えるが、最近ではある場合にこれを使うべきでないと主張する動きもある。

例えば先鋭ディストリビューションの雄であるaptosidがそのひとつだ。
マニュアルにわざわざsux/sudoという項目を設けて、sudoでなくsuxを使って作業すべきだと説いている。(suxはsuのラッパーとして動き、Xの資格情報やディスプレイ情報をサーバに送信するコマンド)

aptosidがsudoを使うべきでないとする理由はこうだ。

侵入者がもし一人のユーザーのパスワードを手にしても、すぐにスーパーユーザーの権利でシステムを破壊することができなくなるからです。(※「破壊することができるからです。」あるいは「破壊され、利用することができなくなるからです。」の誤訳だと思われる)

sudo のもう一つの問題点として、ユーザーの設定でスーパーユーザー用のコマンドを実行しているうちに、ファイルの権利設定を知らない間に変更してしまうことがあることです。このためにその後コマンドをユーザーとして実行できなくなってしまうような例もあります。

これは、LiveCDにはrootパスワードが設定されていないという前提に立っての発言であるわけだが、このあたりの分別をつけずに、なんでもsudoでという動きがあるのは、私はあまり良くないことだと思っている。

個人的な意見を言わせてもらえば、sudoはスーパーユーザで作業しているという緊張感のレベルをぐっと下げてしまうように思う。

例えばsuseではその昔、rootでXを立ち上げると、壁紙が爆弾マーク一色になる仕組みがあった。

本来管理者権限での作業は、そういう緊張感を持って行うべきものだと私は考えている。
たしかにsudoは便利だが、管理者としての作業という意識が下がってしまうことで招くトラブルは、何よりも深刻ではないかと考えている。

もちろん適切にアクセスコントロールをすれば問題ないのだろうし、きちんと理解した上で使えば便利なコマンドなのは確かだが「スーパーユーザで行うべき作業は全部sudoを通してやります」などと初心者向けを謳うサイトで、何の説明もなしに、おまじないのごとく解説されているのを見て、今回の記事を起こすに至った。

まとまりのない文章になったが、なんでもsudoはよろしくないという、私の意見である。

0 件のコメント: