rootユーザーの利用方法
rootユーザーの利用方法
rootユーザーを利用する上での注意点とルール
rootユーザーには何でもできる権限がある一方、少しの操作ミスで重要なものを削除してしまうといった、
システム全体に影響を与えるようなリスクがあります。
基本は一般ユーザーとして、ログインする
常にrootユーザであることは大変危険ですので、通常の作業は一般ユーザーとしてログインし、
root権限が必要なときにのみ、一時的にrootユーザになって作業するのが一般的です。
root権限を使用する際は、専用のコマンドを使用する
その都度ログアウト/ログインし直すのは手間がかかるため、以下の専用のコマンドを使って、
一時的にroot権限が必要なコマンドを使用することができます。
suコマンドを使って、rootユーザーに切り替える
書式
一時的にユーザを切り替えるためのコマンドです。
引数にはユーザ名を指定しますが、ユーザ名を省略すると、rootユーザを指定したものと
みなされます。
※ -(ハイフン)の役割について
-(ハイフン)を付けると、コマンドの実行時に、切り替えたユーザのホームディレクトリに移動しますが、 反対に -(ハイフン)を付けないと、ユーザーを切り替えた後も、 カレント(現在の)ディレクトリは、 移動されません。
実践①:カレント(現在の)ディレクトリのパスを確認する
現在、一般ユーザー(user01)でログインしているため、パスを確認すると
一般ユーザーのホームディレクトリのパス(/home/use01)が表示されます。
※ use01でログインしてありディレクトリを移動していない場合の想定です。
1 | [user01@localhost ~]$ pwd |
図
実践②:rootユーザーに切り替える
次にrootユーザーに切り替えた後は、rootユーザーのホームディレクトリ(rootディレクトリ)が、カレント(現在の)ディレクトリになるのでパスを確認すると、次のような結果になります。
1 | [user01@localhost ~]$ su - |
図
実践③:元のユーザーに戻る
元のユーザーに戻るために、exitコマンドを使用します。
[root@localhost ~]# exit
ログアウト
[user01@localhost ~]$
図
※ rootユーザーの権限が必要な作業が終わったら、必ずexitコマンドを使って元のユーザーに戻ってください
実践④:ディレクトリを変更せずに、rootユーザに切り替える
今度は、カレント(現在の)ディレクトリを変更しないで、rootユーザに切り替えるために、-(ハイフン)をつけない状態で、suコマンドを実行しましょう。
1 | [user01@localhost ~]$ su |
3 | [root@localhost user01]$ pwd |
図
実践⑤:一般ユーザに戻ります
sudoコマンドで、root権限のコマンドを安全に実行
書式
rootユーザーの権限が必要なコマンドを実行するためのコマンド
このコマンドは、rootユーザーの権限が必要なコマンドを実行するためのコマンドです。
suコマンドはパスワードの入力が求められるので、rootユーザーのパスワードが漏洩するなどの
リスクがありますが、sudoコマンドはパスワードを使う必要がないので、より安全にroot権限を利用できます。
sudoコマンドの利用を許可する設定について
sudoコマンドを介してroot権限が必要なコマンドを実行できますが、ユーザーによってコマンドの利用権限は異なるので、当然、全てのユーザーがsudoコマンドを利用できる状況は好ましくありません。
そのため、Linuxではsudoコマンドは、使用権限が付与されたユーザーだけが利用できます。
では、使用権限を付与するためにはどうすればよいのでしょうか?
次のどちらかの方法で、権限を付与することができます。
実践①:sudoコマンドの利用権限を与える(wheelグループに追加する)
- 別のTeraTermを立ち上げ、rootユーザーでログインする
- 次のコマンドを実行する
wheelグループに追加
user01のグループIDを確認
2 | uid=1000(user01) gid=1000(user01) groups =1000(user01),10(wheel) |
図
実践②:sudoコマンドを利用する
-
一般ユーザー(user01)をログアウトし、再ログインする
グループへの所属、sudoの利用権限を有効にするために、再ログインが必要になります。
- 次のコマンドを実行する
1 | [user01@localhost ~]$ sudo tail /etc/shadow |
2 | あなたはシステム管理者から通常の講習を受けたはずです。 |
7 | [ sudo ] user01 のパスワード:kanda1234 |
8 | user02:$6$ v /hldgpx$h4sMxpPIlS4IkX…(以下省略) |
図
NEXT>> ユーザー操作で使用するコマンド