「Linux」でsudoを使う--基本的な機能と操作

Jack Wallen (Special to ZDNET.com) 翻訳校正: 編集部

2022-06-01 07:30

 筆者が最初に「Linux」に触れたとき、その使い勝手は今よりもはるかに複雑だった。ディストリビューションは、今よりも成熟度が大幅に低かっただけでなく、特定のことを実行するのに特定のシステムアカウントを使用する必要もあった。そのアカウントとは、rootのことだ。rootを使用すれば、OSを無制限に制御することが可能だった。

 疑いを持たないユーザーにrootの威力を示すことのできる効果的な小技があった。それは、suコマンドを使用してrootユーザーに切り替えた後、以下のコマンドを実行するよう、そのユーザーに伝えることだ。

rm -rf /

 rmコマンドは、ファイルとフォルダーを削除するのに使用される。それをr(ディレクトリー内を再帰的に削除する)、f(警告メッセージを表示しない)と組み合わせると、rootフォルダー(/)内のすべてが削除され、システムが使用不能になる。

 当時、管理者権限を必要とするコマンドはすべて、rootユーザーによって実行されていた。それを行うには、rootユーザーに切り替えるか(suコマンドを使用)、あるいは、rootユーザーとしてログインする必要があった。やがて、これら2つのオプションはセキュリティ上の問題とみなされるようになった。ユーザーがrootユーザーとしてログインした後、システムから離れると、ほかのユーザーがどんな操作でも実行できるようになってしまうからだ。rootユーザーに切り替えた後、ターミナルウィンドウを開きっぱなしにしておく場合についても、同じことが言える。

 もちろん、問題はそれよりもはるかに複雑だ。rootユーザーにアクセスできるということは、ハッカーがシステムにアクセスした場合、rootユーザーに切り替えて、マシンに壊滅的な打撃を与えられることを意味する。

 最終的に、何らかの措置を講じる必要があるという判断が下された。sudoは、その必要性から生まれたものだ。sudoは、「superuser do」の略で、事実上、管理者権限へのアクセスを通常のユーザー(管理者グループに属するユーザー)に付与する。これにより、2つの問題が解決した。

  • rootユーザーを無効化できるようになった(これにより、簡単に利用されるのを防ぐことができる)。
  • 管理者グループのユーザー以外は管理タスクを実行できなくなった(これについては後で詳しく説明する)。

 これはLinuxにとって重要な進歩だった。システムのセキュリティが強化されただけでなく、ユーザーの利便性も向上したからだ。

 sudoを使用すると、rootユーザーに変更したり、rootユーザーとしてログインしたりしなくても、管理コマンド(ソフトウェアのインストールなど)を実行することが可能だ。rootユーザーアカウントを使用する場合と全く同じように、ユーザーはsudoを通してそれらの管理アクティビティーを実行することができる。その上、特定のシステムで誰が何を実行できるかということも、より細かく制御できる。管理者権限が必要なコマンドの実行を試みるとき、ユーザーはユーザーパスワード(sudoパスワードとも呼ばれる)を入力するだけでいい。コマンドは(適切に実行されている限り)問題なく発せられる。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

マイナンバーカードの利用状況を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]