このコマンドはroot(管理者)になり代わるためのコマンドです。先に紹介した「su」コマンドでもroot(管理者)に切り替えることは可能ですが、外部から接続している場合であればネットワーク上にroot(管理者)のパスワードが流れてしまいます(telnetよりもsshが使用されるのはこのためです)。セキュリティ上あまり良くないのは言うまでもありません。
そこで、この「sudo」を使用すればroot(管理者)のパスワードを入力しなくてもroot(管理者)権限でコマンドを使用することが可能になるので、可能であれば「su」ではなく「sudo」を推奨します。また、「sudo」コマンドで実行した操作のログはすべて残されていますので、管理者以外でコマンドを使用されても調査を容易に行うことが可能です。しかし、このコマンドを使用するためにはインストールが必要ですので、早速先ほど紹介した「apt-get」を使用してインストールしてみましょう。
上記のように入力すると、最新のパッケージをサーバからダウンロードしてインストールしてくれます。しかし、これだけでは「sudo」は使用できません。どのユーザーに権限を与えるかの設定が必要になってきます。設定するには「sudo」設定ファイル専用のコマンドで「visudo」を使用します。
このように入力すると設定ファイルの編集画面へ切り替わります。以前にも解説したように基本的に各コマンドやパッケージの設定ファイルはテキストファイルで構成されています。今回の「sudo」の設定ファイルも例外ではなく「/etc/sudoers」が設定内容を記入しているファイルです。
画面には編集ファイルの内容が表示されていますが「#」で始まる行はコメントですので読み飛ばしてください。設定ファイル最下部には以下のような記述が見つかるはずです。この意味はroot(管理者)はすべてのコマンドを許可するといった指定になっています。
ここで管理者権限を与えるユーザーを指定するには、上記のように最下行に【ユーザー名】ALL=(ALL) ALLと追記する必要があります。ここでは、前回インストール時に作成したユーザーの「hiroyuki」に、管理者権限を与える設定にしています。ここには実際に追加したユーザー名を記入してください。追加終了後、保存するには画面下部にある操作メニューを確認して「Ctrl」 +「x」入力後、「Y」、そして「Enter」で保存後、終了です。もしここで保存せずに終了すると、もちろん設定は反映されません。
では、一度root(管理者)からログアウトして一般ユーザーでログインし直しましょう。
Linuxでログアウトする際には「exit」コマンドを使用します。しかし、現在は日本語表示の環境に変更しているので2回「exit」と入力する必要があります。1回目は日本語環境からの抜け出し、2回目がログアウト処理です。
ログアウト終了後、再度一般ユーザーでログインし、「sudo」の動作確認のために、再起動をして試しましょう。再起動のコマンドは先に解説したようにroot(管理者)でしか実行できないコマンドです。
やはり、一般ユーザーのままではシャットダウンできませんが、今度はコマンドの最初に「sudo」を加えて入力してください。するとパスワードを聞いてきますので、現在ログインしているユーザーのパスワードを入力すると、シャットダウンが実行されます。
これで、root(管理者)のパスワードを入力することなく管理者権限が必要なコマンドを実行できるようになりました。今後は一般ユーザーでログインして、「sudo」コマンドで管理用のコマンドを実行します。
このコンテンツはサーバセレクト2006年7月号に掲載されたものを再編集したものです。
Copyright© 2010 ITmedia, Inc. All Rights Reserved.