【Linux入門】Linuxのユーザー

Linuxユーザーの概要

 Linuxシステムでは、複数のユーザーアカウントがあります。各ユーザーアカウントは、それぞれ独自の権限と設定を持ち、システム上での活動を管理します。

ユーザーID (UID)

 ユーザーID (UID) は、各ユーザーアカウントに割り当てられる一意の識別子です。UIDは数値で表され、システム内でユーザーを識別するために使用されます。割り当て可能は範囲は環境によって異なりますが、0は通常、"root"ユーザーに割り当てられ、最高の権限を持ちます。

ユーザーID

 一般ユーザーには100以上のユーザーIDが割り当てられますが、ディストリビューションによっては、1000以上の番号を割り当てる必要があります。

ユーザーの種類ユーザーID
rootユーザー0
システムユーザー1~99
一般ユーザー100以上
ユーザーID

ユーザー名とユーザーID

 ユーザー名は、ユーザーアカウントを人間が識別するための名前です。各ユーザー名には対応するユーザーIDがあります。ユーザー名とユーザーIDは関連付けられており、ユーザー名はシステム上で表示される名前で、UIDはシステム内で識別される数値です。id コマンドを実行すると実行したユーザーに関する情報を表示することができます。

id コマンド

$ id #コマンドを実行したユーザーの情報
uid=1000(user01) gid=1000(user01) groups=1000(user01)
 context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
$ id root #rootユーザーの情報
uid=0(root) gid=0(root) groups=0(root)

ユーザーの種類

Linuxシステムには、いくつかの異なるタイプのユーザーが存在します。

ユーザーの種類説明
一般ユーザー 通常のシステム利用者であり、一般的な作業やタスクのために使用されます。彼らはシステム全体を管理するための特権を持ちません。
システムユーザー システムサービスやプロセスが実行されるためのユーザーアカウントです。通常、システムユーティリティやデーモンに使用されます。
rootユーザー システム上で最高の特権を持つユーザーで、システム全体を管理・制御できます。rootユーザーは全ての操作に対して特権を持っており、慎重に利用する必要があります
ユーザーの種類

ユーザー名とUIDの対応は、'/etc/passwd' に記述されています。

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
(省略)
user01:x:1000:1000:user01:/home/user01:/bin/bash
vboxadd:x:987:1::/var/run/vboxadd:/bin/false

suコマンド

 "su"は、"Switch User" の略で、現在のユーザーアカウントから別のユーザーアカウントに一時的に切り替えるためのコマンドです。これにより、一般ユーザーがrootユーザーに切り替えたり、他のユーザーアカウントに移行したりすることが可能です。通常、suコマンドは目的のユーザーアカウントのパスワードを入力することで切り替えが行われます。

su コマンド

su コマンドを使用ユーザーを切り替えることができます。書式は以下のとおりです。

su [-] [ユーザー名]

 rootユーザーに切り替えると、プロンプトが「#」マークに変わります。「exit」と入力すると元のユーザーに戻ります。「-」のオプションを省略した場合は、rootユーザーに切り替わります。

$ su - #rootユーザーに切り替える
パスワード: #rootユーザーのパスワードを入力
最終ログイン: 2024/01/03 (水) 12:34:27 JST日時 pts/0
ABRT has detected 2 problem(s). For more info run: abrt-cli list --since 1704252867
# pwd #rootユーザーに切り替わった。rootユーザーのカレントディレクトリを表示する
/root #rootユーザーのカレントディレクトリ
# exit #元のユーザーに戻る
ログアウト
$ 


 これらの概念はLinuxシステムにおけるユーザー管理とセキュリティの基盤であり、システム全体の安定性とセキュリティを保つ上で重要です。