- Home ›
- VPSサービスの使い方 ›
- HERE
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ユーザーでサーバに接続して下さい。
「sakura」ユーザーを「wheel」グループに追加します。次のように実行して下さい。
[root@xxxxxxxx ~]# usermod -G wheel sakura
これで「sakura」ユーザーが「wheel」グループに追加されました。
次に「wheel」グループがsudoをroot権限で利用できるように設定します。設定ファイルは特別なもので、編集するには「visudo」コマンドを使います。
[root@xxxxxxxx ~]# visudo
テキスト編集のためのviが実行され、sudoに関する設定ファイルが編集できる状態となります。
下の方へスクロールしていってもらうと、例えばrootユーザーに対して次のように記述されています。
root ALL=(ALL) ALL
この記述は次のような意味となります。
root rootユーザーは ALL= 全てのホストから (ALL) 全てのユーザーとして実行でき ALL 全てのコマンドが実行できる
特定のユーザー(「sakua」ユーザー)に対してrootと同じ設定を行うには次のように記述します。
sakura ALL=(ALL) ALL
今回はwheelグループに対してrootと同じ設定を行います。次のように記述します。(グループを指定する場合は名前の先頭に%を付けます)。
%wheel ALL=(ALL) ALL
直接記述してもいいのですが、先ほどのrootに関する記述のすぐ下あたりに同じ記述が既にされていて現在はコメントとなっています。
先頭の「#」を外してこの行を有効にします。
このファイルを保存してviを終了させて下さい。これで準備は完了です。
では実際に試してみます。一度ログアウトした後で、改めて「sakura」ユーザーでログインします。
実行が許可されていないコマンドを実行しようとすると「許可がありません」とエラーが表示されます。
[sakura@xxxxxxxx ~]$ cat /var/log/secure
今度は「sudo」コマンドを使ってrootとして同じコマンドを実行してみます。
[sakura@xxxxxxxx ~]$ sudo cat /var/log/secure
パスワードの入力が必要となります。rootではなく「sakura」のログイン用パスワードを入力し、その後でEnterキーを押して下さい。正しいパスワードを入力すると、rootとしてコマンドが実行されます。
今回はsudoを使った方法について記述しましたが、他にもユーザーを切り替える「su」コマンドを使って必要な時にrootに切り替わることもできます。状況に応じて使い分けるようにして下さい。
( Written by Tatsuo Ikura )