在Ubuntu系統(tǒng)上使用Samba4來創(chuàng)建活動目錄架構(gòu)(一)
Samba 是一個自由的開源軟件套件,用于實現(xiàn) Windows 操作系統(tǒng)與 Linux/Unix 系統(tǒng)之間的無縫連接及共享資源。
Samba 不僅可以通過 SMB/CIFS 協(xié)議組件來為 Windows 與 Linux 系統(tǒng)之間提供獨立的文件及打印機共享服務(wù),它還能實現(xiàn)活動目錄(Active Directory)域控制器(Domain Controller)的功能,或者讓 Linux 主機加入到域環(huán)境中作為域成員服務(wù)器。當前的 Samba4 版本實現(xiàn)的 AD DC 域及森林級別可以取代 Windows 2008 R2 系統(tǒng)的域相關(guān)功能。
本系列的文章的主要內(nèi)容是使用 Samba4 軟件來配置活動目錄域控制器,涉及到 Ubuntu、CentOS 和 Windows 系統(tǒng)相關(guān)的以下主題:
- 第 1 節(jié):在 Ubuntu 系統(tǒng)上使用 Samba4 來創(chuàng)建活動目錄架構(gòu)
- 第 2 節(jié):在 Linux 命令行下管理 Samba4 AD 架構(gòu)
- 第 3 節(jié):在 Windows 10 操作系統(tǒng)上安裝 RSAT 工具來管理 Samba4 AD
- 第 4 節(jié):從 Windows 中管理 Samba4 AD 域控制器 DNS 和組策略
- 第 5 節(jié):使用 Sysvol Replication 復(fù)制功能把 Samba 4 DC 加入到已有的 AD
- 第 6 節(jié):從 Linux DC 服務(wù)器通過 GOP 來添加一個共享磁盤并映射到 AD
- 第 7 節(jié):把 Ubuntu 16.04 系統(tǒng)主機作為域成員服務(wù)器添加到 AD
- 第 8 節(jié):把 CenterOS 7 系統(tǒng)主機作為域成員服務(wù)器添加到 AD
- 第 9 節(jié):在 AD Intranet 區(qū)域創(chuàng)建使用 kerberos 認證的 Apache Website
這篇指南將闡明在 Ubuntu 16.04 和 Ubuntu 14.04 操作系統(tǒng)上安裝配置 Samba4 作為域控服務(wù)器組件的過程中,你需要注意的每一個步驟。
以下安裝配置文檔將會說明在 Windows 和 Linux 的混合系統(tǒng)環(huán)境中,關(guān)于用戶、機器、共享卷、權(quán)限及其它資源信息的主要配置點。
環(huán)境要求:
- Ubuntu 16.04 服務(wù)器安裝
- Ubuntu 14.04 服務(wù)器安裝
- 為你的 AD DC 服務(wù)器設(shè)置靜態(tài)IP地址
***步:初始化 Samba4 安裝環(huán)境
1、 在開始安裝 Samba4 AD DC 之前,讓我們先做一些準備工作。首先運行以下命令來確保系統(tǒng)已更新了***的安全特性,內(nèi)核及其它補?。?/p>
- $ sudo apt-get update
- $ sudo apt-get upgrade
- $ sudo apt-get dist-upgrade
2、 其次,打開服務(wù)器上的 /etc/fstab 文件,確保文件系統(tǒng)分區(qū)的 ACL 已經(jīng)啟用 ,如下圖所示。
通常情況下,當前常見的 Linux 文件系統(tǒng),比如 ext3、ext4、xfs 或 btrfs 都默認支持并已經(jīng)啟用了 ACL 。如果未設(shè)置,則打開并編輯 /etc/fstab 文件,在第三列添加 acl,然后重啟系統(tǒng)以使用修改的配置生效。
啟動 Linux 文件系統(tǒng)的 ACL 功能
3、 ***使用一個具有描述性的名稱來設(shè)置主機名 ,比如這往篇文章所使用的 adc1。通過編輯 /etc/hostname 文件或使用使用下圖所示的命令來設(shè)置主機名。
- $ sudo hostnamectl set-hostname adc1
為了使修改的主機名生效必須重啟服務(wù)器。
第二步: 為 Samba4 AD DC 服務(wù)器安裝必需的軟件包
4、 為了讓你的服務(wù)器轉(zhuǎn)變?yōu)橛蚩刂破?,你需要在服?wù)器上使用具有 root 權(quán)限的賬號執(zhí)行以下命令來安裝 Samba 套件及所有必需的軟件包。
- $ sudo apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind
在 Ubuntu 系統(tǒng)上安裝 Samba 套件
5、 安裝包在執(zhí)行的過程中將會詢問你一系列的問題以便完成域控制器的配置。
在***屏中你需要以大寫為 Kerberos 默認 REALM 輸入一個名字。以大寫為你的域環(huán)境輸入名字,然后單擊回車繼續(xù)。
配置 Kerosene 認證服務(wù)
6、 下一步,輸入你的域中 Kerberos 服務(wù)器的主機名。使用和上面相同的名字,這一次使用小寫,然后單擊回車繼續(xù)。
設(shè)置 Kerberos 服務(wù)器的主機名
7、 ***,指定 Kerberos realm 管理服務(wù)器的主機名。使用更上面相同的名字,單擊回車安裝完成。
設(shè)置管理服務(wù)器的主機名
第三步:為你的域環(huán)境開啟 Samba AD DC 服務(wù)
8、 在為域服務(wù)器配置 Samba 服務(wù)之前,先運行如下命令來停止并禁用所有 Samba 進程。
- $ sudo systemctl stop samba-ad-dc.service smbd.service nmbd.service winbind.service
- $ sudo systemctl disable samba-ad-dc.service smbd.service nmbd.service winbind.service
9、 下一步,重命名或刪除 Samba 原始配置文件。在開啟 Samba 服務(wù)之前,必須執(zhí)行這一步操作,因為在開啟服務(wù)的過程中 Samba 將會創(chuàng)建一個新的配置文件,如果檢測到原有的 smb.conf 配置文件則會報錯。
- $ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.initial
10、 現(xiàn)在,使用 root 權(quán)限的賬號并接受 Samba 提示的默認選項,以交互方式啟動域供給(domain provision)。
還有,輸入正確的 DNS 服務(wù)器地址并且為 Administrator 賬號設(shè)置強密碼。如果使用的是弱密碼,則域供給過程會失敗。
- $ sudo samba-tool domain provision --use-rfc2307 –interactive
Samba 域供給
11、 ***,使用以下命令重命名或刪除 Kerberos 認證在 /etc 目錄下的主配置文件,并且把 Samba 新生成的 Kerberos 配置文件創(chuàng)建一個軟鏈接指向 /etc 目錄。
- $ sudo mv /etc/krb6.conf /etc/krb5.conf.initial
- $ sudo ln –s /var/lib/samba/private/krb5.conf /etc/
創(chuàng)建 Kerberos 配置文件
12、 啟動并開啟 Samba 活動目錄域控制器后臺進程
- $ sudo systemctl start samba-ad-dc.service
- $ sudo systemctl status samba-ad-dc.service
- $ sudo systemctl enable samba-ad-dc.service
開啟 Samba 活動目錄域控制器服務(wù)
13、 下一步,使用 netstat 命令 來驗證活動目錄啟動的服務(wù)是否正常。
- $ sudo netstat –tulpn| egrep ‘smbd|samba’
驗證 Samba 活動目錄
第四步: Samba ***的配置
14、 此刻,Samba 應(yīng)該跟你想像的一樣,完全運行正常。Samba 現(xiàn)在實現(xiàn)的域功能級別可以完全跟 Windows AD DC 2008 R2 相媲美。
可以使用 samba-tool 工具來驗證 Samba 服務(wù)是否正常:
- $ sudo samba-tool domain level show
驗證 Samba 域服務(wù)級別
15、 為了滿足 DNS 本地解析的需求,你可以編輯網(wǎng)卡配置文件,修改 dns-nameservers 參數(shù)的值為域控制器地址(使用 127.0.0.1 作為本地 DNS 解析地址),并且設(shè)置 dns-search 參數(shù)為你的 realm 值。
- $ sudo cat /etc/network/interfaces
- $ sudo cat /etc/resolv.conf
為 Samba 配置 DNS 服務(wù)器地址
設(shè)置完成后,重啟服務(wù)器并檢查解析文件是否指向正確的 DNS 服務(wù)器地址。
16、 ***,通過 ping 命令查詢結(jié)果來檢查某些重要的 AD DC 記錄是否正常,使用類似下面的命令,替換對應(yīng)的域名。
- $ ping –c3 tecmint.lan # 域名
- $ ping –c3 adc1.tecmint.lan # FQDN
- $ ping –c3 adc1 # 主機
檢查 Samba AD DNS 記錄
執(zhí)行下面的一些查詢命令來檢查 Samba 活動目錄域控制器是否正常。
- $ host –t A tecmint.lan
- $ host –t A adc1.tecmint.lan
- $ host –t SRV _kerberos._udp.tecmint.lan # UDP Kerberos SRV record
- $ host -t SRV _ldap._tcp.tecmint.lan # TCP LDAP SRV record
17、 并且,通過請求一個域管理員賬號的身份來列出緩存的票據(jù)信息以驗證 Kerberos 認證是否正常。注意域名部分使用大寫。
- $ kinit administrator@TECMINT.LAN
- $ klist
檢查域環(huán)境中的 Kerberos 認證是否正確
至此! 你當前的網(wǎng)絡(luò)環(huán)境中已經(jīng)完全運行著一個 AD 域控制器,你現(xiàn)在可以把 Windows 或 Linux 系統(tǒng)的主機集成到 Samba AD 中了。
在下一期的文章中將會包括其它 Samba AD 域的主題,比如,在 Samba 命令行下如何管理你的域控制器,如何把 Windows 10 系統(tǒng)主機添加到同一個域環(huán)境中,如何使用 RSAT 工具遠程管理 Samba AD 域,以及其它重要的主題。