Linux系统如何加入域?

在Windows域环境中,Linux系统加入域可实现统一身份认证、权限管理和策略部署,提升企业跨平台运维效率,以下是Linux系统加入Windows域的详细操作流程,涵盖前提条件、两种主流方法(Samba-tool和realmd/SSSD)、配置要点及注意事项。

linux系统如何加入域

加入域的前提条件

  1. 网络连通性:Linux系统与域控制器(DC)需网络互通,可通过ping 域控IPping 域名测试。
  2. DNS配置:确保Linux系统的DNS服务器指向域控,能正向/反向解析域名(如nslookup 域控域名)。
  3. 域控权限:需域管理员账户(或具有“加入域”权限的账户),用于授权Linux系统加入域。
  4. 时间同步:Linux系统时间与域控时间需同步(误差通常需≤5分钟),可通过ntpdate 域控IP或配置chrony服务。
  5. 防火墙规则:开放域控相关端口,如TCP/UDP 88(Kerberos)、135(RPC)、389(LDAP)、445(SMB)、3268(GC)等。

方法一:使用Samba+realmd加入域(适用于CentOS/RHEL 7+)

安装必要软件包

yum install -y samba-common samba-client realmd adcli sssd oddjob oddjob-mkhomedir
  • realmd:域管理工具,简化加入域流程;
  • adcli:域操作工具,用于与域控交互;
  • sssd:系统安全服务守护进程,负责域用户认证。

配置网络与DNS

编辑/etc/resolv.conf,确保DNS指向域控:

nameserver 域控IP
search 域名(如example.com)

发现域信息

realm discover 域名(如example.com)

若输出域信息(如example.com类型为active directory),表示域可访问。

加入域

使用域管理员账户加入域:

realm join -U 域管理员用户 域名(如example.com)

根据提示输入域管理员密码,加入成功后会显示Successfully joined domain

配置SSSD与PAM

编辑/etc/sssd/sssd.conf(加入域后自动生成),确保以下配置:

linux系统如何加入域

[sssd]
domains = example.com
config_file_version = 2
services = nss, pam, sudo
[domain/example.com]
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
access_provider = ad
ldap_id_mapping = True
use_fully_qualified_names = False

启动并启用SSSD服务:

systemctl enable --now sssd

配置自动创建家目录

编辑/etc/pam.d/system-auth,确保包含以下行(加入域后realmd可能自动添加):

session    required    pam_mkhomedir.so skel=/etc/skel umask=0077

验证域用户

id 域用户@域名(如user1@example.com)  # 查看域用户UID/GID
su - 域用户@域名                        # 切换到域用户(需首次输入密码)

方法二:使用Samba-tool加入域(适用于Ubuntu/Debian)

安装软件包

apt install -y samba samba-common realmd adcli sssd libnss-sss libpam-sss

配置网络与DNS

同方法一,确保DNS指向域控,编辑/etc/resolv.conf或通过Netplan配置。

加入域

sudo realm join -U 域管理员用户 域名

输入密码后等待加入完成。

配置SSSD

编辑/etc/sssd/sssd.conf(与方法一类似),重启SSSD:

linux系统如何加入域

systemctl restart sssd

测试登录

ssh 域用户@域名@LinuxIP  # 远程登录域用户

两种方法对比

对比项 Samba+realmd Samba-tool
适用发行版 CentOS/RHEL 7+ Ubuntu/Debian
配置复杂度 较低(realmd自动生成配置) 较高(需手动调整sssd.conf)
功能支持 支持SSSD高级特性(如缓存、策略映射) 基础域认证,需额外配置扩展功能
家目录自动创建 通过pam_mkhomedir实现 需手动配置

注意事项

  1. SELinux配置:若开启SELinux,需设置为permissive模式或安装相关策略:
    setenforce 0  # 临时关闭
    yum install -y selinux-policy-sssd  # 安装SSSD策略
  2. 防火墙规则:在Linux系统开放端口(如firewalld):
    firewall-cmd --permanent --add-service={kerberos,ldap,samba}
    firewall-cmd --reload
  3. 用户权限映射:默认域用户UID/GID与Linux不一致时,需在sssd.conf中配置ldap_id_mapping = True或手动映射。
  4. 退出域:若需退出域,执行realm leave 域名,并删除/etc/sssd/sssd.conf/etc/krb5.conf中的域配置。

