Install-AD-DS
- Active Directory 域服务概述
- Windows 身份验证概述
- Windows 登录方案
- 配置新联合服务器场中的第一台联合服务器
- 如何在windows server 2016上设置域控制器并验证
- 部署:AD FS联合身份验证
- windows server 2016 域环境搭建的方法步骤(图文)
- Spring Security Kerberos Integration With MiniKdc
- Spring Security Kerberos Integration With MiniKdc Github
一、安装系统
系统配置如下,具体安装过程略过。
- Windows Server 2019: 8C8G
- Account:
- Administrator / Admin123
激活密钥
# 卸载密钥
slmgr /upk
# 安装密钥
slmgr /ipk WMDGN-G9PQG-XVVXX-R3X43-63DFG
# 设置 KMS服务器
slmgr /skms kms.03k.org
# 激活 需要等待
slmgr /ato
# 激活查看指令
slmgr /xpr
域名规划
- 域地址: dev.local
- AD域服务器: win-dc01.dev.local
- Tomcat服务器: win-tc01.dev.local
- 客户端: win-pc01.dev.local
注意: 如果是虚拟机安装,最好将网络改为桥接,否则外部的计算机无法添加到域中
二、安装AD域服务器
1. 安装AD域服务
点击【开始】-【服务器管理】

选择【添加角色和功能】

下一步

下一步

下一步

勾选【Active Directory 域服务】,点击下一步

下一步

下一步

点击【安装】

安装进行中

安装完成,点击【将此服务器提升为域控制器】

2. 将服务器提升为域控制器
在这里需要明白几个概念:
- 将域控制器添加到现有林:可向现有域添加第二台或是更多域控制器,不过前提是要先有一个域
- 将新域添加到现有林:在现有林中创建现有域的子域,注意,一个林中有多个树,树有多个域
- 添加新林:新建全新的域,这里注意一下,如果是第一次安装域控制器,建议选择添加到新林
勾选【添加林】,输入域名称 dev.local

设置AD域服务还原密码 Admin123

下一步

NetBIOS域名默认即可,有需要可以修改

下一步

下一步

先决条件检查完毕后,点击【安装】

安装完成后计算机将会自动重启

可以看到,【服务器管理】上多了 【AD DS】及【DNS】两个服务

后续所有加入到此AD域的计算机,都需要AD域来分配IP,测试时可以手动修改计算机的DNS为AD域的IP
3. 更改目标服务器
目标服务器即主机名,AD域的域名,默认为一串乱码 WIN-FO87FA2R38O
依次点击【本地服务器】-【主机名】-【更改】,修改计算机名称,点击【确定】

最后重启

注意 此操作是在域控制器安装完,进行的操作,所以,此时无法选择隶属那个域,而是系统默认,不过默认的一般情况,是所创域控制器所属域,所以,无大碍
如果,不想系统默认隶属域,要在设 置前操作
验证,重启之后在【控制面板】-【系统和安全】-【系统】中即可查看新的AD域名称

4. 添加域用户
在【AD DS】页面右键点击服务器,选择 【Active Directy 用户和计算机】

这个页面有两项重要的信息,
- 【Computers】代表添加到域中的计算机
- 【Users】代表域中的用户

新建用户,右键点击【Users-新建-用户】

输入姓名、用户名、登录名等信息

设置密码,勾选【密码永不过期】 Admin123

可以看到完整的登录名

右键点击【属性】

在【账户】中,有两项关键的配置信息
- 【登录到】 可以设置当前用户可以在哪些电脑上登录
- 【账户选项】 可以设置账户的加密方式,客户端需要对应的加密方式,否则会报错

三、计算机加入AD域
1. Windows服务器加入AD域
修改计算机的DNS为AD域服务器的IP

右键点击【此电脑】-【属性】-【重命名这台电脑】-【更改】
将【隶属于】改为AD域的地址,此处为 dev.local

点击确定,输入域管理员账号密码(Administrator / Admin123)登录,登录完成后需要重启计算机

