Fichiers système
| Fiche express | |
|---|---|
| Domaine | Fichiers de configuration système (init, réseau, comptes) |
| Emplacements clés | /etc/init/, /etc/sysconfig/, /etc/login.defs
|
| Contexte | RHEL/CentOS 6 (Upstart) — la logique /etc/init est remplacée par systemd sur RHEL7+
|
| Voir aussi | Chkconfig, Systemctl |
Panorama des fichiers de configuration système les plus utiles à connaître sur un serveur
RHEL/CentOS : séquence de démarrage (Upstart, /etc/init), configuration réseau,
consoles/terminaux, et gestion des comptes utilisateurs (login.defs, skel,
su/sudo).
Séquence de démarrage (/etc/init)
Sous RHEL/CentOS 6, une partie du démarrage est gérée par Upstart via des fichiers
*.conf dans /etc/init/ (en plus des scripts SysV classiques de
/etc/init.d/, voir Chkconfig).
# Combinaison Ctrl+Alt+Suppr
cat /etc/init/control-alt-delete.conf
# exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
# Connexion des process init.d au process PID 1 (dbus)
cat /etc/init/init-system-dbus.conf
# exec /bin/kill -USR1 1
# Lancement du runlevel courant
cat /etc/init/rc.conf
# exec /etc/rc.d/rc $RUNLEVEL
Fichiers liés à Plymouth (écran de démarrage graphique, RHGB) dans /etc/init/ :
plymouth-shutdown.conf— affiche l'écran Plymouth lors du passage du runlevel 5 vers un autre runlevelsplash-manager.conf— message adapté dans l'écran Plymouth lors du passage aux runlevels 0 (halt) ou 6 (reboot)quit-plymouth.conf— arrête le service Plymouth en fin de démarrage
Fichiers liés à readahead (préchargement en RAM du contenu disque nécessaire au boot,
configuré dans /etc/sysconfig/readahead) :
readahead-collector.conf— utilise les réglages de/etc/sysconfig/readaheadreadahead-disable-services.conf— désactive les services incompatibles avec readahead (par défaut, seul le démon d'audit associé à SELinux)readahead.conf— démarre effectivement le processus readahead, si la RAM disponible est suffisante
Fichiers liés à la connexion graphique et aux terminaux :
prefdm.conf— démarre et maintient l'écran de connexion graphique (GUI) en runlevel 5start-ttys.conf— démarre tous les terminaux virtuels ; la variable d'environnementACTIVE_CONSOLESy détermine notamment quel terminal démarre l'interface graphique. Voir aussi la directiveACTIVE_CONSOLESdans/etc/sysconfig/inittty.conf— lance ungetty(terminal en ligne de commande classique) ; désactivé sur les runlevels 0, 1 et 6 (halt, mono-utilisateur, reboot)serial.conf— utilisé pour une connexion distante sur port série
Fichiers liés au démarrage du système (rc.sysinit) :
rcS.conf— exécute/etc/rc.d/rc.sysinituniquement pendant le démarragercS-sulogin.conf— démarre un terminal en mode mono-utilisateur avant de basculer vers le runlevel standardrc.conf— exécute les scripts du runlevel courant (défini dans/etc/inittabou viainit/telinit), scripts situés dans/etc/rcN.d/(N = runlevel)
Pour ajuster le nombre de terminaux virtuels actifs :
# /etc/init/start-ttys.conf
env ACTIVE_CONSOLES=/dev/tty[1-6]
# ou, équivalent, /etc/sysconfig/init
ACTIVE_CONSOLES=/dev/tty[1-6]
L'équivalent en mode graphique de chkconfig (voir Chkconfig) est l'outil
ntsysv.
Configuration réseau (/etc/sysconfig/network)
NETWORKING=yes # active (yes) ou non (no) la configuration réseau
NETWORKING_IPV6=yes # active (yes) ou non (no) la configuration réseau en IPv6
NISDOMAIN=example # nom du domaine NIS, si le système est connecté à un réseau NIS
HOSTNAME=host.example.com # nom d'hôte de la machine (peut être fourni par un serveur DHCP)
GATEWAY=192.168.1.1 # adresse IP de la passerelle (peut être fournie par un serveur DHCP)
GATEWAYDEV=eth0 # interface utilisée pour joindre la passerelle (inutile s'il n'y a qu'une seule carte réseau)
Gestion des comptes utilisateurs
Valeurs par défaut (/etc/login.defs)
UID_MIN 500
UID_MAX 60000
GID_MIN 500
GID_MAX 60000
CREATE_HOME yes
UMASK 077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512
Modèle de home directory
/etc/skel : squelette copié dans le répertoire personnel de chaque nouvel
utilisateur créé (fichiers de démarrage de shell, etc.).
Restreindre les connexions root
/etc/securetty liste les terminaux (ttys) sur lesquels root est autorisé à se
connecter directement.
Autoriser un utilisateur à utiliser su
# Ajouter l'utilisateur au groupe wheel
vi /etc/group
# wheel:x:10:root,utilisateur
# Puis activer la restriction dans /etc/pam.d/su
# décommenter la ligne :
auth required pam_wheel.so use_uid
Commandes de groupe via gshadow
gshadow permet d'exécuter une commande avec les droits d'un groupe, à condition
que le mot de passe de groupe soit défini au préalable :
gpasswd groupname
sg project -c 'cp important.doc /home/project'
sudoers
# Avec mot de passe
root ALL=(ALL) ALL
# Sans mot de passe, pour le groupe wheel
%wheel ALL=(ALL) NOPASSWD: ALL
# Autoriser un arrêt de la machine sans mot de passe, pour le groupe users
%users localhost=/sbin/shutdown -h now