第6回 rootになるのが面倒臭い(sudo)
root(管理者)になるのが面倒臭い
人間というものはいつの時代も堕落がつきものです。初めは初々しかった恋人たちも時が過ぎるにつれてやがて飽きてきます(←何の話?)
最初はLinuxのコマンドを少し実行してみるだけでドキドキしていたものです。ましてやviコマンドを使ってファイルの編集&セーブをやった日には緊張でキーボードを叩く指も震えたものです。
それが次第に慣れてくるにつれて「ああ………なんかいちいちコマンド入力するのもタリィな」などと思い始めているのではないでしょうか。特に管理者でしか実行できないコマンドや設定ファイルの編集とか。
Debianではサーバを最新の状態にするために特に使うaptコマンド。apt-get updateやapt-get upgradeを実行する度にいちいちsuコマンド実行して、root(管理者)のパスワードを入力しなければなりません。かといってずっとrootのままで操作するのも危険だし………。
そこで必要な時にだけroot権限で実行できるsudoという便利なコマンドがあります。
ここではsudoコマンドのインストールから設定、操作の実際までをご紹介します。
sudoコマンドのインストール
インストールは毎度おなじみのaptコマンドを使います。
まずは
でサーバを最新の状態にしてから、
これだけでインストールは終了。簡単ですね。
sudoコマンドの設定
sudoコマンドはインストールしただけでは使えません。
一時的にでもroot(管理者)権限としてコマンドの実行を許可するものですから、「誰が(どのユーザが)使えるのか?」ということは重要です。
そこでどのユーザがsudoコマンドを実行できるのかを設定を行います。
設定ファイルは/etcディレクトリ以下にあるsudoersというファイルです。この/etc/sudoersをviコマンドで直接編集してもよいのですが、ここはvisudoコマンドを使います。
コマンドを実行すると次のような編集画面が表示されます(fig 5.1)
fig 5.1で表示されているエディタはviみたいなマニアックなものではなく、どちらかというとWindowsで使っているテキストエディタ(テキストファイルなどを編集するソフトのこと)に近い操作感覚です。ここではGNU nanoというソフトを使っています。
設定ファイル(/etc/sudoers)の下の方に次のように書かれている行を探してみて下さい。
root ALL=(ALL) ALL
この設定だと今はroot(管理者)しかsudoコマンドの実行を許可していないことを表しています。
この"rootなんとか"と書かれた行の下に次のような内容を追加します(太字の部分)
root ALL=(ALL) ALL
hoge ALL=(ALL) ALL
これでrootしか使えないコマンド全てをユーザ"hoge"も実行できるように設定しました。
保存は[CTRL+o]キーで行います([CTRL]キーを押しながら[o]キーを押します)。
すると保存するファイル名を聞かれますので、/etc/sudoers以外のファイル名を指定します。ここでは/etc/sudoers.tmpというファイル名にしました。
設定を保存したら[CTRL+x]キーで編集画面を抜けます。
念のためにlessコマンドで先ほど書き加えた内容が設定ファイルに反映されているか確認してみましょう。
ちなみにsudoersファイルはroot(管理者)以外は書き換えることはもちろん表示することさえできない(権限がない)ので、ファイル内容の表示をする場合でもrootでコマンドを実行します。
下のように書き加えた内容が表示されていれば成功です(fig 5.2の(1)部分)
sudoコマンドの実行
せっかくsudoコマンドのインストール&設定を行ったので、さっそく使ってみます。
例えばサーバを最新の状態にするaptコマンドなら、ユーザ"hoge"のままで次のように入力します。
コマンドを入力すると最初の1回だけパスワードを聞かれますので、rootのパスワードではなくユーザ"hoge"のパスワード"hogehoge"を入力します。
※入力したパスワードは画面には表示されません。
入力したパスワードが正しければ、ユーザ"hoge"のままでapt-get updateが実行できるはずです。
今後の説明では特にsudoコマンドを使えとは書きませんが、rootでしか実行できないコマンドを見かけたらsuコマンドでrootになるか、あるいはsudoコマンドを先頭につけて実行します。
役に立つサイト
以下のサイトを参考にしました。この場を借りてお礼申し上げます。
- sudoによる一般ユーザへの管理権限の委譲
- ほとんどここのインスパイアという噂………。