通常ユーザとシステムユーザについてです。
- ■通常ユーザとは?
- ■システムユーザとは?
- ■通常ユーザとシステムユーザの見分け方
- ■/etc/login.defs について
- ■システムユーザ/グループの補足
- ■1~200までのUIDについて
- ■RHEL8推奨のUID/GIDの範囲について
本記事は以下の本を参考にしております。
■通常ユーザとは?
サーバの一般利用者のことです。
■システムユーザとは?
サーバ内のプロセスやプログラムを動かす際に利用されるユーザで、
基本的にはログインはできません。(ログインに使用することは非推奨です。)
■通常ユーザとシステムユーザの見分け方
ユーザID(=UID)で見分けます。
デフォルトではUIDによって以下の通り区分けされています。
1~999 システムユーザ
1000~ 通常ユーザ
■/etc/login.defs について
本ファイルは「ログインに関連する設定ファイル(=ログイン定義ファイル)」として使われています。
設定内容は、
①「パスワードの文字数の最大/最小値」
②「一般ユーザのUID/GIDの範囲」
③「システムユーザのUID/GIDの範囲」
④「umaskの値」
などです。
/etc/login.defsの設定内容例は以下の通りです。
上記を見るとイメージが付きやすいのですが、
UID_MINやSYS_GID_MINなど、UIDやグループID(=GID)にかかわる最小値や最大値が設定されています。
SYS_UID_MINなどSYS_~がシステムユーザもしくはシステムグループに関連する設定です。
■システムユーザ/グループの補足
/etc/login.defsのSYS_UID_MINとMAX、SYS_GID_MINとMAXをみると
ともに「201」「999」と記載されております。
これは、手動でシステムユーザを作成した際(useradd -r システムユーザ名)に参照される設定です。
例えば下記の通り、systemuserというシステムユーザを手動作成した場合には、
UIDが975、GIDが973として作成されました。
※201~999の間でランダムで生成されます。
■1~200までのUIDについて
この範囲のUIDはサーバでデフォルトで予約されています。
各UIDがどのシステムユーザに割り当てられているかは、以下で確認できます。
cat /usr/share/doc/setup*/uidgid
上記コマンド結果の全量は、本記事の最後に参考がてら記載しております。
rootユーザはUID/GIDともに「0」で割り振られていることがわかります。
■RHEL8推奨のUID/GIDの範囲について
RHEL8では、UID/GIDを5000から割り当てることを推奨しています。
理由は、サーバの予約範囲(/usr/share/doc/setup*/uidgid)が将来的に変更になる可能性があるからです。
よって、/etc/login.defsの以下パラメータを修正することで対応できます。
【設定変更対象のパラメータ】
UID_MIN
GID_MIN
以上です。
本記事は以下の本を参考にしております。