Linuxディストリビューションに事前定義されたグループIDがありますか?

Linuxディストリビューションに事前定義されたグループIDがありますか?

ACL 経由で w/r アクセスを正常に達成するにはext4 fsを使用した外部ストレージリポジトリのファイルにデフォルトのグループIDを割り当てる必要があります。

LSB_5.0.0説明する:

This specification makes no attempt to numerically assign user or group
identity numbers, with the exception that both the User ID and Group ID
for the user root shall be equal to 0.

Linuxベンダーへの恥です!

主要なLinuxディストリビューションにはグループIDのルールはありますか?

Debianポリシーでは、base-passwdファイルのパッケージにデフォルトのグループ値が定義されていることがわかりました/usr/share/base-passwd/group.master。これらのグループのうち、ACL のデフォルトに適したグループは次のとおりです。

tape:*:26:
backup:*:34:
operator:*:37:
plugdev:*:46:
staff:*:50:
users:*:100:
nogroup:*:65534:

Suse / RH / Slackware配布ポリシーのドキュメントでは使用されません... FreeBSD / OpenBSD / MacOSがLinuxディストリビューションとルールを共有している場合も興味深いでしょう。

修正するMacOS X()をDebianと比較しましたが、dscacheutil -q groupいくつかのグループIDのみが一致しました。

sys:*:3:

アップデート2FreeBSDとDebian/etc/groupファイルを比較しましたが、2つだけが一致しました。

daemon:*:1:
sys:*:3:

答え1

ご存知のように、ユーザー名-uidおよびグループ名-gidマッピングの標準はありません。基本システムの一部ではない共通システムアカウントであっても、同じオペレーティングシステムを実行しているシステムでは、異なるuidまたはgidを持つことができます。これはパッケージがインストールされている順序によって異なります。これらのパッケージは通常、インストールgetent passwd username || useradd username中にのみ使用されます。

したがって、最良の選択肢は、システム範囲外で一意のuidとgidを選択することです。

/etc/login.defs一部のシステムには、次の項目などを含む設定ファイルがあります。

#
# Min/max values for automatic uid selection in useradd
#
UID_MIN                  1000
UID_MAX                 60000
# 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

SYS範囲外の項目を選択してください。 1つの可能性は、サイト全体の管理に59001..59999の範囲を使用することです。その後、login.defs競合を避けるためにファイルを編集して、UID_MAXとGID_MAXを59000に設定できます。

答え2

グループIDのルールはありません。承認設定は通常ローカルポリシーの一部と見なされ、通常は/etc/passwdローカルまたはファイル内のエントリに関連付けられません/etc/group

承認決定に使用されるグループは通常、集中型ディレクトリ(LDAP、ADなど)から来ており、組織によって異なり、使用される展開(またはオペレーティングシステム)とは関係ありません。

答え3

Debian、Ubuntu、RedHat、Fedora、CentOS、Suse、FreeBSD、OpenBSD、NetBSD、MacOSX、Solarisでこのsysグループ共有IDを見つけました。3

他のグループ名は同じIDを共有しません。一部のシステムでもroot実際にidがあるグループはLinuxでは一般的ですが、NetBSDではそうです。ディストリビューションごとに、このグループに対して人間が読める名前が異なります(例:(Debian)、(RedHat)、(FreeBSD)、(MacOS))。0wheelnogroup6553432766nogroupnfsnobodynobodynobody

POSIX、SUSv4、LSBなどの仕様はグループIDを定義しません。

sysDebian ドキュメントでは廃止予定とマークされています。

sysグループ、ビット、および ACL を使用すると、setgid次の条件で特権の競合なしにホスト間で ext4 ボリュームを移動できます。

$ sudo chgrp -R sys /mnt/data/dir
$ sudo chgmod -R g+s /mnt/data/dir
$ sudo fsetacl -R -m g:sys:rwx /mnt/data/dir
$ sudo fsetacl -R -d -m g:sys:rwx /mnt/data/dir

関連情報