上回所介紹的都是筆者曾經實際運行過的整合應用,其重點大都鎖定在開源應用系統與 Microsoft Active Directory 以及 Office 軟體的結合使用。在接下來的實戰分享之中,筆者將回歸到 Linux 作業系統與 Active Directory 的整合使用,也就是把所謂的 Linux 三強當作企業 Windows Client 來使用。究竟是哪三強呢?答案是 CentOS、OpenSUSE、Ubuntu。

CentOS 7.0 整合 Active Directory 驗證管理

CentOS 有號稱萬年不掛的美稱,它最被常用來建置的伺服器服務有 Web Server、FTP Server 以及 Mail Server,其次則是 DNS Server、DHCP Server 以及 MySQL Server。如今不僅是校園廣泛使用它,就連企業 IT 都因為了節省建置成本,而陸續開始將 CentOS 用來建置在企業一級戰區內的 IT 服務之中。既然 CentOS 系統的使用如此廣泛,整合現行 Active Directory 目錄服務來降低 IT 管理成本,肯定勢在必行。

請在登入 CentOS 系統之後開啟命令提示字元介面,然後下達以下命令參數來完成相關所需套件的安裝。

sudo yum -y install realmd sssd oddjob oddjob-mkhomedir adcli samba-common

圖 4 安裝相關所需套件

完成所有與整合 Active Directory 有關套件的安裝之後,可以嘗試下達 sudo realm discover dc01.lab01.com 命令,其中dc01.lab01.com 是筆者 Windows Server 2012 R2 網域控制站(DC)的 FQDN 位址,您必須修改成您實際使用的連線位址。執行後將可以像如圖 5 所示一樣探索到該網域的相關資訊。

圖 5 探索網域資訊

確認網域資訊能夠正常回應之後,便可以下達 sudo realm join lab01.com 命令來嘗試將此 CentOS 7.0 主機加入此網域。執行後將會先詢問 CentOS 系統本機的管理員密碼,然後再詢問 Active Directory 預設的 Administrator 密碼。一旦通過驗證便可以成功加入此網域中成為一部電腦成員。

圖 6 加入指定網域

接下來您就可以使用 id 命令來查詢網域中任何一個帳號的資訊,例如您可以輸入 Id lab01\administrator 命令,來得此管理員帳戶的 ID 編碼、所屬的群組清單以及各群組的 ID 編碼。

圖 7 查詢網域使用者資訊

然後您將可以在不登出現行的 CentOS 視窗桌面之下,開啟命令提示字元視窗,像如圖 8 所示一樣下達 su – lab01\\administrator,來切換到至指定的網域帳戶進行檔案系統的存取,初次的執行系統將會自動建立相關的目錄。而我們必須要做的事,就是事先完成相關網域使用者於 CentOS 的群組設定,如此一來才能擁有相對應的必要存取權限。例如您可能就需要賦予網域 Administrator 隸屬於 wheel 群組成員。

圖 8 切換網域使用者



上回提到如何在 CentOS 7.0 整合 Active Directory 驗證管理,接下來我們繼續教學部份。

首先如果您希望往後對於網域使用者的管理以及登入操作,不需要再輸入網域名稱的話,則可以下達 sudo vi /etc/sssd/sssd.conf 命令來修改此網域連線設定檔。如圖 9 所示只要找到在第 16 列的use_fully_qualified_names 敘述,將其值修改成 False 即可。儲存並離開。

圖 9 修改網域連接設定檔

完成網域連線設定檔的修改之後,請如圖 10 所示下達 systemctl restart sssd 命令以便讓其設定生效。接著您就可以嘗試下達 id 命令來查詢任何一位網域使用者的帳戶資訊,並且省略掉網域名稱的輸入。例如您可以下達 id administrator 命令。

圖 10 測試使用者資訊查詢

接下來讓我們重新啟動或登出現有的 CentOS 7.0 系統,然後在如圖 11 所示的登入頁面之中,改輸入 Active Directory 網域使用者的名稱,輸入的格式可以省略或帶網域名稱都是可以的。點選[下一個]。

圖 11 CentOS 7.0 開機登入

第一次登入成功時可能會出現如圖 12 所示的[線上帳號]管理頁面,這是 CentOS 7 預設特有的帳戶管理功能之一,因此會出現我們目前所使用的帳戶登入類型為[Enterprise Login(Kerberos)],以及顯示目前所登入的網域名稱。如果您還有其它像是 Facebook、Google 等帳戶需要建立,可以點選[加入帳戶]來設定新連線即可。

圖 12 線上帳號管理

接著您可以開啟 Home 資料夾,便可以發現當中已經有自動產生一個網域資料夾,並且會像如圖 13 所示一樣,自動產生每一位登入此 CentOS 主機的網域使用者資料夾,用以作為他們各自的家目錄。

圖 13 使用者資料夾

在前面示範將 CentOS 7 主機加入 Active Directory 的過程之中,您可能不會像筆者那樣順利,那是因為如果您目前的 CentOS 7 的主機名稱,是採用系統預設的 localhost,或是主機名稱與現行網域中的其他主機名稱衝突時,皆會出現如圖 14 所示的錯誤訊息而導致失敗。

圖 14 加入網域失敗

此刻解決的方法就是趕緊修改 CentOS 的主機名稱,在此推薦您使用一套相當好用的工具,名為 nmtui(NetworkManager) 的文字視窗工具。透過它不僅可以幫我們更快速修改主機名稱,必要時連同網路連線設定都可以一併修改。預設此工具並沒有安裝在 CentOS 7.0 的系統之中,請下達 sudo yum install NetworkManager-tui 命令完成下載與安裝即可。完成安裝後請執行 sudo nmtui 命令來開啟如圖 15 所示的文字介面,並在選取[Set system hostname]之後點選[OK]繼續。

圖 15 網路管理工具

在如圖 16 所示的[Set Hostname]頁面中,便可以修改目前的主機名稱。在此建議您先在 DNS Server 的記錄中添加一筆此名稱記錄,然後在輸入完整的網域名稱於此欄位之中,例如:linux01.lab01.com。點選[OK]完成設定。

圖 16 修改主機名稱

完成主機名稱並回到命令提示字元後,請如圖 17 所示下達 sudo systemctl restart systemd-hostnamed 命令,以便讓主機的更名作業生效。接著您便可以下達 cat /etc/hostname,來查看新主機名稱是否已經生效了。

圖 17 重新啟動主機名稱服務

進一步若想要知道 CentOS 主機名稱、架構以及 Linux 核心版本的完整資訊,只要像如圖 18 所示下達 hostnamectl status 命令即可。

圖 18 檢視主機狀態資訊