UIDが500未満の一般ユーザーを作成すると、どのようなリスクがありますか?

UIDが500未満の一般ユーザーを作成すると、どのようなリスクがありますか?

UIDが500未満の一般ユーザーを作成すると、どのようなリスクがありますか? UIDが既存のUIDと重複しないと仮定すると、どのような問題が発生する可能性がありますか?

私がやりたいことではなく、私が見たことで、なぜしてはいけないことなのか気になります。この例では RHEL5 にあります。

答え1

固有のリスクはないと思います。システムアカウントとユーザーアカウントを分離するために行われただけです。私の経験によると、500未満の数字を使用することはRedhatismであり、それ以上ではありません。

Solarisはまた、ユーザーに100から始まる番号が割り当てられているのを見ましたが、数年後に2つの小さな部門のシステムを一緒にマージすると、複数のユーザーが同じUID / GIDが割り当てられ、悪夢につながることがわかりました。

これは実際にUIDを割り当てる際の大きなリスク/問題になります。 UIDは与えられたファイル/ディレクトリのユーザーのinodeに書き込まれるので、後でfindUID 1234が所有するファイルをたくさん見つけて5678に変更したくないでしょう。

したがって、管理者はUIDの選択を慎重に検討することで、将来の問題を回避できます。

500以上を使用することは、Redhat(および他のUnix)が自分自身に十分なバッファを提供し、作成する必要があるシステムアカウントがユーザーに割り当てられたUIDと混同されないようにすることです。

/etc/login.defs

ただし、数字500は設定ファイルのこの設定によって駆動されます/etc/login.defs

#
# Min/max values for automatic uid selection in useradd
#
UID_MIN           500
UID_MAX         60000

#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN           500
GID_MAX         60000

useradd/コマンドを使用してデフォルトの動作をオーバーライドするには、adduser必要に応じて変更できます。

Useradd のマニュアルページ

マニュアルページを見ると、useraddこのセクションではGIDのデフォルト値について説明していますが、この注意はUIDにも当てはまります。

抜粋

-g, --gid GROUP
    The group name or number of the user´s initial login group. The group name 
    must exist. A group number must refer to an already existing group.

    If not specified, the behavior of useradd will depend on the USERGROUPS_ENAB 
    variable in /etc/login.defs. If this variable is set to yes 
    (or -U/--user-group is specified on the command line), a group will be 
    created for the user, with the same name as her loginname. If the variable 
    is set to no (or -N/--no-user-group is specified on the command line), 
    useradd will set the primary group of the new user to the value specified by 
    the GROUP variable in /etc/default/useradd, or 100 by default.

システムアカウント

マニュアルページで注意すべきもう一つのことuseraddは、システムアカウントの作成に関するものです。

抜粋

-r, --system
    Create a system account.

    System users will be created with no aging information in /etc/shadow, 
    and their numeric identifiers are choosen in the SYS_UID_MIN-SYS_UID_MAX 
    range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their 
    GID counterparts for the creation of groups).

    Note that useradd will not create a home directory for such an user, 
    regardless of the default setting in /etc/login.defs (CREATE_HOME). You 
    have to specify the -m options if you want a home directory for a system 
    account to be created.

useradd -r ...スクリプトでは、パッケージをインストールするときにこの方法()を使用して、さまざまなパッケージマネージャ(RPMなど)に統合することがよくあります。このようにスクリプトを作成すると、システムユーザーにすでに割り当てられているUID / GIDを踏む危険なしに、システムが特定のシステムで利用可能な次のUID / GIDを自動的に選択できます。

答え2

実際のリスクはありません。カーネルは、ゼロ以外のユーザーID値については気にしません。ほとんどの管理ツールも気にしません。システムユーザーと人間ユーザーを区別するシステム部分はほとんどありません。

システムユーザーは専用グループを持つ傾向があるため、より多くのグループに属するアカウントを作成する可能性はありません。

一部のディストリビューションでは、専用ユーザーが必要なシステムサービスを含むパッケージをインストールするときに割り当てられたユーザーを含む、システムユーザーのために1〜499(Red Hatと関連バージョン)または1〜999(Debianと関連バージョン)の範囲を予約します。 。 Debian の慣例は、範囲 1 ~ 99 が静的に割り当てられることです(したがって、その範囲で人間のユーザーを作成することはシステムユーザーと競合する可能性があるため、非常に悪い考えです)。一方、範囲100〜999は動的に割り当てられます(したがって、人間のユーザーを作成することはその範囲内で無害です)。新しいシステムユーザーは無料のユーザーIDを選択するので、範囲)。

ディスプレイマネージャがリストしきい値を下回るUIDをユーザーに提供しないなど、マイナーな不便が発生する可能性があります。

コンピュータを隔離する際の最大のリスクは、他のシステム管理者を混乱させる可能性があることです。ユーザIDを共有するネットワーク上のコンピュータの場合、システムユーザと同じユーザIDを持つ他のコンピュータと競合する可能性があります。共有ユーザーIDを持つネットワークでは、人間のユーザーが1000-65533または10000-65533の範囲にも従うのが最善です。

答え3

カーネルの観点から見ると、特別なユーザーはUID 0 1人だけです。管理上の理由からUID範囲を分割すると、生活が容易になる可能性があります。一般的な範囲は、プロバイダ、システム、ローカル、グローバルです。

ベンダーユーザーは、システムの初期インストール時にインストールされ、ベンダーによって静的に管理されます。インストールされているパッケージに応じて、システムユーザーが各コンピュータにインストールされます。ほとんどのユーザー追加/削除ユーティリティには、個別に処理するための範囲制限があります。ローカルユーザーは一般ユーザーであり、コンピューターごとに割り当てられます。グローバルユーザーは中央データベースによって割り当てられますが、すべて一般ユーザーです。 UIDスコープを使用すると、これらの異なるグループ間の競合を防ぐことができます。これらのカットオフはさまざまですが、一般的に設定可能です。

答え4

PAMプロファイルは通常、UIDに基づいて決定を下します。たとえば、RHEL 7.7の行は次のようになります。

/etc/pam.d/password-auth:auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
/etc/pam.d/password-auth:account     sufficient    pam_succeed_if.so uid < 1000 quiet

したがって、システムアカウントには、通常のユーザーアカウントには必要ない特別な権限が付与されます。また、uidが1000未満のユーザーはログインできない可能性があります。

関連情報