
我有 7 個 ubuntu 伺服器和一個 freebsd 上的儲存伺服器。我正在考慮在這 7 台伺服器之一上部署 OpenLDAP,以便這些伺服器可以擁有類似於 Active Directory 的集中式使用者資料庫和身份驗證機制,但我不確定如何做。
我假設我將在一台伺服器上部署 OpenLDAP,並使用 samba 設定同一台伺服器(使用 AD 控制器設定)。然後將其他 6 台 Linux 伺服器加入該網域。
在OpenLDAP/Samba伺服器上建立的使用者是否能夠登入其他6台伺服器?如果是,如何向使用者授予 root 存取權限?
我想與用戶共享儲存伺服器上的目錄,以便每當他們登入伺服器時,無論他們登入的是這 6 台伺服器中的哪一台伺服器,他們都可以簡單地安裝它並開始存取它。
答案1
我假設我將在一台伺服器上部署 OpenLDAP 並使用 samba 設定同一台伺服器(使用 AD 控制器設定)
那是行不通的(也沒有必要)。 AD 的 LDAP 實作(模式、後端邏輯等)與 OpenLDAP 的功能有很大不同,因此您必須使用 Samba 的內建而是使用 LDAP 伺服器。
只需直接進入 Samba AD 部署步驟,它就會自動包含 LDAP 服務。
(話雖這麼說,有已經試圖透過大量 slapd 覆蓋模組來實現這種組合,但它還遠未達到生產就緒狀態。
如果您不需要 Windows 用戶端,那麼您可以使用 FreeIPA 或普通 OpenLDAP 作為替代。您甚至可以透過 Salt/Ansible 部署本機帳戶,並僅設定 Kerberos 進行共用身分驗證(無論如何,這是 AD 驗證功能的核心)。
在 OpenLDAP/Samba 伺服器上建立的使用者是否能夠登入其餘 6 台伺服器?
是的 – 這就是域加入的全部意義,不是嗎?
但是,直接在伺服器上建立的使用者(傳統的useradd)不會自動出現在AD中。您必須在 Samba 中專門建立 AD 帳戶,例如使用samba-tool
(或透過 LDAP,或使用 Windows RSAT GUI)。
如果是,如何授予該使用者 root 存取權限?
像往常一樣:將它們添加到 sudoers 中。
(我相信 SSSD 有一種機制可以自動將 Windows GPO 轉換為 sudoers 條目,但我還沒有嘗試過。)