Ntpd
Principe
Le fichier "/etc/ntp.conf" est le fichier de configuration qui sera utilisé par le client NTP pour mettre à jour l'heure du système. Dans ce fichier, il faut plusieurs chose:
- driftfile → permet de définir le fichier dans lequel sera stocké le glissement (dirft) du quartz interne de la machine par rapport au temps de l'horloge atomique (sur Internet);
- restrict → permet de restreindre les interrogations du client NTP;
- server → permet de définir le ou les serveurs NTP à utiliser.
Installation
yum -y install ntp
Exemple
Voici un exemple de fichier "/etc/ntp.conf" :
driftfile /var/lib/ntp/drift restrict 127.0.0.1 server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org server 3.pool.ntp.org
Démarrage et automatisation
Une fois le client installé et configuré, il faut le démarrer et l'enregistrer dans le chargeur de démarrage:
# service ntpd start # chkconfig ntpd on
Vérification de fonctionnement
On va tout simplement vérifier la connectivité avec les serveur NTP:
# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *91.121.210.60 195.83.222.27 2 u 60 64 177 20.797 2.114 1.287 -37.187.56.220 145.238.203.14 2 u 69 64 177 22.739 4.218 0.788 +212.47.252.138 193.67.79.202 2 u 136 64 374 18.154 1.459 1.248 +37.187.2.84 193.67.79.202 2 u 150 64 374 20.312 1.856 17.909
On peut également contrôler le bon fonctionnement en affichant la date:
# date mar. nov. 10 18:55:48 CET 2015
Les options
Les arguments
Dans le fichier /etc/sysconfig/ntpd on peut voir avec quels arguments le démon ntp démarre:
# cat /etc/sysconfig/ntpd # Drop root to id 'ntp:ntp' by default. OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
Ajout d'un fichier de log
Il est possible d'ajouter un fichier de log pour voir ce que fait ntpd. Pour cela modifiez simplement la ligne précédente:
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g -l /var/log/ntpd.log"
Ntpd loggera maintenant dans le fichier /var/log/ntpd.log.
Problème de privilèges
Lorsque l'on utilise un serveur en ligne chez un hébergeur, la virtualisation avec OpenVZ peut empêcher le changement d'utilisateur:
# cat /var/log/ntpd.log 8 Jan 08:07:27 ntpd[29175]: proto: precision = 0.151 usec ... 8 Jan 08:07:28 ntpd[29175]: cap_set_proc() failed to drop root privileges: Operation not permitted
Dans ce cas, ntpd ne démarre pas... Il faut alors modifier la ligne d'option en supprimant :
-u ntp:ntp
Changement de timezone
Pour changer de fuseau horaire, il suffit de modifier le lien symbolique du fichier /etc/localtime. Ce fichier à pour origine l'un des fichier de zone présent dans le répertoire /usr/share/zoneinfo:
# ll /etc/localtime lrwxrwxrwx 1 root root 32 Jan 8 08:22 /etc/localtime -> /usr/share/zoneinfo/Europe/Paris # date Fri Jan 8 08:24:35 CET 2016
Si on le modifie, on s'aperçoit que la date change instantanément :
# ln -fs /usr/share/zoneinfo/US/Pacific /etc/localtime # ll /etc/localtime lrwxrwxrwx 1 root root 30 Jan 7 23:25 /etc/localtime -> /usr/share/zoneinfo/US/Pacific # date Thu Jan 7 23:25:26 PST 2016