注意 计算机加入域,会自动的在活动目录中【Computers】目录下创建计算机账号。您也可以在活动目录中先创建计算机账号,再将计算机加入到域中。
检查加入到域之后的计算机名称,发现计算机名称后自动添加了域后缀

计算机脱离域,将计算机加入到工作组即可从域中退出。

2. Linux服务器加入AD域
-
Windows 服务器地址为
192.168.3.32,域名为dev.local,主机名为win-dc01.dev.local; -
Linux 服务器地址为
192.168.3.34,主机名为lin-pc01.dev.local。
1、安装所需软件:
yum -y install samba samba-client samba-common samba-winbind samba-winbind-clients krb5-workstation ntpdate
# 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
2、设置服务自启动并启动服务:
chkconfig smb on
chkconfig winbind on
service smb start
service winbind start
3、修改 /etc/hosts 文件,添加主机对应记录:
vim /etc/hosts
# 添加下列内容
192.168.3.32 win-dc01.dev.local
192.168.3.34 lin-pc01.dev.local pc01
4、设置 DNS 地址并与 AD 服务器同步时间:
# 修改DNS
echo "nameserver 192.168.3.32" >> /etc/resolv.conf
# 同步时 间
ntpdate win-dc01.dev.local
5、设置 Kerberos 票据(可选):
销毁已经存在的所有票据:
kdestroy
# 或
klist purge
查看当前是否还存在票据:
klist
# 输出
klist: Credentials cache keyring 'persistent:0:0' not found
生成新的票据,注意域名大写。
# 生成票据(未加域生成失败,加域后重试即可)
kinit administrator@DEV.LOCAL
klist
# 输出
Ticket cache: KEYRING:persistent:0:0
Default principal: administrator@DEV.LOCAL
Valid starting Expires Service principal
2024-01-31T17:31:06 2024-02-01T03:31:06 krbtgt/DEV.LOCAL@DEV.LOCAL
renew until 2024-02-07T17:30:58
6、以命令方式设置 samba 与 Kerberos,并加入 AD 域:
authconfig --enablewinbind --enablewins --enablewinbindauth \
--smbsecurity ads --smbworkgroup=DEV --smbrealm DEV.LOCAL \
--smbservers=win-dc01.dev.local --enablekrb5 --krb5realm=DEV.LOCAL \
--krb5kdc=win-dc01.dev.local --krb5adminserver=win-dc01.dev.local \
--enablekrb5kdcdns --enablekrb5realmdns --enablewinbindoffline \
--winbindtemplateshell=/bin/bash --winbindjoin=administrator \
--update --enablelocauthorize --enablemkhomedir --enablewinbindusedefaultdomain
注意命令中的大小写,此步骤也可以使用 authconfig-tui 完成。下面为界面UI

7、增加 sudo 权限(可选):
visudo
# 加入下列设置:
%MYDOMAIN\\domain\ admins ALL=(ALL) NOPASSWD: ALL
8、确认是否正确加入 AD 域:
查看 AD 的相关信息
net ads info
# 输出
LDAP server: 192.168.3.32
LDAP server name: win-dc01.dev.local
Realm: DEV.LOCAL
Bind Path: dc=DEV,dc=LOCAL
LDAP port: 389
Server time: 三, 31 1月 2024 17:32:38 CST
KDC server: 192.168.3.32
Server time offset: -2
Last machine account password change: 三, 31 1月 2024 17:30:27 CST
查看 MYDOMAIN\USERID 的使用者帐户
wbinfo -u
# 输出
administrator
guest
krbtgt
tc01
pc01
9. 补充:
最好关闭SELinux
# 确认当前SELinux状态
getenforce
# 临时关闭SELinux
setenforce 0
# 永久关闭SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
如果启用 selinux 的话,需要安装 oddjobmkhomedir 并启动其服务,这样才能确保系统对创建的家目录设置合适的 SELinux 安全上下文。
10. 效果
添加完成后可以在【Computers】中看到Windows计算机和Linux计算机
