Linux

具有現有本地帳戶的 Linux 目錄伺服器

  • November 28, 2009

我有大約 50 台伺服器混合執行 RHEL 和 CentOS,它們都使用本地身份驗證。我們將最終將這些置於單個單元的控制之下,並且我們在這些系統中擁有大量本地帳戶。我不確定我是想從我們現有的 Active Directory 中驗證 LDAP 還是使用 CentOS Directory Server 之類的東西,但無論哪種方式.. 我可以將中央帳戶映射到這些系統上的不同本地帳戶嗎?我真的不想擔心更改任何現有權限或任何東西。

假設我在 3 個不同的系統上有 joeuser1,他有不同的 UID,他的組在每個系統上都有不同的 GID。有沒有辦法將它們與中央身份驗證聯繫在一起?

如果您決定在整個組織中同步 uids/gids,這對您自己有好處,整體維護工作會容易得多。

並且可以以相對無痛的方式實現:

  • 創建或配置您的中央目錄

  • 決定您想使用的 uid/gid 空間(確保它不與您現在使用的任何內容重疊,並且不要重新映射僅對主機本地的 uid - 系統和守護程序帳戶等)

  • 為您的每台機器安排維護休息時間

  • 在重新映射使用者後準備一個腳本來重置所有權;像這樣的東西曾經對我有用:

    • find /path/to/what/has/to/be/preserved -printf "chown -c %u:%g \"%h/%f\"\n" > preserve
  • 切換到新的目錄服務

  • 刪除或重新映射 /etc/passwd 和 /etc/group 的非系統部分

  • 通過執行生成的腳本來恢復文件/目錄的所有權(sh preserve 會做)

  • 沖洗,重複,獲利!

筆記:

  • 生成的腳本根本沒有效率,因為它正在逐個更改所有權;但這應該是對總體構想的一個很好的展示。
  • 如果您有任何 suid/sgid 二進製文件和目錄,請將它們也記錄在腳本中,例如將 printf 子句更改為 “chown -c %u:%g "%h/%f"\nchmod -c %m "%h/%f"\n”

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