logo

Linux系统加入Windows AD域的方法详解及步骤指南

本站 6210
在企业级环境中,Linux系统的广泛应用使得跨平台的集成与管理变得至关重要。其中一项核心需求就是在保持原有架构的基础上将Linux服务器或工作站无缝地整合进基于Microsoft Windows Active Directory (AD) 的身份验证和授权体系中去。下面详述如何实现这一目标。

首先,在配置之前,请确保你的环境满足以下条件:

1. 您拥有一台运行Active Directory服务且正常工作的Windows Server。
2. 确保您的Linux系统安装了相应的软件包以支持对AD域的支持(如:samba-winbind、pam_krb5等)并已更新至最新版本。

**步骤一:准备Linux客户端**

- **添加相关RPM包**: 对于主流发行版比如CentOS/RHEL系列,可以通过`yum install sssd realmd oddjob oddjob-mkhomedir adcli krb5-workstation policycoreutils-python-utils -y`命令来安装所需的组件和服务守护进程SSSD。

- **修改hostname/FQDN**: 使用 `hostnamectl set-hostname <your_hostname>` 设置主机名,并确认其对应的FQDN能在DNS上解析到正确的IP地址。

**步骤二:连接到AD域**

使用realm工具进行域名发现以及加入操作:
bash

sudo realm join --verbose DOMAIN.NAME.COM -U 'DOMAIN_ADMIN_ACCOUNT'

这里需要替换为实际的企业活动目录域名名称和具有足够权限执行此动作的管理员账号密码。

**步骤三:设置PAM模块及NSSwitch.conf文件**
为了使登录认证通过AD完成,需编辑 `/etc/pam.d/system-auth-ac`(或者其他对应的服务),并在auth部分引用winbind PAM模块;同时调整 /etc/nsswitch.conf 文件中的passwd/group/shadow条目包含"sss"源以便从SMB/WinBind获取用户信息。

例如:
text

# nsswitch.conf
...
passwd: files systemd sss
group: files systemd sss
shadow: files sss

# pam.d/system-auth-ac 或其他适用服务
auth required pam_env.so [...]
auth sufficient pam_unix.so [...]
auth requisite pam_succeed_if.so uid >= 500 quiet_success
auth [default=ignore] pam_winbind.so use_first_pass
auth required pam_deny.so

account [...]
password([...])
session([...])


**步骤四:重启服务 & 测试**

应用所有更改后,启动或重新加载相关的服务,通常包括`smb`, `nscd`, 和 `sssd`:

shell

systemctl restart smb winbind nscd sssd

现在可以尝试用一个有效的AD账户在其终端机上登陆测试是否成功接入到了AD域内。

以上即是在Linux系统下将其顺利加入Windows AD域的具体方法。当然不同Linux发行版可能会有细微差别,但基本流程大同小异,关键在于正确部署和配置所需的身份验证代理程序并与现有网络基础设施良好对接。这样不仅可以统一用户的访问控制策略,还能大大简化IT部门对于混合操作系统环境下用户管理和维护的工作量。

标签: 给linux加域