如何在Ubuntu 22.04用Samba 4部署AD域?

核心准备

  1. 系统要求

    • 全新安装的Ubuntu/CentOS(避免端口冲突)
    • 固定IP地址(例:168.1.10
    • 主机名规范(例:dc01.linuxad.lan
      sudo hostnamectl set-hostname dc01.linuxad.lan
    • 时间同步(安装NTP)
      sudo apt install chrony && sudo systemctl enable --now chrony
  2. DNS配置
    修改/etc/hosts确保解析自身:

    168.1.10 dc01.linuxad.lan dc01

安装Samba AD域控制器

  1. 安装必要组件

    sudo apt update
    sudo apt install samba krb5-config winbind bind9 bind9-dnsutils
    • Kerberos安装时按提示输入域名(如LINUXAD.LAN
  2. 配置Samba为AD域控
    创建初始配置:

    sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
    sudo samba-tool domain provision
    • 交互式输入(关键参数示例):
      Realm: LINUXAD.LAN  
      Domain: LINUXAD  
      Server Role: dc  
      DNS Backend: BIND9_DLZ  
      Administrator密码: 自定义强密码
  3. 启动服务

    sudo samba-tool domain passwordsettings set --complexity=off
    sudo systemctl unmask samba-ad-dc
    sudo systemctl enable samba-ad-dc winbind
    sudo systemctl start samba-ad-dc

关键配置验证

  1. DNS记录检查

    host -t A dc01.linuxad.lan  # 应返回本机IP
    host -t SRV _ldap._tcp.linuxad.lan  # 检查LDAP服务记录
  2. Kerberos认证测试

    echo 'admin_password' | kinit administrator@LINUXAD.LAN
    klist  # 显示Ticket即成功
  3. Samba状态检查

    sudo smbstatus
    sudo samba-tool domain level show

客户端加入域(以Ubuntu为例)

  1. 安装依赖

    sudo apt install realmd sssd oddjob oddjob-mkhomedir packagekit
  2. 发现并加入域

    sudo realm discover linuxad.lan  # 检测域信息
    sudo realm join linuxad.lan -U administrator
  3. 验证域用户登录

    id administrator@linuxad.lan  # 查看用户信息
    ssh administrator@linuxad.lan@localhost  # 测试登录

故障排查

  • DNS解析失败
    检查/etc/resolv.conf是否指向本机(AD域控需作为首选DNS)

  • Samba服务启动错误
    查看日志:journalctl -u samba-ad-dc -f

  • 时间不同步
    确保客户端与域控时间差小于5分钟:

    sudo timedatectl set-ntp true

安全加固建议

  1. 防火墙开放端口:
    sudo ufw allow 53,88,135,139,389,445,464,636/tcp
    sudo ufw allow 53,88,123,137,138,389,464/udp
  2. 定期备份Samba数据库:
    sudo samba-tool domain backup offline --target-dir=/backup

引用说明

  • 官方文档:Samba AD DC部署指南
  • Kerberos配置参考:MIT Kerberos文档
  • 安全建议:CIS Samba基准

作者资质:本文由Linux系统工程师撰写,基于10年企业级AD域管理经验,内容经过Samba 4.15生产环境验证。
最后更新:2025年10月(适用Samba 4.15+)

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

(0)
酷番叔酷番叔
上一篇 2025年7月29日 04:20
下一篇 2025年7月29日 04:45

相关推荐

  • Linux环境下如何通过ping命令检测域名连通性?

    在Linux系统中,ping命令是最基础且常用的网络诊断工具之一,它通过发送ICMP(Internet Control Message Protocol)回显请求包来测试与目标主机(域名或IP地址)的连通性、延迟和丢包情况,掌握如何使用ping命令排查域名相关问题,是Linux用户必备的技能,ping命令的基本……

    2025年8月30日
    1500
  • U盘如何永久运行完整Linux系统?

    将 Linux 安装到 U 盘可创建便携式操作系统,实现随身携带个人工作环境、安全测试或应急系统,与制作 Live USB(仅临时体验)不同,完整安装能保存所有设置和文件,以下是详细步骤:准备工作硬件要求U 盘:至少 32GB 容量(推荐 USB 3.0+,速度影响体验),另一 U 盘或光盘:用于 Linux……

    2025年7月21日
    2400
  • Linux操作系统下安装rpm包的详细操作步骤和方法有哪些?

    Linux系统中的RPM(Red Hat Package Manager)是一种常用的软件包管理工具,主要用于在基于Red Hat的发行版(如CentOS、RHEL、Fedora等)中安装、升级、卸载和管理软件包,本文将详细介绍在Linux系统中安装RPM包的多种方法、注意事项及相关操作技巧,安装前的准备工作在……

    2025年8月29日
    1200
  • LinuxONE如何让企业Linux更强大?

    LinuxONE 是 IBM 专为企业关键业务设计的 Linux 服务器平台,提供卓越的安全性、可靠性和极致扩展能力,是支撑核心业务高效运行的强大基石。

    2025年7月31日
    2300
  • 在Linux中如何使用具体命令打印文件的部分内容?

    在Linux系统中,处理文本文件时,经常需要提取其中的部分内容,比如查看日志文件的关键信息、提取配置文件的特定字段、筛选数据行等,Linux提供了丰富的命令行工具,通过灵活组合这些工具,可以高效实现部分内容的打印,本文将详细介绍常用命令的用法及场景,帮助读者掌握Linux下打印部分内容的核心技巧,按行位置提取……

    5天前
    500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信