將Windows用戶遷移到Linux伺服器

將Windows用戶遷移到Linux伺服器

需要將 Windows 伺服器遷移到大約 1000 個使用者的 Linux 伺服器(Ubuntu)。是否有遷移工具可用於轉移 Windows 帳戶,而不是手動轉移?我讀過 Ubuntu 有移轉工具,但似乎沒有太多細節

答案1

您應該能夠使用 sssd 和 kerberos 將 Linux 主機加入 AD 網域。

正確配置後,您將擁有一個名稱服務外掛程式(/etc/nsswitch.conf 中的 sssd),該外掛程式將允許 nss 查詢 AD 以取得使用者詳細資訊(即 /etc/passwd 內容)。

然後您可以使用「getent passwd」以 /etc/passwd 格式列出 AD 使用者。只需將此輸出定向到一個文件,然後使用該文件在本地 Linux 主機上建立實際的 /etc/passwd 即可。您可以從相同的資料建立 /etc/shadow 條目,並最初使用鎖定的雜湊值(“!!”)。

一些注意事項...

  1. AD 中的使用者需要定義其 UNIX 屬性。 AD 在「使用者屬性」面板(檢視進階功能=開啟)、「屬性編輯器」標籤中原生支援此功能。您需要指定以下內容:gidNumber、name、uid、uidNumber 和 unixHomeDirectory。這將允許更完整的 /etc/passwd 樣式輸出。

當設定像 uidNumber 和 gidNumber 這樣的東西時,一定要考慮清楚它們應該是什麼,並且你已經相應地準備了 linux 端。請記住,不要為任何使用者重複 uidNumber。

  1. 根據您的 Windows Server 版本,您可能無法查詢使用者的雜湊密碼。我認為MS在Server 2012中刪除了這個功能,但我的記憶已經模糊了。因此,一旦將使用者匯入 Linux,您可能需要讓他們設定新密碼。

  2. 如果幸運的話,您也許也可以使用「getent group」從 Windows 中取得一些群組數據,但它可能無法使用。可能值得一試,看看你會得到什麼。

請,請,請...不要在您的 linux /etc/passwd 或 /etc/group 檔案中使用任何大寫字母。除了使用者的真實姓名(GECOS 欄位)之外,這些文件中不應有大寫字母。 Linux 不會在意,但它完全超越了最佳實踐,並且尖叫著“業餘!”

完成所有這些後,您可以刪除 sssd/kerberos 配置。

這有點複雜,但可能比手動重新建立 1000 個使用者更快。

相關內容