【Linux入門】Linuxのユーザー
Linuxユーザーの概要
Linuxシステムでは、複数のユーザーアカウントがあります。各ユーザーアカウントは、それぞれ独自の権限と設定を持ち、システム上での活動を管理します。
ユーザーID (UID)
ユーザーID (UID) は、各ユーザーアカウントに割り当てられる一意の識別子です。UIDは数値で表され、システム内でユーザーを識別するために使用されます。割り当て可能は範囲は環境によって異なりますが、0は通常、"root"ユーザーに割り当てられ、最高の権限を持ちます。
ユーザーID
一般ユーザーには100以上のユーザーIDが割り当てられますが、ディストリビューションによっては、1000以上の番号を割り当てる必要があります。
ユーザーの種類 | ユーザーID |
rootユーザー | 0 |
システムユーザー | 1~99 |
一般ユーザー | 100以上 |
ユーザー名とユーザー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システムにおけるユーザー管理とセキュリティの基盤であり、システム全体の安定性とセキュリティを保つ上で重要です。