用意されているユーザとグループ

用意されているユーザとグループ

 Linuxはインストールしてすぐにそのシステムを利用できるように、ユーザとそのユーザが所属するグループが用意されている。

一般のユーザとグループ

 Linuxにログインするにはアカウントが必要である。アカウントを作成するとユーザ名と同様の名前のグループが作られ、ユーザはそのユーザグループに所属しているとシステムに登録される。

 グループは複数のユーザをまとめるためにある。グループを使うことで、システム上にあるディレクトリのアクセス権を設定し、 「特定のユーザにのみアクセスできるディレクトリファイルの作成する」 などといった使い方や、特定グループに属しているユーザのみ root ユーザになることができるような運用が可能となる。

rootユーザ

 root ユーザはシステム設定の変更や、プログラムのインストールや削除、ユーザを作成、削除することができる利用に制限のない特別なユーザである。

 root ユーザはアクセス権に関係なく、全てのユーザのディレクトリへのアクセス、コンテンツの読み書きが行えるなどの点で他の一般ユーザとは異なる。

su コマンド

 su コマンドは既に別のユーザでログインしているユーザが、一時的に他のユーザになるためのコマンドである。su コマンドを実行する際に、オプションとしてユーザを指定しない場合は root ユーザでシェルを起動する。

オプションを付けずに su コマンドを実行した場合はカレントディレクトを変更せずに root ユーザでログインする。カレントディレクトリを root のホームディレクトリに変更してログインする場合は 「 su - 」 もしくは 「 su -root 」 と実行することでカレントディレクトリを変更した上で root ユーザでログインできる。

 root ユーザでログインすると、システム管理用のコマンドを実行することができる。複数人でLinuxシステムを管理している場合は、root ユーザで直接ログインして作業すると、root ユーザとしての履歴だけが残り、誰がどんな作業をしたのか履歴が残らない。

 一方で、一般ユーザから root ユーザへ切り替えると、 root ユーザで作業を開始した時間などは直ぐに分かる。よって、安全や管理を考えると、一般ユーザでログインしてから root ユーザの権限を取得し、システム作業することが望ましい。

$ su
$ su - [ユーザ]

オプション

su - ( もしくは su - root )
root ユーザになることができる。

su - user
指定したユーザになることができる。

root ユーザでコマンドを実行する sudo コマンド

 sudo コマンドを使えば、スーパーユーザ ( root ユーザ ) 権限でコマンドを実行できる。su コマンドでユーザを root に切り替えることなく、 root 権限が必要な設定やプログラムを実行することができる。

 -u オプションを付けて sudo コマンドを実行すると、任意のユーザでコマンドを実行できる。オプションを付けないで sudo コマンドを実行した場合は root 権限でコマンドを実行する。

 sudo の設定は /etc/sudoers ファイルを編集することでユーザが sudo コマンドを実行できるようになる。/etc/sudoers ファイルは visufo コマンドを実行すると編集できる。

$ sudo コマンド
スーパーユーザ ( root ) 権限でコマンドを実行

$ sudo cat /var/log/message

オプション

-u ユーザ
指定したユーザでコマンドを実行する。