root権限でコマンドを実行するためのsudoの設定

広告

一般ユーザーでログインしている時、「sudo」コマンドを使うことでroot権限がないと実行できないコマンドも実行することができます。ここでは「sudo」コマンドに関する簡単な説明と、sudoコマンドを使えるように設定する手順について解説します。

1.sudoコマンドとは
2.ユーザーをwheelグループへ追加
3.visudoコマンドを使ったsudoに関する設定
4.sudoを使ってroot権限でコマンドを実行

sudoコマンドは他のユーザーの権限でコマンドを実行する場合に使用するコマンドです。一般ユーザーでログインしている時にroot権限でコマンドを実行したい場合などに使います。

例えば「hogehoge」というコマンドを実行する時にsudoを前に付けて実行するとrootとしてコマンドが実行されます。(ユーザー名を指定しない場合はrootとして実行されます)。

[sakura@xxxxxxxx ~]$ hogehoge  <-- 現在ログインしているユーザーとして実行
[sakura@xxxxxxxx ~]$ sudo -u ume hogehoge  <-- umeユーザーとして実行
[sakura@xxxxxxxx ~]$ sudo hogehoge  <-- rootとして実行

sudoコマンドを使うには、あらかじめ特別なファイルにどのユーザーがどのユーザーの権限でどんなコマンドを実行できるのかを設定しておく必要があります。ユーザー単位で指定することもできますし、グループ単位で指定することもできます。

よく行われるのは管理者グループとして使われるwheelグループに対してroot権限でコマンドを実行できるようにsudoの設定を行っておき、root権限でsudoを使いたいユーザーをwheelグループに追加する、といった方法が良く使われているです。今後root権限でsudoを使いたいユーザーが新たに表れた時もwheelグループに追加するだけで済みます。今回もその方法で手順を解説します。

まずrootユーザーでサーバに接続して下さい。

p1-1

「sakura」ユーザーを「wheel」グループに追加します。次のように実行して下さい。

[root@xxxxxxxx ~]# usermod -G wheel sakura

p1-2

これで「sakura」ユーザーが「wheel」グループに追加されました。

次に「wheel」グループがsudoをroot権限で利用できるように設定します。設定ファイルは特別なもので、編集するには「visudo」コマンドを使います。

[root@xxxxxxxx ~]# visudo

p1-3

テキスト編集のためのviが実行され、sudoに関する設定ファイルが編集できる状態となります。

p1-4

下の方へスクロールしていってもらうと、例えばrootユーザーに対して次のように記述されています。

root    ALL=(ALL)       ALL

p1-5

この記述は次のような意味となります。

root  rootユーザーは
ALL=  全てのホストから
(ALL) 全てのユーザーとして実行でき
ALL   全てのコマンドが実行できる

特定のユーザー(「sakua」ユーザー)に対してrootと同じ設定を行うには次のように記述します。

sakura    ALL=(ALL)       ALL

今回はwheelグループに対してrootと同じ設定を行います。次のように記述します。(グループを指定する場合は名前の先頭に%を付けます)。

%wheel    ALL=(ALL)       ALL

直接記述してもいいのですが、先ほどのrootに関する記述のすぐ下あたりに同じ記述が既にされていて現在はコメントとなっています。

p1-6

先頭の「#」を外してこの行を有効にします。

p1-7

このファイルを保存してviを終了させて下さい。これで準備は完了です。

では実際に試してみます。一度ログアウトした後で、改めて「sakura」ユーザーでログインします。

p1-8

実行が許可されていないコマンドを実行しようとすると「許可がありません」とエラーが表示されます。

[sakura@xxxxxxxx ~]$ cat /var/log/secure

p1-9

今度は「sudo」コマンドを使ってrootとして同じコマンドを実行してみます。

[sakura@xxxxxxxx ~]$ sudo cat /var/log/secure

p1-10

パスワードの入力が必要となります。rootではなく「sakura」のログイン用パスワードを入力し、その後でEnterキーを押して下さい。正しいパスワードを入力すると、rootとしてコマンドが実行されます。

p1-11

今回はsudoを使った方法について記述しましたが、他にもユーザーを切り替える「su」コマンドを使って必要な時にrootに切り替わることもできます。状況に応じて使い分けるようにして下さい。

( Written by Tatsuo Ikura )