通常のユーザーとシステムユーザーの違いは何ですか?


124

いくつかのドキュメントでは、ユーザーが「システム」ユーザーか「通常」ユーザーか(デフォルトは「通常」)かどうかをブール値で切り替えています。

これら2つのユーザーシップモードの違いは何ですか?ユーザーが何であるか、またはなぜ(「偽の」ものであっても)ユーザーが必要な理由を知る必要はありませんが、この特定の区別は直感的ではありません。

回答:


85

それは技術的な違いではなく、組織の決定です。たとえば、ログインダイアログで通常のユーザーを表示するのは理にかなっています(ユーザー名を入力する代わりにクリックすることができます)が、システムアカウント(デーモンや他の自動プロセスが実行されるUID)は表示しません。

したがって、2つのグループのUIDの境界またはむしろ2つの範囲が定義されます。openSUSEでは、ファイル/etc/login.defsに次の行が含まれています。

#useraddでの自動uid選択の最小値/最大値
#
#SYS_UID_MINからSYS_UID_MAXまでの範囲は
#動的に割り当てられた管理アカウントとシステムアカウントのUID。
#UID_MINからUID_MAXまでは、動的にUIDの範囲です
#割り当てられたユーザーアカウント。
#
UID_MIN 1000
UID_MAX 60000
#システムアカウント
SYS_UID_MIN 100
SYS_UID_MAX 499

そして

#groupaddでの自動gid選択の最小/最大値
#
#SYS_GID_MINからSYS_GID_MAXまでは、
#動的に割り当てられた管理グループおよびシステムグループのGID。
#GID_MINからGID_MAXまでは、動的にGIDの範囲です
#割り当てられたグループ。
#
GID_MIN 1000
GID_MAX 60000
#システムアカウント
SYS_GID_MIN 100
SYS_GID_MAX 499

3
Debianやその他のユーザーは、UIDが1000を超えているかどうかに基づいて区別するシステムルールを(システム認証の選択を管理するPAMルールなど)ほとんどに隠していることに注意してください。UIDは慎重に選択してください。
デイブ

38

主な違いはアカウントの目的であるため、主に管理者と監査人にとって便利な区別です。adduserドキュメントにはいくつかの技術的な違いがあります。

システムユーザーはにエージング情報なしで作成され/etc/shadow、数値識別子はSYS_UID_MIN-で選択され、SYS_UID_MAX範囲/etc/login.defsUID_MIN- ではなくで定義されますUID_MAX(およびグループの作成に対応するGIDに対応)。

私が知る限り(Puppetを知らない)、Puppetの観点との違いは、-rオプションをに渡すかどうかadduserです。

より広い観点については、「/ etc / passwdからアカウントを「隠す」ことは可能ですか?」を参照してください


CentOSのオン:もののuseradd --system foouserのmanページごとに、そのユーザのためのホームディレクトリを作成しませんuseradd(8):言う(useraddコマンドに関係なくに/etc/login.defsのデフォルト設定(CREATE_HOME)の、そのようなユーザーのホームディレクトリを作成しないことに注意してくださいシステムアカウントのホームディレクトリを作成する場合は、-mオプションを指定する必要があります。)、新しいユーザーのホームディレクトリはfoouserに存在/home/foouserしないものとして指定され/etc/passwdます。
デビッドトンホーファー

さらに、UIDはSYS_UID_MAX、一般的に1000 からカウントダウンすることで選択されるため、たとえばのUID 998がありfoouserます。
デビッドトンホーファー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.