Active-Directory

使用 Samba 作為 AD 域成員,並在 Linux 成員之間自動生成一致的 POSIX 屬性

  • August 14, 2020

我正在嘗試將多個 Linux 設備加入到具有域登錄和 Samba 文件共享功能的 Windows Active Directory 域。我試圖避免在此處手動將 POSIX 屬性添加到 AD 使用者和組。雖然看起來很簡單,可以使用 samba 的 autorid 後端執行,但基於 Redhat 的文件文件和列印伺服器 - autorid 的缺點

與其他 Linux 設備相比,Autorid 會創建不一致的 uid 和 gid 屬性。由於我希望域使用者和組擁有的目錄和文件的權限在所有成員之間保持一致,(從客戶端到伺服器,從客戶端到客戶端)不一致的生成屬性對於我的環境是不可接受的。

表面上看,sssd 自動 id 映射(sssd.conf 中的 ldap_id_mapping = true)使用了一種算法,可以自動為跨多個 Linux 主機的域使用者生成一致的 uid 和 gid 屬性。我會用它作為 samba 的後端——但是正如 Redhat 在他們的文件中所說,他們不推薦這樣做,因為 sssd 無法執行 NetBIOS 查找或 NTLM。 將 SMB 共享與 SSSD 和 Winbind 一起使用

因此,為了尋求一個理想的配置,允許跨多個 linux 域成員一致地自動生成 uid 和 gid 屬性,但仍允許完整的域 samba 功能,有哪些選擇?

如果您有多個域,請使用“自動擺脫”後端,如果您只有一個域,則使用“擺脫”後端。提供您使用相同的'

$$ global $$’ 每個 Unix 域成員上的行,您將在每個上獲得相同的 ID。對 ‘rid’ 後端使用類似這樣的 ‘idmap config’ 行:

idmap config * : backend = tdb
idmap config * : range = 3000-7999
idmap config SAMDOM : backend = rid
idmap config SAMDOM : range = 10000-999999

其中“SAMDOM”是您的工作組名稱。

這樣,我可以保證(例如)域使用者組將始終在所有電腦上獲得組 ID ‘10513’。

如果您將“winbind 使用預設域 = 是”添加到“

$$ global $$’,您的使用者將能夠使用 ‘username’ 而不是 ‘SAMDOM\username’ 登錄(注意:您不能將其與 ‘autorid’ 後端一起使用)

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