Différences entre versions de « Ntpd »

De The Linux Craftsman
Aller à la navigation Aller à la recherche
Ligne 47 : Ligne 47 :
 
mar. nov. 10 18:55:48 CET 2015
 
mar. nov. 10 18:55:48 CET 2015
 
</pre>
 
</pre>
 +
 +
= Les options ntp =
 +
== Les arguments ==
 +
Dans le fichier ''/etc/sysconfig/ntpd'' on peut voir avec quels arguments le démon ''ntp'' démarre:
 +
<pre>
 +
# cat /etc/sysconfig/ntpd
 +
# Drop root to id 'ntp:ntp' by default.
 +
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
 +
</pre>
 +
== 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:
 +
<pre>
 +
 +
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g -l /var/log/ntpd.log"
 +
</pre>
 +
''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:
 +
<pre>
 +
# 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
 +
</pre>
 +
Dans ce cas, ''ntpd'' ne démarre pas... Il faut alors modifier la ligne d'option en supprimant ''-u ntp:ntp'' !

Version du 8 janvier 2016 à 08:12

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 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érifié 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 ntp

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 !