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を自動的に選択できます。

おすすめ記事