# Linux怎么加入Windows中AD域
## 前言
在企業IT環境中,Windows Active Directory(AD)域是廣泛使用的目錄服務,用于集中管理用戶、計算機和其他資源。雖然AD是微軟的產品,但Linux系統也可以通過適當配置加入AD域,實現統一身份認證和集中管理。本文將詳細介紹Linux系統加入Windows AD域的步驟和注意事項。
## 準備工作
在開始之前,請確保滿足以下條件:
1. 已部署正常運行的Windows Active Directory域控制器
2. 具備域管理員權限或委派權限的賬戶
3. Linux系統已安裝并配置好網絡連接
4. 確保Linux主機能夠解析AD域控制器的DNS名稱
5. 同步Linux系統與AD域控制器的時間(NTP服務)
### 網絡配置要求
- Linux主機必須能夠與域控制器通信(通常需要TCP/UDP 88、135、139、389、445、464、636、3268、3269等端口)
- DNS配置正確,能夠解析域控制器的SRV記錄
## 方法一:使用realmd和sssd加入AD域(推薦)
### 1. 安裝必要軟件包
在基于RPM的系統(如RHEL/CentOS/Fedora)上:
```bash
sudo yum install realmd sssd oddjob oddjob-mkhomedir adcli samba-common-tools krb5-workstation
在基于Debian的系統(如Ubuntu/Debian)上:
sudo apt-get install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin krb5-user
sudo realm discover example.com
(將example.com替換為你的AD域名)
sudo realm join --user=admin example.com
系統會提示輸入有權限加入域的賬戶密碼。
編輯SSSD配置文件:
sudo nano /etc/sssd/sssd.conf
確保包含以下基本配置:
[sssd]
domains = example.com
config_file_version = 2
services = nss, pam
[domain/example.com]
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u
access_provider = ad
設置正確的文件權限:
sudo chmod 600 /etc/sssd/sssd.conf
sudo systemctl restart sssd
編輯PAM配置:
sudo pam-auth-update
選擇”Create home directory on login”選項。
id administrator@example.com
getent passwd administrator@example.com
RPM系統:
sudo yum install samba samba-client samba-winbind samba-winbind-clients krb5-workstation
Debian系統:
sudo apt-get install samba winbind libpam-winbind libnss-winbind krb5-user
編輯/etc/krb5.conf
:
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = true
dns_lookup_kdc = true
[realms]
EXAMPLE.COM = {
kdc = dc1.example.com
admin_server = dc1.example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
編輯/etc/samba/smb.conf
:
[global]
workgroup = EXAMPLE
realm = EXAMPLE.COM
security = ads
idmap config * : backend = tdb
idmap config * : range = 10000-19999
idmap config EXAMPLE : backend = rid
idmap config EXAMPLE : range = 20000-999999
winbind use default domain = yes
winbind offline logon = yes
winbind enum users = yes
winbind enum groups = yes
template shell = /bin/bash
template homedir = /home/%U
client signing = yes
client use spnego = yes
kerberos method = secrets and keytab
sudo net ads join -U administrator
編輯/etc/nsswitch.conf
:
passwd: files winbind
shadow: files
group: files winbind
啟動服務:
sudo systemctl enable smb winbind
sudo systemctl start smb winbind
realm list
或
sudo net ads testjoin
sudo net ads info
su - administrator@example.com
或
getent passwd administrator
sudo yum install ntp
sudo systemctl enable ntpd
sudo systemctl start ntpd
或使用chrony:
sudo chronyc sources
確保/etc/resolv.conf
指向正確的DNS服務器(通常是域控制器)。
確保使用的賬戶有權限將計算機加入域。
檢查防火墻設置,確保所有必要端口開放。
編輯/etc/sudoers
:
%domain\ admins@example.com ALL=(ALL) ALL
編輯/etc/ssh/sshd_config
:
AllowGroups "domain admins@example.com"
使用autofs自動掛載用戶家目錄:
sudo yum install autofs
編輯/etc/auto.master
:
/home /etc/auto.home
創建/etc/auto.home
:
* -fstype=cifs,rw,nosuid,nodev,username=&,uid=&,gid= ://dc1.example.com/homes/&
通過以上步驟,Linux系統可以成功加入Windows AD域,實現與Windows環境的無縫集成。這種方法不僅簡化了用戶管理,還提高了整個IT基礎設施的安全性和一致性。根據實際環境的不同,可能需要進行一些額外的調整,但基本原理和流程是相同的。
無論是使用realmd/sssd還是Samba/Winbind方案,都能有效實現Linux與AD的集成。前者更現代且配置簡單,后者則更靈活且歷史悠久。企業可以根據自身需求選擇最適合的方案。 “`
這篇文章提供了兩種主要方法將Linux系統加入Windows AD域,涵蓋了從準備工作到驗證測試的全過程,并包含常見問題解決和高級配置建議。文章長度約2150字,采用Markdown格式,包含代碼塊、列表和標題層級結構。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。