Gestion pratique des configurations
Stratégies de gestion des configurations
graph TD
A[Config Management] --> B[Backup]
A --> C[Version Control]
A --> D[Automation]
A --> E[Security]
Principales approches de gestion
Stratégie |
Description |
Outils |
Sauvegarde (Backup) |
Conserver les configurations originales |
cp, rsync |
Contrôle de version (Version Control) |
Suivre les modifications des configurations |
Git |
Modélisation (Templating) |
Standardiser les configurations |
Ansible, Puppet |
Automatisation |
Gérer les configurations de manière programmée |
Scripts Shell |
Sauvegarder les fichiers de configuration
Techniques de modification sécurisée
## Create backup before modification
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
## Use timestamp for versioning
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.$(date +"%Y%m%d")
Contrôle de version avec Git
Gérer les dépôts de configuration
## Initialize git repository for configs
mkdir ~/system-configs
cd ~/system-configs
git init
## Track important configuration files
git add /etc/ssh/sshd_config
git add ~/.bashrc
git commit -m "Initial system configuration"
Modélisation de configuration
Utilisation d'Ansible pour la gestion des configurations
- hosts: webservers
tasks:
- name: Configure nginx
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
Scripts d'automatisation
Script Shell pour la gestion des configurations
#!/bin/bash
## Simple configuration backup script
BACKUP_DIR="/var/backups/configs"
CONFIG_FILES=(
"/etc/ssh/sshd_config"
"/etc/nginx/nginx.conf"
"/etc/resolv.conf"
)
## Create backup directory
mkdir -p $BACKUP_DIR
## Backup configurations
for file in "${CONFIG_FILES[@]}"; do
cp $file $BACKUP_DIR/$(basename $file).$(date +"%Y%m%d")
done
Bonnes pratiques de sécurité
graph LR
A[Config Security] --> B[Permissions]
A --> C[Encryption]
A --> D[Access Control]
A --> E[Auditing]
Sécuriser les fichiers de configuration
## Set restrictive permissions
chmod 600 /etc/ssh/sshd_config
## Verify file permissions
ls -l /etc/ssh/sshd_config
Recommandation LabEx
Dans les environnements LabEx, pratiquez les techniques de gestion des configurations dans des environnements isolés et sécurisés pour développer des compétences pratiques.
Outils avancés de configuration
Outil |
But |
Fonctionnalités |
Ansible |
Gestion des configurations |
Sans agent, multi-plateforme |
Puppet |
Automatisation de l'infrastructure |
Langage déclaratif |
Chef |
Configuration système |
Basé sur Ruby |
Surveillance des modifications de configuration
## Use auditd to track configuration modifications
auditctl -w /etc/ssh/sshd_config -p wa
## View recent configuration changes
last -f /var/log/wtmp