36.10. Using Ansible to override the login name and home directory of an IdM user on a specific host


Complete this procedure to use the idoverrideuser ansible-freeipa module to create an ID view for a specific Identity Management (IdM) client that overrides a POSIX attribute value associated with a specific IdM user. The procedure uses the example of an ID view that enables an IdM user named idm_user to log in to an IdM client named client1.idm.example.com by using the user_1234 login name. Additionally, the ID view modifies the home directory of idm_user so that after logging in to client1, the user home directory is /home/user_1234/.

Prerequisites

  • On the control node:

    • You are using Ansible version 2.15 or later.
    • You have installed the ansible-freeipa package.
    • The example assumes that in the ~/MyPlaybooks/ directory, you have created an Ansible inventory file with the fully-qualified domain name (FQDN) of the IdM server.
    • The example assumes that the secret.yml Ansible vault stores your ipaadmin_password and that you have access to a file that stores the password protecting the secret.yml file.
  • The target node, that is the node on which the freeipa.ansible_freeipa module is executed, is part of the IdM domain as an IdM client, server or replica.

Procedure

  1. Create your Ansible playbook file add-idoverrideuser-with-name-and-homedir.yml with the following content:

    ---
    - name: Playbook to manage idoverrideuser
      hosts: ipaserver
      become: false
      gather_facts: false
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
    
      tasks:
      - name: Ensure idview_for_client1 is present
        idview:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: idview_for_client1
      - name: Ensure idview_for_client1 is applied to client1.idm.example.com
        idview:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: idview_for_client1
          host: client1.idm.example.com
          action: member
      - name: Ensure idm_user is present in idview_for_client1 with homedir /home/user_1234 and name user_1234
        ipaidoverrideuser:
          ipaadmin_password: "{{ ipaadmin_password }}"
          idview: idview_for_client1
          anchor: idm_user
          name: user_1234
          homedir: /home/user_1234
  2. Run the playbook. Specify the playbook file, the file storing the password protecting the secret.yml file, and the inventory file::

    $ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/inventory <path_to_playbooks_directory>/add-idoverrideuser-with-name-and-homedir.yml
  3. Optional: If you have root credentials, you can apply the new configuration to the IdM client system immediately:

    1. SSH to the client system as root:

      $ ssh root@client1
      Password:
    2. On the IdM client, clear the SSSD cache:

      # sss_cache -E
    3. On the IdM client, restart the SSSD daemon:

      # systemctl restart sssd

Verification

  1. SSH to IdM client as idm_user:

    # ssh idm_user@client1.idm.example.com
    Password:
    
    Last login: Sun Jun 21 22:34:25 2020 from 192.168.122.229
    [user_1234@client1 ~]$
  2. Print the working directory:

    $ pwd
    /home/user_1234/
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동