如何让Linux机器加入Windows的AD域

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

对于帐户统一管理系统或软件来说,在 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、安装所需软件:

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

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

 
 
  1. # chkconfig smb on 
  2. # chkconfig winbind on 
  3. # service smb start 
  4. # service winbind start 

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

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

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

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

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

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

 
 
  1. # kdestroy 

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

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

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

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

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

 
 
  1. #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 权限(可选):

 
 
  1. # visudo 

加入下列设置:

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

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

查看 AD 的相关信息

 
 
  1. # net ads info 

查看 MYDOMAIN\USERID 的使用者帐户

 
 
  1. # wbinfo -u 

补充:

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





作者:拿铁不加糖
来源:51CTO
目录
相关文章
|
28天前
|
Ubuntu 安全 Linux
|
29天前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
1月前
|
存储 Linux 编译器
cmake的单目录和多目录的使用(Linux和Windows)
本文介绍了在Windows和Linux平台上使用CMake构建单目录和多目录项目的步骤,包括如何配置CMakeLists.txt文件以及如何生成和使用可执行文件、库文件。
21 2
|
24天前
|
Linux 网络安全 虚拟化
适用于Linux的Windows子系统(WSL1)的安装与使用记录
并放到启动文件夹,就可以开机自动启动了。
30 0
|
1月前
|
关系型数据库 MySQL Linux
Navicat 连接 Windows、Linux系统下的MySQL 各种错误,修改密码。
使用Navicat连接Windows和Linux系统下的MySQL时可能遇到的四种错误及其解决方法,包括错误代码2003、1045和2013,以及如何修改MySQL密码。
202 0
|
3月前
|
Unix Linux Ruby
在windows和linux上高效快捷地发布Dash应用
在windows和linux上高效快捷地发布Dash应用
|
2月前
|
Linux 开发者 Python
从Windows到Linux,Python系统调用如何让代码飞翔🚀
【9月更文挑战第10天】在编程领域,跨越不同操作系统的障碍是常见挑战。Python凭借其“编写一次,到处运行”的理念,显著简化了这一过程。通过os、subprocess、shutil等标准库模块,Python提供了统一的接口,自动处理底层差异,使代码在Windows和Linux上无缝运行。例如,`open`函数在不同系统中以相同方式操作文件,而`subprocess`模块则能一致地执行系统命令。此外,第三方库如psutil进一步增强了跨平台能力,使开发者能够轻松编写高效且易维护的代码。借助Python的强大系统调用功能,跨平台编程变得简单高效。
40 0
|
2月前
|
Linux 网络虚拟化 Windows
ccproxy windows上用的代理软件(类似linux系统上的squid)
ccproxy windows上用的代理软件(类似linux系统上的squid)
|
3月前
|
Linux Windows Python
最新 Windows\Linux 后台运行程序注解
本文介绍了在Windows和Linux系统后台运行程序的方法,包括Linux系统中使用nohup命令和ps命令查看进程,以及Windows系统中通过编写bat文件和使用PowerShell启动隐藏窗口的程序,确保即使退出命令行界面程序也继续在后台运行。
|
5天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
22 3