5.2 アカウントの種類
Linux Essentials Online Text | 2021/07/15

Linuxにおけるユーザの種類

Linuxには、特権を持つrootユーザと一般ユーザ、システムユーザの3種類があります。

rootユーザ
 Linuxシステムの管理者です。システムの起動、停止やソフトウェアのインストール・アンインストール、一般ユーザの追加、削除等システム運用全般に対して実行することができます。rootは植物の根が語源です。

● 一般ユーザ
 通常のユーザです。自分専用のディレクトリが与えられ、好きなように使用できます。

● システムユーザ
 システム内部で特定のプログラムを実行するための専用のアカウントです。システムユーザは特別な設定により、ログイン出来ないようになっています。

システムにログインすると、以下のような表示になっています。

[hogehoge@localhost ~]$
[ユーザ名@ホスト名 ~]$ という表示になっており、これをみれば「誰が」「どのホストに」「どのような権限で」ログインしているかを確認することができます。
この場合、「localhost」という名のホストに「hogehoge」という名のユーザが、一般ユーザ権限($)でログインしている、という意味になります。

rootユーザに切り替えるには、「su -」コマンドを実行します。

$ su -
パスワード:
最終ログイン: 2020/06/15 (月) 21:58:19 JST日時 pts/0
#

「パスワード:」の表示が出たら、rootユーザのパスワードを入力します。
このとき、パスワードは画面上に表示されませんので注意してください。rootユーザへの切り替えが成功すると[$]→[#]に切り替わります。[#]は、rootつまり管理者権限でログインしていることを示します。

一般ユーザに戻すには、「exit」を入力します。[$]になっていれば一般ユーザに戻っています。

# exit
$

今後、このテキストだけでなく、書籍やネット上等で調べたコマンド実行例をみて、実際にそのコマンドを実行することがあるかと思います。この時、ほとんどの技術情報で、左端には「$」または「#」が表記されています。

これは、一般ユーザで実行すべきか、rootユーザで実行すべきかを示しています。
「$」の場合は一般ユーザで実行できますが、「#」の場合は、上記の通り「su -」コマンドでrootユーザに切り替えてから実行するようにしてください。

rootユーザ

システム設定を変更や、プログラムをインストール、ユーザを作成・削除を実施するには、管理者権限であるrootユーザ(rootグループ)を使います。rootユーザは制限がない特別なユーザで、以下の権限を有しています。

● 全てのファイルの読み書き、作成、削除、実行
● 全てのプログラムの停止

rootユーザは「全ての権限が与えられた特権ユーザ」であるため、スーパーユーザとも呼ばれます。
Windowsでは、システムの維持に必要と判断されるものについては、管理者権限といえどもプログラムの停止やファイルの削除ができないよう制限がかかりますが、Linuxにおけるrootユーザはそれらのファイルやプログラムですら、停止、削除が可能であることから、「rootを取ったら(そのシステム上で)神になれる」と表現されるほどです。

ですから、rootユーザのパスワードには厳格な管理が必要です。

Linuxのシステムはマルチユーザに対応しているため、複数人が同時にrootユーザとしてログインすることも可能です。この時、複数人がrootユーザ権限を取得したまま作業すると、作業履歴上は全てrootユーザの作業として記録されるため区別が付きません。
そのため、rootユーザ権限は「渡すメンバーを限定する」「必要なときだけrootに切り替える」等、できるだけそのような状態にならないよう、工夫する必要があります。

また、Linuxにログインする場合はユーザ名とパスワードを使用します。つまり、rootユーザのユーザ名はrootで固定されていますから、パスワードが判明した時点でrootユーザとしてログイン出来てしまいます。
もし、rootでログインできる状態でサーバを構築した場合は、rootのパスワードが漏洩、または解読された時点で乗っ取られることになりますので、そのようなシステム運用は避けるべきです。安全や管理を考慮する場合は、一般のユーザでログインし、必要に応じてrootユーザの権限を取得し、システム作業することが望ましい形と言えます。

パスワードとパスワードポリシー

rootユーザも一般ユーザも、予め設定されたパスワードを使ってログインします。Linuxではrootユーザが決めたパスワードポリシーに従ってパスワードを設定します。具体的には、パスワード長、使用する文字の種類、有効期限等です。パスワードポリシーが緩ければログインしやすく便利ですが、第三者に類推される可能性が高くなり、不正アクセスのリスクが高まります。
そのためrootユーザはシステムを運用する上で、パスワードポリシーを適切に設定しなければなりません。

rootユーザは全てのユーザのパスワードを変更することが可能です。一般ユーザも自分のパスワードに限り変更することができますが、パスワードの変更にあたり変更前のパスワードの入力が必須です。

ちなみに、パスワードは暗号化して管理されているため、rootユーザがパスワードを知ることが出来ません。
そのため、一般ユーザがパスワードを忘れてしまうと、パスワードを再設定するしかありません。これはパスワードの有効期限が切れてしまった場合も同様です。
しかし、一般ユーザができるのは「パスワードの変更」のみですので、rootユーザに依頼してパスワードを再設定してもらいます。

ユーザを追加する際はrootユーザが初期パスワードを設定し、該当ユーザがログインした際に、パスワードを変更してもらうのが一般的です。 いずれも、システムに設定されたパスワードポリシーに則した範囲で変更します。

PAGE TOP