You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Ansible集成AD域至RHEL9.4时无法创建用户家目录

RedHat 9.4 集成AD域后无法自动创建用户家目录问题

已成功将RedHat 9.4服务器集成到lab.local域,域用户可正常登录,但无法自动在/home/%u路径创建用户家目录,报错信息如下:

Could not chdir to home directory /home/trio01: No such file or directory

集成所用Ansible剧本

- hosts: all
  become: yes
  vars:
    pkgs:
      - sssd
      - sssd-tools
      - sssd-ldap
      - sssd-ad
      - adcli
      - realmd
      - krb5-workstation
      - openldap-clients
      - cyrus-sasl-gssapi
      - oddjob
      - oddjob-mkhomedir

    AD_Domain: LAB.LOCAL
    AD_Domain_alt: lab.local
    Join_OU: OU=Linux,DC=LAB,DC=LOCAL
    SRV_ADM_GRP_OU: OU=Linux,DC=lab,DC=local

  vars_prompt:
    - name: username
      prompt: "请输入AD管理员用户名?"
      private: no
    - name: password
      prompt: "请输入AD管理员密码?"
      private: yes
    - name: adhostname
      prompt: "请输入机器短名称,不要FQDN格式"
      private: no


  tasks:
  - name: 检查服务器发行版本(仅支持RedHat)
    fail:
      msg: 系统不是RedHat,终止执行
    when: ansible_facts['distribution'] != 'RedHat'

      # - name: 安装加入AD域所需的软件包
      # yum: name={{ pkgs }} state=present update_cache=yes

  - name: 配置机器名称
    shell: hostnamectl set-hostname {{ adhostname }}.{{ AD_Domain_alt }}

  - name: 加入AD域(创建AD计算机账户并更新/etc/krb5.keytab文件)
    shell: echo '{{ password }}' | adcli join --stdin-password {{ AD_Domain }} -v -U {{ username }} --domain-ou={{ Join_OU }}

  - name: 配置sssd.conf文件
    template:
      src: sssd.j2
      dest: /etc/sssd/sssd.conf
      owner: root
      group: root
      mode: 0600

  - name: 配置PAM自动创建家目录规则
    lineinfile:
     path: /etc/pam.d/common-session
     line: 'session required pam_mkhomedir.so skel=/etc/skel umask=0077'
     create: yes

  - name: 确保oddjobd服务启用并启动
    service:
     name: oddjobd
     enabled: yes
     state: started
  - name: 配置nsswitch.conf文件
    lineinfile:
      path: /etc/nsswitch.conf
      regexp: "{{ item.regexp }}"
      line: "{{ item.line }}"
    loop:
      - regexp: '^passwd:'
        line: 'passwd:   compat sss'
      - regexp: '^group:'
        line: 'group:   compat sss'
      - regexp: '^services:'
        line: 'services:   files sss'
      - regexp: '^sudoers:'
        line: 'sudoers:   files sss'

  - name: 允许AD中的Linux管理员组登录Linux服务器
    shell: realm permit -g adminlinux@lab.Local

  - name: 将Linux管理员组添加到sudoers
    lineinfile:
       dest: /etc/sudoers
       line: "%adminlinux@lab.local"   ALL=(ALL) ALL
       insertafter: '^%wheel'

  - name: 配置krb5.conf文件
    template:
      src: krb5.j2
      dest: /etc/krb5.conf
      owner: root
      group: root
      mode: 0644

  - name: 配置ldap.conf客户端文件
    template:
      src: ldap.j2
      dest: /etc/openldap/ldap.conf
      owner: root
      group: root
      mode: 0644

  - name: 重启realmd服务
    systemd:
     name: realmd
     enabled: yes
     state: restarted

  - name: 重启sssd服务
    systemd:
     name: sssd
     enabled: yes
     state: restarted
    become: yes
    become_user: root

sssd.j2配置文件

[sssd]
domains = {{ AD_Domain }}
config_file_version = 2
services = nss, pam, sudo, ssh
default_domain_suffix = {{ AD_Domain }}

[nss]
filter_users = root
filter_groups = root

[pam]
pam_mkhomedir = True

[sudo]

[domain/{{ AD_Domain }}]
id_provider = ad
auth_provider = ad
access_provider = ad
chpass_provider = ad
ad_domain = {{ AD_Domain }}
realmd_tags = manages-system joined-with-adcli
cache_credentials = false
default_shell = /bin/bash
create_homedir = true
override_homedir = /home/%u
ldap_referrals = false
ldap_schema = ad
krb5_realm = {{ AD_Domain }}
dyndns_update = true
dyndns_refresh_interval = 43200
dyndns_update_ptr = true
dyndns_ttl = 3600
dyndns_auth = GSS-TSIG
enumerate = false
use_fully_qualified_names = true
skel_dir = /etc/skel
ldap_id_mapping = true
auto_private_groups = true
sudo_provider = ad
simple_allow_groups = %adminlinux@lab.local
ad_gpo_access_control = permissive

[global]
krb5_auth = yes

内容的提问来源于stack exchange,提问作者oussama_tr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 11:57:17