Hello from MCP server

List Files | Just Commands | Repo | Logs

← back |
---
- name: Configure Server Users and Directories
  hosts: all
  become: yes
  vars:
    # It is safer to use password hashes or SSH keys only
    deploy_user: deploy
    dev_user: dev

  tasks:
    - name: Install required packages
      apt:
        name:
          - rsync
          - acl
        state: present
        update_cache: yes

    - name: Ensure 'webmasters' group exists
      group:
        name: webmasters
        state: present

    - name: Create the Deploy user (System User)
      user:
        name: "{{ deploy_user }}"
        shell: /bin/bash
        groups: webmasters
        system: yes
        create_home: yes

    - name: Create the Dev user (Standard User)
      user:
        name: "{{ dev_user }}"
        shell: /bin/bash
        groups: webmasters, sudo
        append: yes

    - name: Create app hosting directories
      file:
        path: "{{ item }}"
        state: directory
        owner: "{{ deploy_user }}"
        group: webmasters
        mode: '0775' # Owner/Group can write, others can only read/exec
      loop:
        - /var/www
        - /srv/apps
        - /opt/custom_apps

    - name: Setup SSH directory for deploy user
      file:
        path: "/home/{{ deploy_user }}/.ssh"
        state: directory
        owner: "{{ deploy_user }}"
        group: "{{ deploy_user }}"
        mode: '0700'