Linuxは複数の利用者が1つのシステムを共同利用することが前提のシステムです。
そのため1台のコンピュータで複数のユーザーが同時に利用できるようになっています。(そのようなOSをマルチユーザーOSと言います。)
ユーザー認証
Linuxはあらかじめ登録された利用者しか使うことができないようになっています。その利用者のことを「ユーザー」と言います。また、Linuxの利用開始時にユーザーの身元や妥当性を識別する操作を「ログイン」と言います。
ログインはユーザーがLinuxを利用するために必要となる最初の操作であり、表示されたログイン画面にユーザー名とパスワードを入力し、それらが事前に登録されたものと一致した場合のみLinuxで作業を開始できるようになっています。
また、Linuxはユーザーを区別し、そのユーザーに許可されていること、許可されていないことなどユーザー単位で作業できる範囲を限定(パーミッションの管理)します。さらにログインしているユーザーを特定し、作業内容を記録したりします。
ユーザーの種類
Linuxにおけるユーザーは以下のような種類で分けることができます。
種類 | 説明 |
---|---|
システム管理者 | システムを管理する管理者用のユーザー。「root」というユーザー名で固定。 |
一般ユーザー | システムを利用する利用者用のユーザー。任意で作成可能。 |
システムアカウント | Web、DNS、メールサーバーといった各種サービスを運用するために使用するユーザー。 |
システム管理者用のrootユーザーはスーパーユーザーとも呼ばれ、強力な権限を持っており、そのコンピュータに対するほとんど全ての操作を行うことができます。システムファイルなども削除できてしまうので、基本的にrootユーザーは管理作業以外では使用しないことが推奨されます。
Linuxではユーザーの作成を利用者で任意で行えますが、その作成したユーザーは「一般ユーザー」となります。
コンピュータにアクセスするすべての利用者に対して、それぞれ唯一のユーザーを作成するのが理想です。そうすることでシステム管理者は誰が何を行なったのかがわかりますし、、他の人のファイルや設定を壊してしまうようなことを防ぐことができます。
上記2つのユーザーは人間が使用するものですが、3つ目のシステムアカウントは違います。
システムアカウントは特定のアプリケーション用に存在するユーザーです。アプリケーションとは例えば、Apache(Webサーバー)やBIND(DNSサーバー)などのことです。
仮にそれらのサービスがすべてrootユーザーで実行されていたとします。その場合、それらのサービスはコンピュータ上でどんな動作も可能になってしまいます。もし悪意のあるアプリケーションにそのような権限を持たせてしまって場合、やりたい放題されてしまいます。
セキュリティを意識する必要がある対象は利用者のみでなくアプリケーションも含める必要があるということです。
グループ
Linuxの利用はユーザー単位が基本ですが、ファイルやディレクトリが増えてきた場合など、それらに対するパーミッション設定を全てのユーザーに行っていては大変です。
そこで複数のユーザーをまとめて管理することができるようになっています。その仕組みが「グループ」です。
ファイルやディレクトリのパーミッション設定をグループに対して行ってやれば、そのグループに属している全てのユーザーに適用されることになります。
ユーザーは複数のグループに属することもできます。
個人専用でLinuxを使用する場合はユーザーやグループについてさほど意識する必要はありませんが、企業や学校などで共同利用する場合には、それらの管理は非常に重要な仕事です。