Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
Commit d5a2d2d7 authored by Arthur BOUDREAULT's avatar Arthur BOUDREAULT Committed by Thomas MICHEL
Browse files

Resolve "fix: bootstrap disable distrib user"

parent e9d49b70
No related branches found
No related tags found
No related merge requests found
......@@ -231,6 +231,25 @@ lint
Le contrôle sera fait par un `ansible-playbook --syntax-check` puis un `ansible-lint [...]` sur chacun des fichiers Yaml.
### Playbook : `bootstrap_users.yml`
Avant de lancer le provisionnement du serveur, il est nécessaire de créer les utilisateurs linux indispensables. Le playbook `bootstrap_users.yml` gère la création des utilisateurs (dont l’utilisateur de déploiement) via le rôle `singleplatform-eng.users` et désactive l’utilisateur de distribution par défaut (`distrib_user`) pour renforcer la sécurité. Une fois exécuté, on peut passer au reste du provisionnement.
**Exécution :**
```bash
bootstrap <env_type>
```
**Variables requises :**
- `distrib_user` : nom de l’utilisateur à désactiver.
**Résumé :**
- Crée les utilisateurs définis.
- Désactive l’utilisateur de distribution si précisé.
### Provisionner l'infrastructure
Il faut lancer cette commande à chaque fois que l'on souhaite appliquer des changements globaux d'infrastructure :
......
File mode changed from 100644 to 100755
---
- name: Create users (including deploy user)
hosts: all
gather_facts: false
become: true
tags:
- bootstrap
vars:
ansible_ssh_user: "{{ distrib_user }}"
roles:
- singleplatform-eng.users
tasks:
- name: Disable distrib user
ansible.builtin.user:
name: "{{ distrib_user }}"
shell: /usr/sbin/nologin
password_lock: true
......@@ -60,10 +60,3 @@
regexp: 'network:'
line: "network: {config: disabled}"
state: present
- name: Add Debian deploy SSH keys
ansible.posix.authorized_key:
user: "{{ ansible_user }}"
key: "{{ item.ssh_key }}"
when: item.is_sysadmin
with_items: "{{ users }}"
......@@ -15,7 +15,9 @@ users:
name: "{{ ansible_ssh_user }}"
group: "{{ admin_group }}"
ssh_key:
- "{{ lookup('file', './files/ssh/team/dummy@example.com.pub') }}"
- "{{ lookup('file', './files/ssh/team/thomas@lydra.fr.pub') }}"
- "{{ lookup('file', './files/ssh/team/christophe@lydra.fr.pub') }}"
- "{{ lookup('file', './files/ssh/team/arthur@lydra.fr.pub') }}"
- username: "thomas@lydra.fr"
name: "Thomas MICHEL"
......
---
ansible_python_interpreter: /usr/bin/python3
ansible_port: 22
ansible_ssh_user: deploy
ansible_ssh_user: "deploy"
env_type: "{{ inventory_file.split('/')[-1] }}"
# Utilisateurs et groupes
admin_group: "admins"
admin_mail: "support@lydra.fr"
distrib_user: "debian"
# Network vars
netplan_nameserver_primary_ipv4: "9.9.9.10" # Quad 9: unfiltered, DoT and no DNSSec
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment