自由気ままに書いちゃおう

好きなことをつらつらと・・・

【RHEL8】通常ユーザとシステムユーザについて

通常ユーザとシステムユーザについてです。

■通常ユーザとは?

サーバの一般利用者のことです。

■システムユーザとは?

サーバ内のプロセスやプログラムを動かす際に利用されるユーザで、
基本的にはログインはできません。(ログインに使用することは非推奨です。)

■通常ユーザとシステムユーザの見分け方

ユーザID(=UID)で見分けます。
デフォルトではUIDによって以下の通り区分けされています。

1~999 システムユーザ
1000~ 通常ユーザ

■/etc/login.defs について

本ファイルは「ログインに関連する設定ファイル(=ログイン定義ファイル)」として使われています。
設定内容は、
①「パスワードの文字数の最大/最小値」
②「一般ユーザのUID/GIDの範囲」
③「システムユーザのUID/GIDの範囲」
④「umaskの値」
などです。

/etc/login.defsの設定内容例は以下の通りです。

f:id:guri2o1667:20201021175437p:plain

上記を見るとイメージが付きやすいのですが、
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」と記載されております。

f:id:guri2o1667:20201021175720p:plain

f:id:guri2o1667:20201021175911p:plain

これは、手動でシステムユーザを作成した際(useradd -r システムユーザ名)に参照される設定です。

例えば下記の通り、systemuserというシステムユーザを手動作成した場合には、
UIDが975、GIDが973として作成されました。
※201~999の間でランダムで生成されます。

f:id:guri2o1667:20201021180414p:plain

■1~200までのUIDについて

この範囲のUIDはサーバでデフォルトで予約されています。
各UIDがどのシステムユーザに割り当てられているかは、以下で確認できます。

cat /usr/share/doc/setup*/uidgid

f:id:guri2o1667:20201021180604p:plain


上記コマンド結果の全量は、本記事の最後に参考がてら記載しております。

rootユーザはUID/GIDともに「0」で割り振られていることがわかります。

■RHEL8推奨のUID/GIDの範囲について

RHEL8では、UID/GIDを5000から割り当てることを推奨しています。
理由は、サーバの予約範囲(/usr/share/doc/setup*/uidgid)が将来的に変更になる可能性があるからです。

よって、/etc/login.defsの以下パラメータを修正することで対応できます。

【設定変更対象のパラメータ】
UID_MIN
GID_MIN

 

以上です。