
我正在嘗試將多個 Linux 裝置加入到具有網域登入和 Samba 檔案共用功能的 Windows Active Directory 網域。我試圖避免在此處手動向 AD 使用者和群組添加 POSIX 屬性。雖然看起來很簡單,可以使用 samba 的 autorid 後端執行,但基於 Redhat 的文檔檔案和列印伺服器 - autorid 的缺點
與其他 Linux 裝置相比,Autorid 建立不一致的 uid 和 gid 屬性。由於我希望網域使用者和群組擁有的目錄和檔案的權限在所有成員之間保持一致,(從客戶端到伺服器,以及從客戶端到客戶端)不一致的生成屬性對於我的環境來說是不可接受的。
貌似sssd自動id映射(ldap_id_mapping = true在 sssd.conf 中)使用演算法,可以為跨多個 Linux 主機的網域使用者自動產生一致的 uid 和 gid 屬性。我會使用它作為 samba 的後端 - 然而,正如 Redhat 在其文件中所述,他們不建議這樣做,因為 sssd 無法執行 NetBIOS 查找或 NTLM。 將 SMB 共享與 SSSD 和 Winbind 結合使用
因此,為了尋求理想的配置,允許跨多個 Linux 域成員自動產生一致的 uid 和 gid 屬性,但仍允許完整的網域 samba 功能,有哪些選項呢?
答案1
如果您有多個網域,請使用「自動刪除」後端;如果您只有一個網域,請使用「刪除」後端。如果您在每個 Unix 網域成員上使用相同的「[global]」行,您將在每個成員上獲得相同的 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”是您的工作組名稱。
這樣,我可以保證(例如)Domain Users 群組將始終在所有電腦上獲得群組 ID「10513」。
如果您將'winbind use default domain = yes' 新增至'[global]',您的使用者將能夠使用'username' 而不是'SAMDOM\username' 登入(注意:您不能將其與'autorid' 後端一起使用)