いくつかのドキュメントでは、ユーザーが「システム」ユーザーか「通常」ユーザーか(デフォルトは「通常」)かどうかをブール値で切り替えています。
これら2つのユーザーシップモードの違いは何ですか?ユーザーが何であるか、またはなぜ(「偽の」ものであっても)ユーザーが必要な理由を知る必要はありませんが、この特定の区別は直感的ではありません。
いくつかのドキュメントでは、ユーザーが「システム」ユーザーか「通常」ユーザーか(デフォルトは「通常」)かどうかをブール値で切り替えています。
これら2つのユーザーシップモードの違いは何ですか?ユーザーが何であるか、またはなぜ(「偽の」ものであっても)ユーザーが必要な理由を知る必要はありませんが、この特定の区別は直感的ではありません。
回答:
それは技術的な違いではなく、組織の決定です。たとえば、ログインダイアログで通常のユーザーを表示するのは理にかなっています(ユーザー名を入力する代わりにクリックすることができます)が、システムアカウント(デーモンや他の自動プロセスが実行される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
主な違いはアカウントの目的であるため、主に管理者と監査人にとって便利な区別です。adduserドキュメントにはいくつかの技術的な違いがあります。
システムユーザーはにエージング情報なしで作成され
/etc/shadow、数値識別子はSYS_UID_MIN-で選択され、SYS_UID_MAX範囲/etc/login.defsはUID_MIN- ではなくで定義されますUID_MAX(およびグループの作成に対応するGIDに対応)。
私が知る限り(Puppetを知らない)、Puppetの観点との違いは、-rオプションをに渡すかどうかadduserです。
より広い観点については、「/ etc / passwdからアカウントを「隠す」ことは可能ですか?」を参照してください
useradd --system foouserのmanページごとに、そのユーザのためのホームディレクトリを作成しませんuseradd(8):言う(useraddコマンドに関係なくに/etc/login.defsのデフォルト設定(CREATE_HOME)の、そのようなユーザーのホームディレクトリを作成しないことに注意してくださいシステムアカウントのホームディレクトリを作成する場合は、-mオプションを指定する必要があります。)、新しいユーザーのホームディレクトリはfoouserに存在/home/foouserしないものとして指定され/etc/passwdます。
SYS_UID_MAX、一般的に1000 からカウントダウンすることで選択されるため、たとえばのUID 998がありfoouserます。