二〇一五年 神無月 十八日 日曜日■ su と sudo のセキュリティ [/links]この記事は書かれてから1年以上経過しています。内容が古くなっている可能性があります。コメントの受付は終了しました。 Unix/Linux 系 OS では、なんでもできる権限を持った「スーパーユーザー」は通常 root と呼ばれる。root は本当になんでもできるので、システムを動かなくすることもできる。そのため、普段 root でログインするのは好ましくない。普段は通常ユーザーでログインして、必要に応じて root の権限を得る。そのためのコマンドに su と sudo がある。一般に、sudo は su のセキュリティを向上したものと言われる。ところが、sudoを使わない理由というページを見つけたので、su と sudo の違いについて改めて考えてみた。 su と sudo の大きな違いの 1 つは、su で root になるときには root のパスワードを入力する必要があるのに対し、sudo で root 権限を得るにはログインしているユーザーのパスワードを入力するということだ。第三者が root 権限が必要なコマンドを実行しようとした場合、su であればあるユーザーのユーザー名とパスワードに加えて root のパスワードを知らなければならないが、sudo ではユーザー名とパスワードを知っているだけでよい。その点だけ見ると、su の方がセキュリティ上よいように思える。 個人で運用しているサーバーなどで、管理者が 1 人であれば、確かに su のほうがよい。しかし、管理者が何人かいるような運用では、sudo に利点がある。 su を使うなら、それぞれの管理者に root のパスワードを教えなければならないが、それはよろしくない。また、sudo では、ユーザーごとに実行したコマンドのログが残るから、root 権限が必要なコマンドを誰がいつ実行したのかが記録される。さらに、sudo ではユーザーごとにどのコマンドをどの権限で実行できるか細かく指定できる。それに対し、su では、wheel グループに属するユーザーと属さないユーザーとで設定を変えるくらいしかできない。 さて、Mac OS X や Ubuntu では、root でのログインはできなくなっていて、sudo を使うことになっている(Mac OS X も Unix 系の OS であり、root ユーザーが存在する)。しかし、これらの OS は個人が使う場合のほうが多いはずで、セキュリティ上は sudo より su を使うほうがよいはずだ。なぜ sudo が使われるのだろうか。 これは推測だが、セキュリティより利便性を取ったのだろう。ログインパスワードはしょっちゅう入力するので忘れにくいが、root 権限が必要なコマンドは頻繁に実行するわけではないので、root のパスワードを忘れる人が続出することが懸念される。su では root のパスワードがわからないと root になれない。その点、sudo なら、覚えるべきパスワードは 1 つでよい。そのため、Mac や Ubuntu のような「一般向け」OS では sudo を使うようになっているのではないか。 |
カテゴリ
[/language] (98) 最新記事
◇ パスワードについてのあなたの常識はもはや非常識かもしれない・その1 [/links] |