一般ユーザーを作成して、必要な時だけroot権限を使えるようにします。
root権限を実行する時、コマンドの冒頭にsudoを追加します。
例えば、yumのアップデートをするこのコマンド。
$ yum update
一般ユーザーがsudoコマンドなしで実行するとこんなエラーがでます。
Loaded plugins: fastestmirror, langpacks
You need to be root to perform this command.
翻訳すると、このコマンドを実行するにはrootになってね。みたいなことを言っております。
今度はsudoコマンドを冒頭に追加して実行します。
$ sudo yum update
パスワードを入力すると無事にコマンドが実行されます。ここで入力するのは一般ユーザーのパスワードで、rootのパスワードではありません。その為、例えば複数人で運営している場合、root権限が必要なコマンドでも、各々のパスワードだけで実行することができます。
一人で運営しているとあまり関係ないような気もしますが、最高権限であるrootは、システムに深刻な影響がでるコマンドも実行できます。ちなみにsudoだとユーザーごとに使用できるコマンドを制限できるそうです。
Linuxでは通常作業をrootではなく一般ユーザーで行うのがデフォのようなので、設定してみます。
一般ユーザーを作成する
早速、一般ユーザーtestuserを作成します。
rootユーザーで作業します。
# useradd testuser
作成したユーザーのパスワード設定を設定します。
# passwd testuser
これで一般ユーザーが作成できました。
一般ユーザーがsudoコマンドを使えるよう設定する
なお、sudoコマンドを使うには作成したユーザーに設定が必要です。2通りのやり方があるみたいですが、どっちが良いんでしょう。。とりあえず両方とも調べました。
- wheelグループに一般ユーザーを所属させる
- 設定ファイルに一般ユーザーを追記する
※どちらか1つの方法で設定すれば良いと思います、
wheelグループにユーザーを追加する方法
sudoの設定ファイルは「/etc/sudoers」ですが、エディタ経由ではなくvisudoコマンドを使って開きます。
# visudo
ファイルの106行目くらいに次のような記述があります。
## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL
英語でコメントがありますが、翻訳すると「Wheelグループの人々が全てのコマンドを実行できるようにします。」とあります。新しく作成したtestuserをwheelグループに所属させれば良さそうです。この設定は有効のようなのでファイルは変更せずに終了します。
ユーザーのサブグループにWheelグループを追加する。
権限管理を柔軟に設定する為、ユーザーは複数のグループに所属することができます。ユーザーを作成した時、デフォルトでは自分と同じ名前のグループに所属しています。最初に所属しているグループをプライマリグループ。それ以外のグループをサブグループと呼びます。
testuserのサブグループにwheelを追加します。
# usermod -aG wheel testuser
これでtestuserはwheelグループに所属したことになります。所属しているグループを確認します。
# groups testuser
「testuser : testuser wheel」のようにwheelの文字が表示されていればOK。
testuserに切り替えて、実際にsudoコマンドが使えるか確認します。
testuserに切り替える
# su - testuser
sudoコマンドが使えるか確認します。
設定ファイルにsudoを使いたいユーザーを追記する
今度は設定ファイルを編集する方法です。先ほどwheelグループを確認した時と同様に、rootユーザーでvisudoコマンドを実行してsudo設定ファイルを開きます。
# visudo
開いたファイルの末尾にtestuserが全てのコマンドを実行できる設定を追記します。
testuser ALL=(ALL) ALL
ファイルを保存します。これでwheelグループに所属してなくてもsudoコマンドが使えるはず。。実際にtestuserに切り替えてsudoコマンドが使えるか確認します。
testuserに切り替える
# su - testuser
sudoコマンドが使えれば設定はOKです。
コメント