leon47 Posté(e) le 26 mai 2008 Partager Posté(e) le 26 mai 2008 Bonjour les gens ! un ti script pour installer une debian toute fraiche (carte de visite powered) Toutes questions ou remarques sont les bienviendus ! #!/bin/sh # History # 1.0 - 05/08/2007 - 1ere version sur laquelle je penses à marquer les modifs. # 1.1 - 08/08/2007 - Correction d'un bug concernant la prise en compte des scripts dans le dossier /etc/cron.hourly, pas de .sh # 1.11 - 08/08/2007 - Ajout d'un fichier témoin afin de connaitre la version utilisée pour l'install # 1.2 - 09/08/2007 - Ajout de lsof et de less # 2.0 - 22/08/2007 - Ajout de la gestion des clés publiques pour les connexions SSH # 2.1 - 23/08/2007 - Ajout d'un cron afin de garder à jour la liste des clés autorisées / correction d'un bug sous ntp # 2.2 - 28/08/2007 - Ajout d'une modification sur la gestion du réseau # 2.3 - 24/09/2007 - Correction d'un problème avec le script de mise à jour # 3.0 - 25/09/2007 - Passage en version stable au vu de la nouvelle gestion des paquets # 3.1 - 17/10/2007 - Ajout de la prise en compte du syslog déporté sur le serveur de surveillance # 3.5 - 17/10/2007 - Remise en forme du script # 3.6 - 17/10/2007 - Ajout de commentaire pour m'y retrouver (il était temps) et ajout de p7zip # 3.7 - 17/10/2007 - Passage en format Linux (boulay de ne pas l'avoir fait avant) # 4.0 - 17/10/2007 - Ajout de la possibilité de lancer ce script sur une debian deja installer afin de la mettre à jour et de lui apporter les nouvelles choses # 4.1 - 19/10/2007 - Ajout de snmpd # 4.11 - 25/10/2007 - Modifications mineures sur l'ordre d'execution des instructions # 4.2 - 30/10/2007 - Modification afin de ne plus mettre à jour le système si on envoit le script sur une machine déjà installée # 4.3 - 05/11/2007 - Ajout du paquet openssh-server (merci totor !) # 4.5 - 09/12/2007 - Ajout d'un cron de mise a jour de la liste des paquets # 4.55 - 09/12/2007 - Correction d'un bug avec la config de snmpd # 4.6 - 11/11/2007 - Modification de la prise en compte du CtrlAltSuppr, ne reboot plus le serveur # 4.7 - 19/11/2007 - Correction d'un souci sur les mises a jour qu ise faisaient meme si ce n'etait pas une premiere install et suppression des doublons # 4.8 - 23/11/2007 - Ajout de la mise à jour auto du script InstallDeb.sh # 4.9 - 29/11/2007 - Ajout du bash completion de la mort qui tue ('. /etc/bash_completion') # 5.0 - 03/12/2007 - Ajout d'un script d'automatisation du clonage des serveurs # 5.1 - 03/12/2007 - Changement du motd, correction de piti problemes # 5.2 - 10/12/2007 - Correction d'un problème de echo # 5.3 - 16/12/2007 - Correction de petits bugs divers et ajout de ftp dans les paquets à installer # 5.4 - 18/12/2007 - Ajout de l'executable locate # 5.5 - 29/12/2007 - Suppression de la creation du installdeb de fin, il ne sert plus à rien, on peut executer le vrai installdeb sur toute install # 5.6 - 03/01/2008 - Correction d'un probleme sur l'ajout du fichier de version # 5.7 - 18/03/2008 - Ajout de la config bourrinos de fail2ban # 6.0 - 31/03/2008 - Ajout de postfix, et qui marche en plus # 7.0 - 25/04/2008 - Ajout du script IpTables et du script de MAJ qui ouvre ce qu'il faut # 7.1 - 25/04/2008 - Centralisation de tous les scripts du ftp dans Developpement/Jojo/Scripts # 7.1.1 - 02/05/2008 - Correction d'un bug mineur du au changement de version de l'installer # 7.2 - 26/05/2008 - Utilisation des 'here documents', merci Theocrite # 7.3 - 27/05/2008 - Ajout du demon ntpd # en prévision ==> 8.0 - - Ajout de la gestion de l'IDS # On definit une variable pour s'y retrouver dans les maj VersPowered=7.3 # On cree la fonction qui va bien pour tester l'existence d'une chaine dans un fichier # Si cette chaine n'existe pas, on la cree, sinon on passe DaFonctionQuiDechireClassique () { grep '$1' $2 > /dev/nul 2>&1 if [ $? -eq 1 ] then echo $1 >> $2 fi } DaFonctionQuiDechireRebootService () { grep '$1' $2 > /dev/nul 2>&1 if [ $? -eq 1 ] then echo $1 >> $2 /etc/init.d/$3 restart fi } # On configure apt cat > /etc/apt/sources.list << EOF deb [url="http://ftp.fr.debian.org/debian/"]http://ftp.fr.debian.org/debian/[/url] testing main contrib non-free deb [url="http://ftp.fr.debian.org/debian/"]http://ftp.fr.debian.org/debian/[/url] stable main contrib non-free deb [url="http://ftp.fr.debian.org/debian/"]http://ftp.fr.debian.org/debian/[/url] unstable main contrib non-free deb [url="http://security.debian.org/"]http://security.debian.org/[/url] stable/updates main EOF cat > /etc/apt/preferences << EOF Package: * Pin: release a=stable Pin-Priority: 900 Package: * Pin: release a=testing Pin-Priority: 300 Package: * Pin: release a=unstable Pin-Priority: 100 APT::Cache-Limit 90000000; EOF # On cree une mise a jour auto de la liste des paquets cat > /etc/cron.weekly/aptidate << EOF #!/bin/sh #iptables -t BISOUNOURS -A OUTPUT -p tcp --dport 80 -j ACCEPT aptitude update #iptables -t BISOUNOURS -A OUTPUT -p tcp --dport 80 -j DROP EOF chmod +x /etc/cron.weekly/aptidate /etc/init.d/cron restart # On cree un script de maj qui permet d'ouvrir le port http pendant la maj # Maj qui sera faite par le script MajPowa.sh, sinon ça marchera pas cat > /root/MajPowa.sh << EOF #!/bin/sh # script de mise à jour du systeme qui pense à authoriser les acces http #iptables -t BISOUNOURS -A OUTPUT -p tcp --dport 80 -j ACCEPT aptitude update && aptitude update && aptitude safe-upgrade && aptitude dist-upgrade && aptitude safe-upgrade && aptitude dist-upgrade #iptables -t BISOUNOURS -A OUTPUT -p tcp --dport 80 -j DROP EOF chmod +x /root/MajPowa.sh /etc/cron.weekly/IpTablesScript #update-rc.d IpTablesScript defaults # On desactive les services inutiles update-inetd --disable time update-inetd --disable daytime update-inetd --disable echo update-inetd --disable chargen update-inetd --disable ident update-inetd --disable discard # On reparametre la gestion du CtrlAltSuppr sed -i 's/ca:12345:ctrlaltdel:\/sbin\/shutdown -t1 -a -r now/ca:12345:ctrlaltdel:\/bin\/echo que veut tu faire piti coquin/g' /etc/inittab # On cree un systeme pour gerer l'authentification par clef publique cd /root/ mkdir .ssh chmod +x AjoutClefPublique.sh /root/AjoutClefPublique.sh cat > /etc/cron.daily/PublicKey << EOF #!/bin/sh /root/AjoutClefPublique.sh EOF chmod +x /etc/cron.daily/PublicKey # On cree un script pour faire les mises a jour du systeme, supprimer certains paquets et installer d'autres essentiels if [ -f /etc/JojoVersion ] then echo $VersPowered > /etc/JojoVersion cat > /root/InstallDebTemp.sh << EOF aptitude update aptitude purge ppp pppconfig pppoe pppoeconf lpr nfs-common portmap -y aptitude update aptitude install postfix ntp vim bzip2 fail2ban vlock unzip zip lsof less p7zip snmpd openssh-server linuxlogo ftp locate -y EOF chmod +x /root/InstallDebTemp.sh /root/InstallDebTemp.sh rm /root/InstallDebTemp.sh else echo $VersPowered > /etc/JojoVersion cat > /root/InstallDebTemp.sh << EOF aptitude update aptitude purge ppp pppconfig pppoe pppoeconf lpr nfs-common portmap -y aptitude update aptitude update aptitude upgrade -y aptitude safe-upgrade -y aptitude dist-upgrade -y aptitude upgrade -y aptitude safe-upgrade -y aptitude dist-upgrade -y aptitude install postfix ntp vim bzip2 fail2ban vlock unzip zip lsof less p7zip snmpd openssh-server linuxlogo ftp locate -y EOF chmod +x /root/InstallDebTemp.sh /root/InstallDebTemp.sh rm /root/InstallDebTemp.sh fi # On met a jour le motd /usr/bin/linux_logo > /etc/motd # On reparametre le reseau sed -i 's/allow-hotplug eth0/auto eth0/' /etc/network/interfaces # On parametre syslog pour qu'il synchronise avec notre serveur de surveillance DaFonctionQuiDechireRebootService '\*.* @[u]ServeurSyslog[/u]' /etc/syslog.conf sysklogd sed -i '/[u]ServeurSyslog[/u]/ s/\\//g' /etc/syslog.conf # On configure vim pour qu'il ne nous embete plus avec les tabulations et les commentaires DaFonctionQuiDechireClassique "set noautoindent" /etc/vim/vimrc # On synchronise automatiquement avec un serveur de temps cat > /etc/ntp.conf << EOF # Nobody can poll me retrict default ignore # I can poll myself. retrict 127.0.0.1 # Save the drift driftfile /var/lib/ntp/ntp.drift #Stats statsdir /var/log/ntpstats/ statistics loopstats peerstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable #servers server 0.fr.pool.ntp.org server 1.fr.pool.ntp.org server 2.fr.pool.ntp.org server 3.fr.pool.ntp.orgEOF EOF /etc/init.d/ntp restart # On automatise les sauvegardes des logiciels et fichiers de conf cat > /etc/cron.weekly/saveconf << EOF #!/bin/sh cd /root rm /root/CloneDeb.sh* #iptables-save > /tmp/SaveIp #modprobe ip_conntrack_ftp #iptables -A OUTPUT -p tcp --dport 20 -j ACCEPT #iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT #iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #iptables-restore < /etc/cron.weekly/saveconf chmod +x /root/CloneDeb.sh EOF chmod +x /etc/cron.weekly/saveconf /etc/init.d/cron restart # On configure snmpd sed -i 's/ 127.0.0.1//g' /etc/default/snmpd cat > /etc/snmp/snmpd.conf << EOF syscontact [u]geoffroy.rabouin@atosoft.com[/u] syslocation [u]Aubagne, France[/u] # 1 cré des relations entre les communautéet des noms de sérité nom.secu source communaute com2sec LocalNet [u]IpServeurNagios Communauté[/u] com2sec LocalNet 127.0.0.1/32 [u]Communauté[/u] # 2 cré des relations entre des noms de groupes et les noms de sérité nom.groupe version nom.secu group ROGroup v2c LocalNet # 3 Crée les diverses vues qui seront autorisé aux groupes view tout included .1 # 4 Indiquee les accèaux vues suivant les groupes # nom.groupe contexte modele.secu niveau.secu prefixe lecture ecriture notification access ROGroup "" v2c noauth exact tout none none # Points de montage a surveiller disk / EOF /etc/init.d/snmpd restart # on configure postfix echo "[u]Domaine[/u]" > /etc/mailname cat > /etc/postfix/main.cf << EOF smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no append_dot_mydomain = no readme_directory = no myhostname = `sed -n 2p /etc/hosts | awk '{ print $2 }'` alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = '$HOSTNAME', localhost relayhost = ServeurSmtpRelay mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all EOF # on définit les aliases de mail cat > /etc/aliases << EOF postmaster: root hostmaster: root webmaster: root abuse: root noc: root security: root root: [u]mail@domaine.com[/u] EOF newaliases /etc/init.d/postfix restart # On cree les alias classiques DaFonctionQuiDechireClassique 'alias ll="ls -altrh --color=auto"' /etc/profile DaFonctionQuiDechireClassique 'alias vvv="vlock -a"' /etc/profile DaFonctionQuiDechireClassique '. /etc/bash_completion' /etc/profile IpTablesScripts #!/bin/bash # script pour sécuriser iptables # # 1.0 - 2007 - Blocage simple de quelques ports # 2.0 - 26/04/2007 - Changement de stratégie, on bloque tout et on ouvre selectivement # # 3.0 en prevision, suppression de ssh car ouvert grace à knockd # Preliminaire () { if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] then for filtre in /proc/sys/net/ipv4/conf/*/rp_filter do echo 1 > $filtre done fi echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts modprobe ip_tables # Ceinture de chastete iptables -P INPUT DROP iptables -P FORWARD DROP # On met meme les lames de rasoir pour tuer tout ce qui ressort iptables -P OUTPUT DROP # Vidange manuelle /sbin/iptables -F /sbin/iptables -X # On n'oublie pas de garder contact iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # Autoriser le mano a mano iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT } ReglesDouloureuses () { # Autoriser les requetes SSH # Parce que SSH, mangez en, c'est bon iptables -A INPUT -p tcp --dport 22 -j ACCEPT # Quel serveur n'a pas besoin d'acces a un serveur DNS # Un numéro de tel c'est bien, mais pouvoir mettre un nom dessus, s'mieux iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -j ACCEPT # Vu qu'on synchro toute les heures sur un ntp # s'mieux d'autoriser tout ça # Et rien de pire que de louper un rencart a cause de l'heure iptables -A OUTPUT -p udp --dport 123 -j ACCEPT # On autorise le snmp # Toujours interessant de savoir ce que deviennent les bits iptables -A OUTPUT -p udp --dport 161 -j ACCEPT # On autorise l'export syslog # Toujours sympa de garder une trace de ce qu'on a fait ou raconter iptables -A OUTPUT -p udp --dport 514 -j ACCEPT # Ne soyons pas trop vache, on autorise http # quoi que ... on ne l'autorisera que quand on fera la maj du système # (On la laisse là en aide mémoire) # iptables -A OUTPUT -p udp --dport 80 -j ACCEPT # Ne pas oublier de faire la commande suivante ensuite # iptables -A OUTPUT -p udp --dport 80 -j DROP # Mais le script de maj s'en occupe tout seul } Consolation () { # On cherche quelles sont les règles à appliquer # On va sortir la liste des paquets et grep'er dessus # pour savoir les softs installes # on sauvegarde la liste des paquets # Un annuaire bien range, toujours agreable quand on recherche quelqun dpkg --get-selections > /tmp/FileDpkg # On test ftpd # la classe, on pose ce qu'on veut, ca crie pas et on revient quand on veut si on connait le code cat /tmp/FileDpkg | grep -v "-" | grep ftpd > /dev/null 2>&1 && i=1 || i=2 if [ $i -eq 1 ] then modprobe ip_conntrack_ftp iptables -A INPUT -p tcp --dport 20 -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT fi # On test postfix # Un ti texto de temps en temps, ca coute rien et ca sauve des soirees cat /tmp/FileDpkg | grep -v "-" | grep postfix > /dev/null 2>&1 && i=1 || i=2 if [ $i -eq 1 ] then iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT fi # On test bind # revoila mon annuaire cat /tmp/FileDpkg | grep -v "-" | grep bind > /dev/null 2>&1 && i=1 || i=2 if [ $i -eq 1 ] then iptables -A INPUT -p tcp --dport 53 -j ACCEPT iptables -A INPUT -p udp --dport 53 -j ACCEPT fi # On test apache # une joli presentation, toujours un plus cat /tmp/FileDpkg | grep -v "-" | grep apache > /dev/null 2>&1 && i=1 || i=2 if [ $i -eq 1 ] then iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT fi # On test ispconfig # Une chambre bien rangee, sla classe cat /tmp/FileDpkg | grep -v "-" | grep ispconfig > /dev/null 2>&1 && i=1 || i=2 if [ $i -eq 1 ] then iptables -A INPUT -p tcp --dport 81 -j ACCEPT fi # On test courier-pop # Et pop, sussprise cat /tmp/FileDpkg | grep -v "-" | grep courier-pop > /dev/null 2>&1 && i=1 || i=2 if [ $i -eq 1 ] then iptables -A INPUT -p tcp --dport 110 -j ACCEPT iptables -A OUTPUT -p tcp --dport 110 -j ACCEPT fi # On test courier-imap # Les texto bien rangés, ca evite les mauvaises surprises de "c'est qui celle la" cat /tmp/FileDpkg | grep -v "-" | grep courier-imap > /dev/null 2>&1 && i=1 || i=2 if [ $i -eq 1 ] then iptables -A INPUT -p tcp --dport 143 -j ACCEPT iptables -A OUTPUT -p tcp --dport 143 -j ACCEPT fi # On test Pyzor cat /tmp/FileDpkg | grep -v "-" | grep pyzor > /dev/null 2>&1 && i=1 || i=2 if [ $i -eq 1 ] then iptables -A INPUT -p tcp --dport 24441 -j ACCEPT iptables -A OUTPUT -p tcp --dport 24441 -j ACCEPT fi # On test dcc cat /tmp/FileDpkg | grep -v "-" | grep dcc > /dev/null 2>&1 && i=1 || i=2 if [ $i -eq 1 ] then iptables -A INPUT -p tcp --dport 6277 -j ACCEPT iptables -A OUTPUT -p tcp --dport 6277 -j ACCEPT fi # On test razor cat /tmp/FileDpkg | grep -v "-" | grep razor > /dev/null 2>&1 && i=1 || i=2 if [ $i -eq 1 ] then iptables -A INPUT -p tcp --dport 7 -j ACCEPT iptables -A OUTPUT -p tcp --dport 7 -j ACCEPT iptables -A INPUT -p tcp --dport 2703 -j ACCEPT iptables -A OUTPUT -p tcp --dport 2703 -j ACCEPT fi # On test clam cat /tmp/FileDpkg | grep -v "-" | grep clam > /dev/null 2>&1 && i=1 || i=2 if [ $i -eq 1 ] then iptables -A INPUT -p tcp --dport 22641 -j ACCEPT iptables -A OUTPUT -p tcp --dport 22641 -j ACCEPT fi } # On Envoi La Sauce ... Preliminaire || exit ReglesDouloureuses || exit # owned # Ne pas lacher le morceau # On enchaine Consolation || exit echo "Et v'la, protected :!:" Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 26 mai 2008 Partager Posté(e) le 26 mai 2008 Il y aurait plein de trucs à dire Mais en gros : * Il faudrait apprendre l'utilisation des here documents : http://en.wikipedia.org/wiki/Here_document#Unix-Shells * Il faudrait utiliser les outils appropriés http://www.informatik.uni-koeln.de/fai/ http://www.debian.org/releases/stable/i386/apb.html.en * Il ne faut JAMAIS utiliser ntpdate dans une cron. On ne l'utilise uniquement que pour mettre à jour de manière brutale (au reboot par exemple pour éviter de mettre 5 jours à booter comme ça peut arriver des fois). Pour le reste il faut utiliser ntpd et au moins 3 serveurs. Par contre le hwclock est une bonne idée. C'est pour l'instant nécessaire, mais il est prévu que ce soit géré directement par ntpd à l'avenir. * C'est dommage de ne pas utiliser exim quand on utilise debian Sinon merci d'avoir partagé et respecté la devise du forum Je n'ai pas eu le temps de regarder en détail. Je verrais ça plus tard Lien vers le commentaire Partager sur d’autres sites More sharing options...
Compte_supprime_74291 Posté(e) le 26 mai 2008 Partager Posté(e) le 26 mai 2008 * Il faudrait utiliser les outils appropriés http://www.informatik.uni-koeln.de/fai/ http://www.debian.org/releases/stable/i386/apb.html.en Sinon, plus accessible que FAI, pour les Debian-like, Simple-CDD Lien vers le commentaire Partager sur d’autres sites More sharing options...
leon47 Posté(e) le 26 mai 2008 Auteur Partager Posté(e) le 26 mai 2008 Je connais FAI, je l'utilise pour déployer les Debian sur un parc complet, pas pour une machine par ci par là ... Je regarde du coté de simple-CDD, qui semble interessant pour l'utilisation que j'en ai. Ce script est surtout destiné aux gens qui ne prévoient pas d'installer à tour de bras des Linux. Pour le ntpdate ... cela vient d'un souci sous vmware qui ne garde pas une horloge constante et qui du coup me décale mes horaires. Vu que la compilation des vmwares-tools plante régulièrement, j'avais pris cette solution. Pour info, pourquoi ne jamais utiliser ntpdate en cron ? j'aime pas Exim ^^ pour les 'Here document', j'avais vu, j'utilisais, mais j'ai oublié ^^ surtout que c'est mieux en plus ... je corrige ça. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Compte_supprime_74291 Posté(e) le 26 mai 2008 Partager Posté(e) le 26 mai 2008 Je connais FAI, je l'utilise pour déployer les Debian sur un parc complet, pas pour une machine par ci par là ...Je regarde du coté de simple-CDD, qui semble interessant pour l'utilisation que j'en ai. Bah, c'est moins potentiellement puissant que FAI, mais c'est aussi beaucoup plus léger... en gros, ça se cantonne de modifier le Debian-installer selon tes besoins... Pour installer une petite Debian toute simple, ou juste une base (genre, avec console-setup et kdm installés et configurés pour unifier la gestion des langues avec le clickodrome... ce qui est sans doute ce qui me fait le plus pester à l'installation d'une Debian... m'enfin, de toute façon, il y a toujours des petites conneries que chacun préfère changer), c'est nickel... après, c'est sûr, si tu veux installer des Vservers, des Xen, ou des trucs KVMisés (j'attends la para-virtualisation pour tester... faudrait que je regarde si ça n'a pas été backporté dans le prochain CentOS, pour voir), bah, FAI est le sauveur... Ce script est surtout destiné aux gens qui ne prévoient pas d'installer à tour de bras des Linux. De toute façon, le mieux est de faire ses scripts soi-même... mais en donner des exemples est une bonne initiative Pour le ntpdate ... cela vient d'un souci sous vmware qui ne garde pas une horloge constante et qui du coup me décale mes horaires.Vu que la compilation des vmwares-tools plante régulièrement, j'avais pris cette solution. Pour info, pourquoi ne jamais utiliser ntpdate en cron ? Si tu fais ça quand l'OS tourne, tu risques de (enfin, tu vas) faire des sauts brutaux dans le temps... du coup, tu risques de te retrouver avec des fichiers qui n'ont pas la date qu'ils sont supposés avoir les uns par rapport aux autres, et tu risques de te retrouver avec des bugs, des logs qui partent en sucette, et cie... quitte à faire du saut brutal, autant le faire au boot, quand les choses sont encore calmes... j'aime pas Exim ^^ postfixçapueçaypalibre ... en plus, Debian permet quand même de vachement facilement configurer la base avec debconf, et ils ont fait beaucoup d'efforts sur la conf du bousin... sous Debian, je trouve que c'est plus la chienlie qu'autre chose de s'en affranchir... bon, après, les goûts, les couleurs, ... pour les 'Here document', j'avais vu, j'utilisais, mais j'ai oublié ^^surtout que c'est mieux en plus ... je corrige ça. Lien vers le commentaire Partager sur d’autres sites More sharing options...
leon47 Posté(e) le 26 mai 2008 Auteur Partager Posté(e) le 26 mai 2008 J'ai modifié le script pour prendre en compte les here documents. Les 3/4 de mes machines étant sous vmware, je garde le ntp ... et j'assume, je vais voir à réfléchir quand même, mais après. il est vrai que ça me fait quelques trucs rigolo sur les dates ... à voir à l'usage. Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 27 mai 2008 Partager Posté(e) le 27 mai 2008 Pour le ntpdate ... cela vient d'un souci sous vmware qui ne garde pas une horloge constante et qui du coup me décale mes horaires.Vu que la compilation des vmwares-tools plante régulièrement, j'avais pris cette solution. Pour info, pourquoi ne jamais utiliser ntpdate en cron ? C'est très mauvais.Ça c'était pour l'euphémisme. Maintenant on recommence sans euphémisme : C'est très TRÈS mauvais pour plusieurs raisons. La majorité des gens mettent un ntpdate dans un cron toutes les heures ou à un nombre de minutes piles. Ce qui fait que les serveurs ntp souffrent toutes les heures pendant plusieurs secondes parce que tout le monde met à jour en même temps. ntp est fait pour ça bon sang. Il randomise le temps entre deux synchronisations. C'est presque un manque de respect pour toutes les personnes qui fournissent gracieusement un service et qui se font remercier en mettant le serveurs à genoux ou en tout cas en explosant sa bande passante. C'est pourquoi le dev va retirer ntpdate dans les futures releases. ntpdate c'est le truc brutal. Ce qui a de nombreux désavantages sur une machine en cours d'utilisation. Ça peut faire des "sauts" de temps, ce qui peut provoquer certaines inconsistances notamment dans les logs, les bases de données ou dans les arborescences de fichiers. Dans le cas le plus dramatique (bien qu'improbable) ça peut faire paniquer tous les logiciels mal conçus qui s'appuient trop fort sur la date de fichiers ou de données. ntpd ne fait pas de retour en arrière par défaut. Si tu es en avance, il va faire avancer le temps très lentement. Ça évite le message comme quoi ton fs a été modifié dans le futur. ntpdate ne corrige pas le drift. Si tu dis que vmware décale ton horloge avec le temps, alors tu as tout intérêt à utiliser ntpd qui va "apprendre" comment fonctionne ton horloge et à quelle vitesse elle se décale. Le démon sera alors capable de corriger ton horloge (approximativement) même sans connexion. ntpd est prévu pour maintenir une horloge à l'heure. Il utilise tout un tas d'algorithmes statistiques prenant en compte la latence du réseau la dispersion etc. de façon à être ultra précis. Ce n'est pas la préoccupation de ntpdate. De toutes façons dès que tu as lancé ntpdate, ton horloge recommence à avoir du drift les secondes d'après. Enfin ce n'est pas compliqué de faire tourner un démon ntp. il suffit d'une ligne par server et d'une ligne pour le driftfile (pas dans le /etc/ si possible. /var semble mieux approprié). Tu peux aussi mettre un restrict si tu veux que ce ne soit qu'un client final. j'aime pas Exim ^^ C'est compréhensible. Je n'aimais pas non plus au début, mais je n'utilise plus que ça maintenant. Lien vers le commentaire Partager sur d’autres sites More sharing options...
leon47 Posté(e) le 27 mai 2008 Auteur Partager Posté(e) le 27 mai 2008 [*] ntpd est prévu pour maintenir une horloge à l'heure. Il utilise tout un tas d'algorithmes statistiques prenant en compte la latence du réseau la dispersion etc. de façon à être ultra précis. Ce n'est pas la préoccupation de ntpdate. De toutes façons dès que tu as lancé ntpdate, ton horloge recommence à avoir du drift les secondes d'après. Enfin ce n'est pas compliqué de faire tourner un démon ntp. il suffit d'une ligne par server et d'une ligne pour le driftfile (pas dans le /etc/ si possible. /var semble mieux approprié). Tu peux aussi mettre un restrict si tu veux que ce ne soit qu'un client final. Je pensai que ntpd fournissait uniquement le service et ne permettait par la synchro ... Je comprends le souci, je rtfm toussa, et je corrige. Merci des infos ! [edit] script modifié. Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 27 mai 2008 Partager Posté(e) le 27 mai 2008 Bah tu sais même où je travaille au taf, c'était basé sur du ntpdate partout avant que j'arrive... La conf ntpdate dans le cron était même présent dans fai. Bref pour info, voilà ma conf du boulot (ma machine perso) cat /etc/ntp.conf # Nobody can poll me retrict default ignore # I can poll myself. retrict 127.0.0.1 # Save the drift driftfile /var/lib/ntp/ntp.drift #Stats statsdir /var/log/ntpstats/ statistics loopstats peerstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable #servers server chronos1 server chronos2 Pour les serveurs, ce sont des serveurs de temps locaux. À la place tu peux utiliser (au choix) Debian : server 0.debian.pool.ntp.org server 1.debian.pool.ntp.org server 2.debian.pool.ntp.org server 3.debian.pool.ntp.org fr : server 0.fr.pool.ntp.org server 1.fr.pool.ntp.org server 2.fr.pool.ntp.org server 3.fr.pool.ntp.org eu : server 0.europe.pool.ntp.org server 1.europe.pool.ntp.org server 2.europe.pool.ntp.org server 3.europe.pool.ntp.org monde : server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org server 3.pool.ntp.org Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 28 mai 2008 Partager Posté(e) le 28 mai 2008 je sais pas ce que tu fais en UDP sur le port 80 .... jusqu'à nouvelle ordre HTTP c'est du TCP :-P Lien vers le commentaire Partager sur d’autres sites More sharing options...
leon47 Posté(e) le 29 mai 2008 Auteur Partager Posté(e) le 29 mai 2008 Corriged pour l'udp. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.