sudo -i と sudo su- のどちらを使うべきか?

あなたは「”sudo -i”を使えるのに、なぜ “sudo su -“を使うのか?」と聞かれたら答えられるだろうか? 答えられないなら、”sudo -i” を使うべきだろう。理由は以下のとおりだ。

  • sudoを使えるということは管理者から明確に管理者権限を与えられている
  • su は本来rootのパスワードを知っている必要あるということ
  • sudo su は rootのパスワード知らなくてもsuする抜け道であるということ

“sudo su -” は suso権限を使った “su” コマンドの実行である。下の図を見てほしい。本来、su 系のコマンドは、rootユーザのパスワードを知っている人だけが使えるコマンドなのだ。そして、sudoは/etc/sudoersで明示的に許可された人が使える管理者権限でコマンドを実行するコマンドである。”sudo su -” は管理権限で、su を実行することで、rootのパスワードを知らなくても、suが実行できる抜け穴のようなものである。明示的に許可された”sudo -i” と同じようなコマンドなのに、あえて抜け道である”sudo su -“を使う理由は何なのか? あなたは玄関の鍵を持っているのに、わざわざ窓から家に入るのだろうか?

偉そうに書いてる筆者もつい最近までポケットに鍵が入っていることを知らずに窓から家に入っていた。

補足

これから管理権限を他人に付与する場合の運用をどうしようかと考えている運用者にはもちろん rootのパスワードを教えるのではなく、sudo権限を付与することをお勧めします。理由は以下のとおりです。

  • rootのパスワードを共有する必要がない
  • 管理者権限が不要になった場合はsudo権限を削除すれば良い
  • sudoを利用した場合は操作記録が残る

以上。

コメント