管理者とは?管理者権限で実行する方法!
Linuxはマルチユーザーを採用しているOSです。一つのコンピュータをたくさんのユーザーで利用することを前提としているため、ユーザによってディレクトリへのアクセスを制限したり、コマンドの利用を制限することができます。
Linuxにはたくさんのユーザーが設定されていますが、中でも特別なユーザーがいます。それが「管理者:root」ユーザーです。
rootユーザーは最高の権限を持っているユーザーで、アクセス無制限でどんなコマンドも実行できます。コンピュータを破壊するような動作も可能です。
こうした性質からrootユーザーはスーパーユーザーとも呼ばれます。
コンピュータの設定を行う場合、rootユーザーで動かすのは便利ですがセキュリティ上の問題や誤った動作によりコンピュータが破壊されるのを防ぐために権限が低い一般ユーザーを利用するのが良いです。
Bash上では管理者は#
rootユーザーでBashなどのシェルを動かしているときには入力カーソルの左に「#」があります。
一般ユーザーでは「$」になっています。ここで一般ユーザーか管理者かを区別可能です。
解説サイトなどでコマンド入力例を見るときは#か$かで実行すべきユーザを判断しましょう。
suコマンド
suコマンドは一般ユーザーから管理者ユーザーに切り替える時に使用するコマンドです。
$ su $ 管理者パスワード入力 # root
sudoコマンドとは?
sudoコマンドはrootユーザーに切り替えることなく、管理者権限で実行できるコマンドです。
sudoコマンドが使えるユーザーはrootによって認証されたユーザーのみです。また、sudoコマンドはユーザーのパスワード入力で実行できます。rootのパスワードは不要です。
sudoコマンドの利点はセキュリティリスクを減らせることです。
- rootユーザーのパスワードが不要なので漏洩リスクがない
- ログが残るのでどのユーザーが管理者権限でコマンド実行したのか簡単に調べられる
suコマンドでは一般ユーザーにrootのパスワードを教えないのでパスワード漏洩のリスクを回避できます。
ログが残るというのも利点です。
例えば、一般ユーザーが切り替えたrootユーザーが実行したコマンドはログ上ではrootがやったことになります。一方でsudoコマンドではどのユーザーが管理者権限を使って実行したのかがわかるのでトラブル時の問題解決に役立ちます。
ログは、/var/log/secureに残ります。
sudoコマンドの使い方
sudoコマンドを使えるようにする方法を紹介します。
# su
→ルートユーザーに変更
# visudo
%wheel ALL=(ALL) ALL
→vi様エディタ上で上の一行を追加
# usermod -aG wheel (ユーザー名)
→wheelのサブグループにユーザー追加
# su - ユーザー
→一般ユーザーに切替
$ sudo yum update
→sudoコマンド使用できるか確認
$ユーザーのパスワード入力
→ユーザーのパスワードで管理者実行可能