Ldap

OpenLDAP中gid的最大值是多少

  • January 14, 2020

我們公司有許多單獨的站點,目前每個站點都有自己的 Linux 身份驗證方案。我們正在考慮重新設計一個統一的方案,未來計劃將所有帳戶移植到單個 LDAP,可能是 OpenLDAP。作為第一階段的一部分,我們希望重做所有的 gid 以至少符合某種標準。我們想為每個站點分配一系列 gid 以根據需要使用。我們希望從 gid 10000 開始(以避免系統 gid 以及任何其他特定站點上已經建立的 gid)並為每個 gid 分配至少 1000 個 gid 以供使用。這個計劃使我們的最高gid略低於300000。

問題歸結為 OpenLDAP 是否可以引用這麼高的 gid。這與有多少 gid 無關,因為這些站點中的大多數目前不需要 Linux gid。這只是 OpenLDAP 在訪問一個至少那麼高或更高的值時是否會遇到問題。我的理解是 *NIX 作業系統認為“gid”只是 OpenLDAP 的一個值,所以理論上,OpenLDAP 方面不應該有限制,但我還沒有發現這樣的說法,或者任何成功使用過的人超過200000的gid。

有誰知道使用 300000 範圍內的 gid 是否會導致 OpenLDAP 出現問題?

GidNumber 是無限的。

GID 編號在模式定義中定義為整數

attributetype ( 1.3.6.1.1.1.1.1 NAME 'gidNumber'
   DESC 'An integer uniquely identifying a group in an administrative domain'
   EQUALITY integerMatch
   SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

根據RFC 4517 LDAP:語法和匹配規則

3.3.16。 整數

Integer 語法的值是**無限

量級的整數。**此語法的值的 LDAP 特定編碼是

數字的可選帶符號十進制數字字元串表示形式

(例如,數字 1321 由

字元串“1321”表示)。編碼由…定義

由於它是字元串而不是數字,因此您沒有作業系統確定有符號整數的最大大小,並且LDAP 中的 GID 編號是無限的。

另一方面,您的作業系統支持和 PAM 庫可能限制為 65534。

引用自:https://serverfault.com/questions/650702