如何在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内核?

    移植Linux内核是一个涉及硬件适配、软件配置和系统调试的复杂过程,主要针对嵌入式设备或特定硬件平台,以下从环境准备、内核配置、编译优化、烧录调试等环节详细说明操作步骤和注意事项,移植前的环境准备移植内核前需搭建完整的开发环境,确保工具链和硬件支持到位,交叉编译工具链:根据目标板架构(如ARM、ARM64、RI……

    2025年8月30日
    22100
  • Linux中如何正确结束正在执行的命令?

    在Linux系统中,结束一段命令是日常操作中常见的需求,无论是中断卡死的前台进程、终止后台任务,还是强制结束无响应的程序,都需要掌握不同的方法,Linux提供了多种命令和快捷键组合,适用于不同场景,理解它们的原理和适用场景能更高效地管理系统进程,基础快捷键:前台进程的即时中断当用户在终端输入命令并按下回车后,该……

    2025年9月16日
    25200
  • 在Linux操作系统中,如何判断一个文件是否为软连接?请说明方法

    在Linux系统中,软连接(符号链接)是一种特殊的文件类型,它指向另一个文件或目录,类似于Windows系统中的快捷方式,判断一个文件是否为软连接,是Linux日常运维和开发中的常见需求,掌握多种判断方法能更高效地处理文件系统操作,本文将详细介绍Linux中判断软连接的多种方法,包括命令行工具、文件系统属性及编……

    2025年9月19日
    20700
  • Linux hosts文件如何配置?

    hosts文件的位置无论何种Linux发行版,hosts文件均位于 /etc/hosts,这是Linux系统的标准路径,适用于:Ubuntu/DebianCentOS/RHEL/FedoraArch LinuxopenSUSE等可通过命令验证:ls -l /etc/hosts输出示例:-rw-r–r– 1……

    2025年6月20日
    30900
  • Linux系统下如何查看网卡的相关信息与具体操作方法?

    在Linux系统中,查看网卡信息是网络管理、故障排查和系统维护的基础操作,无论是临时查看网络接口状态,还是获取网卡的硬件参数、流量统计,Linux都提供了丰富的命令工具,本文将详细介绍多种查看网卡信息的方法,涵盖基础状态查询、硬件信息获取、流量监控等场景,并辅以实例说明,帮助用户全面掌握Linux网卡查看技巧……

    2025年9月29日
    19300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信