====== Exemples de configuration pour Puppet ====== --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2022/11/22 16:40// ===== Gestion d'un utilisateur ===== class user_nekan{ # Nom de la classe $user = 'nekan' # Nom de l'utilisateur variabilité afin de faciliter la duplication de la classe user { $user: # Création de l'utilisateur ensure => present, # present : création si absent | absent : suppression si présent shell => "/bin/bash", # Le shell qu'utilisera l'utilisateur password => '$6$/odkSIo4.[...]YW/lpsg1', # Le mot de passe de l'utilisateur en version sécurisée groups => ['sudo'], # La lise de groupes que doit intégrer l'utilisateur managehome => yes, # Création du dossier home } ssh_authorized_key { $user: # Gestion du fichier ~/.ssh/authorized_keys ensure => present, # present : création si absent | absent : suppression si présent user => $user, # Définition du l'utilisateur lié à la clé type => 'ssh-rsa', # Type de la clé à ajouter key => 'AAAAB3NzaC[...]Z6q17zF4sW1WvU=', # Clé à ajouter } file{"/home/$user": # Gestion du dossier home mode => '0700', # Droits à appliquer sur le dossier } file {"/home/$user/.bashrc": # Gestion du fichier ~/.bashrc ensure => present, # present : création si absent | absent : suppression si présent owner => $user, # Définition du propriétaire du fichier (chown) group => $user, # Définitions du groupe du fichier (chgrp) content => file('file/bashrc-$user'), # Source du fichier à copier sous la forme module/fichier. La racine est '/etc/puppetlabs/code/environments//modules//files/' } } ~~DISCUSSION~~