1.5.3. 对 Samba 客户端启用证书自动注册


在 Samba 客户端上启用证书自动注册,以便从 Active Directory (AD)证书颁发机构(CA)自动注册证书请求和续订。此功能通过在没有手动监控或用户交互的情况下管理证书来防止中断。

如果 AD 提供证书颁发机构(CA),且 RHEL 主机是 AD 的成员,您可以启用证书自动注册。在 RHEL 主机上启用此功能。然后,Samba 从 AD 应用自动注册组策略,并配置 certmonger 服务来请求和管理证书。

先决条件

  • Samba 配置为 AD 的成员
  • AD 中的 Windows 服务器有安装了以下服务的 Active Directory Certificate Services 服务器角色:

    • 证书颁发机构
    • 证书注册
    • 策略 Web 服务
  • 互联网信息服务(ISS)被配置为通过 HTTPS 提供证书自动注册功能。
  • ISS 使用 AD CA 发布的证书。
  • 证书注册服务支持 Kerberos 身份验证。
  • AD 中配置了证书自动注册的组策略对象(GPO)。

流程

  1. 安装 samba-gpupdate 软件包:

    # dnf install samba-gpupdate
  2. 将以下设置附加到 /etc/samba/smb.conf 文件中:

    kerberos method = secrets and keytab
    sync machine password to keytab = "/etc/krb5.keytab:account_name:sync_spns:spn_prefixes=host:sync_kvno:machine_password", "/etc/samba/cepces.keytab:account_name:machine_password"
    apply group policies = yes

    Samba 配置中指定的设置包括以下配置:

    kerberos method = secrets and keytab
    将 Samba 配置为首先使用 /var/lib/samba/private/secrets.tdb 文件来验证 Kerberos 票据,然后验证 /etc/krb5.keytab 文件。
    sync machine password to keytab = <list_of_keytab_files_and_their_principals>
    定义 Samba 在这些文件中维护的 keytab 文件的路径和 Kerberos 主体。使用显示的值时,Samba 继续维护 /etc/krb5.keytab 系统 keytab,另外还有 /etc/samba/cepces.keytab 文件。certmongercepces-submit submitted helper 使用此文件向 CA 进行身份验证。
    apply group policies = yes
    配置 winbind 服务,以间隔运行 gpupdate 命令。更新间隔为 90 分钟,以及 0 到 30 分钟之间的一个随机偏移。
  3. 创建 /etc/samba/cepces.keytab 文件:

    # net ads keytab create
  4. 编辑 /etc/cepces/cepces.conf 文件,并进行以下更改:

    1. [global] 部分中,将 server 变量设置为运行 CA 服务的 Windows 服务器的完全限定域名(FQDN):

      [global]
      server=win-server.ad.example.com
    2. [kerberos] 部分中,将 keytab 变量设置为 /etc/samba/cepces.keytab

      [kerberos]
      keytab=/etc/samba/cepces.keytab
  5. 启用并启动 certmonger 服务:

    # systemctl enable --now certmonger

    certmonger 服务从 CA 请求证书,并在证书过期前自动更新它们。

  6. 手动运行 samba-gpupdate,以确保组策略已从 AD 加载:

    # samba-gpupdate
  7. certmonger 服务将密钥和证书存储在以下目录中:

    • 私钥:/var/lib/samba/private/certs/
    • 颁发的证书:/var/lib/samba/certs/

      您现在可以在同一主机上的服务中使用密钥和证书。

  8. 可选:显示 certmonger 管理的证书:

    # getcert list
    Number of certificates and requests being tracked: 1.
    Request ID 'AD-ROOT-CA.Machine':
    	status: MONITORING
    	stuck: no
    	key pair storage: type=FILE,location='/var/lib/samba/private/certs/AD-ROOT-CA.Machine.key'
    	certificate: type=FILE,location='/var/lib/samba/certs/AD-ROOT-CA.Machine.crt'
    	CA: AD-ROOT-CA
    	issuer: CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
    	subject: CN=rhel9.ad.example.com
    	issued: 2025-03-25 14:22:07 CET
    	expires: 2026-03-25 14:22:07 CET
    	dns: rhel9.ad.example.com
    	key usage: digitalSignature,keyEncipherment
    	eku: id-kp-clientAuth,id-kp-serverAuth
    	certificate template/profile: Machine
    	profile: Machine
    	pre-save command:
    	post-save command:
    	track: yes
    	auto-renew: yes

    默认情况下,Windows CA 只使用 Machine 证书模板颁发证书。如果您在适用于此主机的 Windows CA 中配置了额外的模板,certmonger 会请求这些模板的证书。getcert 列表 输出还包括它们的条目。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部