如何让 Linux 机器加入 Windows 的 AD 域
创始人
2024-03-01 17:52:42
0

对于帐户统一管理系统或软件来说,在 Linux 下你可能知道 NIS、OpenLDAP、samba 或者是 RedHat、IBM 的产品,在 Windows 下当然就是最出名的 活动目录 ( Active Directory ) (AD)了,这里就来探讨一下如何让 Linux 的计算机加入 AD 域。

首先,先简单介绍一下 AD 域。自 Windows 2000 以来,AD 一直是 Windows 的身份验证和目录服务,AD 基于 LDAP 实现其功能,其使用 DNS 进行主机名的解析,使用 Kerberos V5 进行用户身份验证,使用 LDAP V3 进行统一的帐户管理。

目标:在 AD 域中,将 Linux 服务器加入 AD,以使 Domain Admins 用户组成员可以登录操作 Linux 服务器,不需要在 Linux 服务器中单独创建帐户。

环境:一台 Windows Server 2012 R2 操作系统的服务器,安装有 AD 并作为 域控制器 ( Domain Controller ) (DC),同时也作为 DNS 服务器和时间服务器;一台 RedHat Enterprise Linux 6.x 的服务器,请自行配置好网络及 YUM 源。有关 AD 域服务器的搭建,由于比较简单,请自行查阅资料完成,这里不再详述。

这里以 Windows 服务器地址为 192.168.2.122,域名为 contoso.com,主机名为 ad.contoso.com;Linux 服务器地址为 192.168.2.150,主机名为 lemon20.contoso.com。

1、安装所需软件:

# yum -y install samba samba-client samba-common samba-winbind samba-winbind-clients krb5-workstation ntpdate

2、设置服务自启动并启动服务:

# chkconfig smb on
# chkconfig winbind on
# service smb start
# service winbind start

3、修改 /etc/hosts 文件,添加主机对应记录:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.2.150 lemon20.contoso.com lemon20

4、设置 DNS 地址并与 AD 服务器同步时间:

# echo "nameserver 192.168.2.122" >> /etc/resolv.conf
# ntpdate ad.contoso.com

5、设置 Kerberos 票据(可选):

销毁已经存在的所有票据:

# kdestroy

查看当前是否还存在票据:

# klist                           
klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_0)  

生成新的票据,注意域名大写。

# kinit administrator@CONTOSO.COM
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@CONTOSO.COM
Valid starting     Expires            Service principal
08/02/16 22:35:26  08/03/16 08:35:29  krbtgt/CONTOSO.COM@CONTOSO.COM
renew until 08/09/16 22:35:26

6、以命令方式设置 samba 与 Kerberos,并加入 AD 域:

#authconfig --enablewinbind  --enablewins --enablewinbindauth --smbsecurity ads --smbworkgroup=CONTOSO --smbrealm CONTOSO.COM --smbservers=ad.contoso.com --enablekrb5 --krb5realm=CONTOSO.COM --krb5kdc=ad.contoso.com --krb5adminserver=ad.contoso.com --enablekrb5kdcdns --enablekrb5realmdns --enablewinbindoffline --winbindtemplateshell=/bin/bash --winbindjoin=administrator --update --enablelocauthorize --enablemkhomedir --enablewinbindusedefaultdomain

注意命令中的大小写,此步骤也可以使用 authconfig-tui 完成。

7、增加 sudo 权限(可选):

# visudo

加入下列设置:

%MYDOMAIN\\domain\ admins ALL=(ALL)  NOPASSWD: ALL

8、确认是否正确加入 AD 域:

查看 AD 的相关信息

# net ads info  

查看 MYDOMAIN\USERID 的使用者帐户

# wbinfo -u 

补充:

如果启用 selinux 的话,需要安装 oddjobmkhomedir 并启动其服务,这样才能确保系统对创建的家目录设置合适的 SELinux 安全上下文。

相关内容

AWS活动目录-无效使用了...
这个错误通常发生在使用AWS Directory Service创...
2024-09-25 20:33:06
ASP.NET应用程序使用...
在ASP.NET应用程序中,您可以使用唯一的活动目录凭据连接到远程...
2024-09-19 18:02:19
ASP.NetCore中如...
要获取活动目录中用户的完整路径,可以使用System.Direct...
2024-09-18 15:30:43
将 Fedora Linu...
在企业互联网场景中,一般情况下最广泛使用的基于 Linux 的操作...
2024-03-02 07:23:49
Samba 系列(三):使...
这一节的Samba4 AD DC 架构系列文章,我们将会讨论如何把...
2024-03-01 18:37:26
Samba 系列(一):在...
Samba 是一个自由的开源软件套件,用于实现 Windows 操...
2024-03-01 18:31:57

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...