静的グループIDを選択するには?

静的グループIDを選択するには?

私は、複数のLinuxサーバーに存在する既存のグループ名に静的グループID(gid)を再割り当てする任務を務めました。

たとえば、グループ名はfoo現在複数のサーバーに存在しますが、GIDは異なります。

$ ssh server-1
$ getent group foo
foo:x:998:user1,user2
$ ssh server-2
$ getent group foo
foo:x:999:user2,user3

foo...上記を考慮して、私はserver-1とserver-2のグループ名に一意の新しいgidを割り当てる任務を引き受けました。

既存のGIDの変更を説明する次の記事を見つけました。

  1. https://www.thegeekdiary.com/how-to-Corrightly-change-the-uid-and-gid-of-a-user-group-in-linux/
  2. 特定グループの GID 変更

Q:新しいGIDとして使用する「安全な」番号を決定する方法は?

たとえば、私が選択した新しいgidがこの変更を適用する必要があるPCでまだ使用されていないことを確認するためのクリーンで効率的で正しい方法は何ですか?
また、良い/使用可能/安全なGIDを選択するときに他の要素/考慮事項があるかどうかを教えてください。

答え1

/etc/login.defs参考用に RHEL 7.9 システムから得た内容です。

# Min/max values for automatic uid selection in useradd
#
UID_MIN                   1000
UID_MAX                 600000
# System accounts
SYS_UID_MIN               201
SYS_UID_MAX               999

#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN                  1000
GID_MAX                 60000
# System accounts
SYS_GID_MIN               201
SYS_GID_MAX               999

グループの場合、前述の規則は通常1,000を超えます。しかし、自分や誰でもカスタマイズすることができますので注意してください/etc/login.defs

類似またはclamav生成されintel oneapiたソフトウェアのインストールシステム私はSYS_GID_MAXにグループ化し、始めて逆さまに働くと信じています。

管理者として私が個人的に好むのは、管理関連タスクに1000〜2000のグループIDを使用し、さまざまな異なるユーザータイプのグループタスクに2000以上のグループIDを使用することです。

  • どの本物セキュリティGIDはとGID_MIN範囲GID_MAXの間にあります。

  • SYS_GID_MINそれでも比較的安全な範囲ですSYS_GID_MAX

  • 技術的には、すべてのセキュリティGIDは上記で使用されていない番号ですSYS_GID_MIN

  • 100未満の項目は選択せず、SYS_GID_MIN100未満の項目も選択しません。

答え2

これがワンタイムであれば、プロセスを最適化するのに多くの時間を費やすことはありません。最初に考慮する必要があるのは、1000より大きいgidを選択することです。見て予約済み案内のためのGIDです。繰り返しますが、ワンタイムで次のことを実行します。

for host in (server1, server2, ..., serverx)
do
    ssh $host grep 1000 /etc/group
done

これらのいずれかgrepが返された場合は、gidを増やしてもう一度やり直してください。実際に確認するサーバーの数が多い場合、または割り当てられたグループがある場合は、gidの増加を繰り返して終了ステータスを確認できます。ループを最適化するか手動で実行するのに時間を費やすかを選択できます。

関連情報