Wednesday, March 16, 2022

[SOLVED] Why profile does not get loaded properly?

Issue

I have run a playbook with the following content on host:

---
- name: Test
  hosts: debian
  vars_files:
    - "./secret.vault.yaml"
  tasks: # Roles, modules, and any variables
    - name: Install aptitude using apt
      apt: name=aptitude state=latest update_cache=yes force_apt_get=yes

    - name: Install required system packages
      apt: name={{ item }} state=latest update_cache=yes
      loop:
        [
          "apt-transport-https",
          "ca-certificates",
          "curl",
          "software-properties-common",
          "python3-pip",
          "virtualenv",
          "python3-setuptools",
        ]

    - name: Install snap
      apt:
        update_cache: yes
        name: snapd

    - name: Install git
      apt:
        update_cache: yes
        name: git

    - name: Install certbot
      apt:
        update_cache: yes
        name: certbot

    - name: Install htop
      apt:
        update_cache: yes
        name: htop

    - name: Ensure group "sudo" exists
      group:
        name: sudo
        state: present

    - name: Add Docker GPG apt Key
      apt_key:
        url: https://download.docker.com/linux/debian/gpg
        state: present

    - name: Add Docker Repository
      apt_repository:
        repo: deb [arch=amd64] https://download.docker.com/linux/debian buster stable
        state: present

    - name: Index new repo into the cache
      apt:
        name: "*"
        state: latest
        update_cache: yes
        force_apt_get: yes

    - name: Update apt and install docker-ce
      apt:
        update_cache: yes
        name: docker-ce
        state: latest

    - name: Ensure group "docker" exists
      group:
        name: docker
        state: present

    - name: Add admin user
      user:
        name: admin
        comment: administrator
        groups: sudo, docker
        password: "{{ adminpw | password_hash('sha512') }}"

    - name: Ensure docker-compose is installed and available
      get_url:
        url: https://github.com/docker/compose/releases/download/1.25.4/docker-compose-{{ ansible_system }}-{{ ansible_userspace_architecture }}
        dest: /usr/local/bin/docker-compose
        mode: "u=rwx,g=rx,o=rx"

    - name: Copy SSH file
      copy:
        src: ~/.ssh
        dest: /home/admin/
        force: yes
        owner: admin
        group: admin
        remote_src: yes  

When I try to login ssh [email protected], the .profile does not get loaded correctly:

enter image description here

after typing the bash command, it shows:

enter image description here

properly.

I triggered the playbook as follows:

ansible-playbook playbook.yaml -i ./hosts -u root --ask-vault-pass

What am doing wrong?


Solution

It appears based on your "after typing bash" statement that you are expecting the user's shell to be /bin/bash but is not; if that's your question, then you need to update the user: task to specify the shell you want:

- name: Add admin user
  user:
    name: admin
    shell: /bin/bash


Answered By - mdaniel
Answer Checked By - Mary Flores (WPSolving Volunteer)