「Linux」でsudoを使う–基本的な機能と操作
今回は「「Linux」でsudoを使う–基本的な機能と操作」についてご紹介します。
関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
筆者が最初に「Linux」に触れたとき、その使い勝手は今よりもはるかに複雑だった。ディストリビューションは、今よりも成熟度が大幅に低かっただけでなく、特定のことを実行するのに特定のシステムアカウントを使用する必要もあった。そのアカウントとは、rootのことだ。rootを使用すれば、OSを無制限に制御することが可能だった。
疑いを持たないユーザーにrootの威力を示すことのできる効果的な小技があった。それは、suコマンドを使用してrootユーザーに切り替えた後、以下のコマンドを実行するよう、そのユーザーに伝えることだ。
rmコマンドは、ファイルとフォルダーを削除するのに使用される。それをr(ディレクトリー内を再帰的に削除する)、f(警告メッセージを表示しない)と組み合わせると、rootフォルダー(/)内のすべてが削除され、システムが使用不能になる。
当時、管理者権限を必要とするコマンドはすべて、rootユーザーによって実行されていた。それを行うには、rootユーザーに切り替えるか(suコマンドを使用)、あるいは、rootユーザーとしてログインする必要があった。やがて、これら2つのオプションはセキュリティ上の問題とみなされるようになった。ユーザーがrootユーザーとしてログインした後、システムから離れると、ほかのユーザーがどんな操作でも実行できるようになってしまうからだ。rootユーザーに切り替えた後、ターミナルウィンドウを開きっぱなしにしておく場合についても、同じことが言える。
もちろん、問題はそれよりもはるかに複雑だ。rootユーザーにアクセスできるということは、ハッカーがシステムにアクセスした場合、rootユーザーに切り替えて、マシンに壊滅的な打撃を与えられることを意味する。
最終的に、何らかの措置を講じる必要があるという判断が下された。sudoは、その必要性から生まれたものだ。sudoは、「superuser do」の略で、事実上、管理者権限へのアクセスを通常のユーザー(管理者グループに属するユーザー)に付与する。これにより、2つの問題が解決した。
これはLinuxにとって重要な進歩だった。システムのセキュリティが強化されただけでなく、ユーザーの利便性も向上したからだ。
sudoを使用すると、rootユーザーに変更したり、rootユーザーとしてログインしたりしなくても、管理コマンド(ソフトウェアのインストールなど)を実行することが可能だ。rootユーザーアカウントを使用する場合と全く同じように、ユーザーはsudoを通してそれらの管理アクティビティーを実行することができる。その上、特定のシステムで誰が何を実行できるかということも、より細かく制御できる。管理者権限が必要なコマンドの実行を試みるとき、ユーザーはユーザーパスワード(sudoパスワードとも呼ばれる)を入力するだけでいい。コマンドは(適切に実行されている限り)問題なく発せられる。