相关问答FAQs

Q1:加入域后,Linux系统无法使用域用户登录,提示“Authentication failure”,如何排查?
A:排查步骤如下:

  1. 检查SSSD服务状态:systemctl status sssd,确保未报错;
  2. 查看SSSD日志:tail -f /var/log/sssd/sssd.log,确认是否成功获取域用户信息;
  3. 检查Kerberos票据:klist,若无票据,执行kinit 域用户@域名测试;
  4. 验证PAM配置:/etc/pam.d/system-auth中是否包含pam_sss.so
  5. 检查时间同步:ntpq -p确认与域控时间误差≤5分钟。

Q2:如何让Linux系统应用Windows域组策略(如共享文件夹权限)?
A:Linux系统原生不直接支持Windows组策略,可通过以下方式实现:

  1. SSSD策略映射:在sssd.conf中配置access_provider = ad,支持基于域组的权限控制(如ad_access_filter);
  2. 第三方工具:使用LGPO(Linux Group Policy Object)PowerShell for Linux,通过脚本解析组策略并应用到Linux;
  3. PAM脚本:编写PAM模块,读取域组策略并执行相应操作(如限制登录时间、挂载共享目录)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/27831.html

(0)
酷番叔酷番叔
上一篇 2025年9月21日 21:24
下一篇 2025年9月21日 21:36

相关推荐

  • 如何让开发团队免密执行sudo?安全吗

    在Linux系统中,用户分配是系统管理的核心任务之一,它直接关系到系统安全、资源控制和多用户协作效率,下面详细介绍Linux用户分配的全流程,所有操作均需root权限(通过sudo或su切换),用户创建基础创建用户useradd [选项] 用户名常用选项:-m:自动创建用户家目录(如/home/用户名)-s……

    2025年8月4日
    13000
  • 如何给电脑安装Linux系统?

    安装Linux系统需经历准备工作、安装过程及后续配置三个阶段,以下是详细步骤:准备工作硬件兼容性检查Linux兼容大多数主流硬件,但需确认:CPU(x86_64架构为主流,ARM架构需选对应发行版)、内存(至少2GB,推荐4GB以上)、硬盘空间(至少20GB,推荐50GB以上)及启动模式(UEFI或Legacy……

    2025年8月21日
    9500
  • Linux系统如何不重启完成配置更新与服务生效?

    在Linux系统中,许多日常运维操作无需重启即可完成,这不仅提升了系统可用性,也减少了因重启导致的服务中断风险,以下从服务管理、内核参数调整、网络配置、软件管理、日志处理、用户管理、文件系统操作、硬件管理及系统优化等多个维度,详细说明不重启系统的操作方法,在Linux系统中,服务是最常需要动态调整的组件之一,通……

    2025年9月22日
    8000
  • Linux中如何去掉不需要的文件或服务?

    在Linux系统中,“去掉”操作的具体含义因对象不同而存在差异,可能涉及删除文件/目录、卸载软件包、移除文本内容、取消权限或删除用户/组等场景,以下针对常见需求分场景说明具体操作方法,涵盖命令使用、选项参数及注意事项,去掉(删除)文件或目录这是最常见的“去掉”操作,主要通过rm命令实现,删除文件:直接使用rm……

    2025年10月5日
    10000
  • Linux系统下如何解密RAR加密文件的具体操作步骤?

    在Linux环境下解密和解压RAR文件,需要借助第三方工具,因为Linux系统原生并不直接支持RAR格式的压缩与解压,RAR格式由WinRAR公司开发,其解压工具在Linux中最常用的是unrar,此外p7zip(通过7z命令)也支持部分RAR解压操作,以下将详细介绍具体操作步骤、注意事项及相关技巧,准备工作……

    2025年10月1日
    9300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信