Exemples de configuration pour Puppet
Création — 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/<environnement>/modules/<module>/files/<fichier>'
}
}
Discussion