Archives pour juin, 2010

MySQL : activer le mode lecture seule

Pour empêcher les modifications de vos bases de données lors des opérations de maintenance, il est utile d’activer le mode read only de MySQL :

mysql> set GLOBAL read_only=true;

A cet instant, toutes les requêtes d’écritures seront refusées et seul l’utilisateur root pourra effectuer des modifications. Une fois terminées, il faut réactiver le mode read/write :

mysql> set GLOBAL read_only=false;

A noter qu’il existe la méthode du verrou exclusif. Dans ce cas, la connexion client de l’utilisateur root ne doit pas être coupée (le verrou serait automatiquement relâché) et toutes les requêtes d’écriture des utilisateurs, y compris root, seront mises en attente puis exécutées à la libération du verrou :

mysql> FLUSH TABLES WITH READ LOCK;
mysql> [...]
mysql> UNLOCK TABLES

OpenSSL : vérifier la date d’expiration d’un certificat de sécurité

Script pour vérifier la date d’expiration de vos certificats SSL :

#!/bin/bash
#
# check_cert.sh
#
# Boris HUISGEN <bhuisgen@hbis.fr>
#

if [ $# -eq 0 ];
then
   echo "$Usage: $0 <certificate_file>" ;
   exit 1;
fi

FILE=$1

if [ ! -e $FILE ] ; then
   echo "$1 file does not exist."
   exit 2;
fi

EXPIRE_DATE=$(openssl x509 -in $FILE -noout -enddate | cut -f2 -d=);

echo "Certificate file: $FILE";
echo "Expiration date: $EXPIRE_DATE";

exit 0;

Exemple :

# check_cert.sh /usr/local/etc/openvpn/server.crt
Certificate file: /usr/local/etc/openvpn/server.crt
Expiration date: Jun 24 14:31:45 2011 GMT

Mac OS X : placer les widgets Dashboard directement sur le bureau

Pour pouvoir utiliser vos widgets Dashboard directement depuis votre bureau, un paramètre caché est à activer :

$ defaults write com.apple.dashboard devmode YES

Il faut relancer le Dock ensuite :

$ killall Dock

Activez ensuite Dashboard par la touche F12, sélectionnez le widget et commencez à le déplacer. Tout en ne relâchant pas le bouton de la souris, appuyez sur F12. Le widget demeure à présent sur le bureau. Pour l’enlever, faites l’opération inverse.

Note : ce n’est vraiment utile qu’en configuration multi-écrans, étant donné que les widgets seront toujours au premier plan.

Apache : activer la compression gzip

Après avoir compilé et activé le module mod_deflate d’Apache, la directive suivante est à ajouter au virtual host :

<IfModule mod_deflate.c>
   SetOutputFilter DEFLATE

   # disable compression for broken browsers
   BrowserMatch ^Mozilla/4 gzip-only-text/html
   BrowserMatch ^Mozilla/4\.0[678] no-gzip
   BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
   BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

   # disable compression for images
   SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
   # disable compression for other files
   SetEnvIfNoCase Request_URI \.(?:pdf|htc)$ no-gzip dont-vary
   # disable compression for binaries and archives
   SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
   # proxy cache support
   Header append Vary User-Agent env=!dont-vary

   # deflate log support
   #DeflateFilterNote Input instream
   #DeflateFilterNote Output outstream
   #DeflateFilterNote Ratio ratio
   #LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
   #Customlog /var/log/apache2/deflate_log deflate
</IfModule>

FreeBSD : activer le support SSH depuis l’installation en mode ‘fixit’

Le mode ‘Fixit’ présent sur le CD / DVD d’installation de FreeBSD 8 est utile pour dépanner votre système ou encore effectuer une installation custom (ZFS et cie).

Pour améliorer votre confort, un vrai terminal est préférable, encore faut-il que le support SSH soit activé. Pour ce faire, on commence par l’initialisation réseau :

Fixit# ifconfig em0 192.168.1.166
Fixit# route add default 192.168.1.254
Fixit# echo 'nameserver 192.168.100.254' > /etc/resolv.conf

Ensuite, la configuration du serveur SSH :

Fixit# mkdir /etc/ssh
Fixit# cp /dist/etc/ssh/sshd_config /etc/ssh
Fixit# echo PermitRootLogin yes >> /etc/ssh/sshd_config
Fixit# ssh-keygen -t rsa1 -b 1024 -f /etc/ssh/ssh_host_key -N ''
Fixit# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
Fixit# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''

Et la configuration d’un environnement minimal pour l’utilisateur root (qui n’aura d’ailleurs aucun mot de passe) :

Fixit# mkdir /root
Fixit# ln -s /mnt2/bin/csh /bin/csh
Fixit# echo "setenv PATH ‘/bin:/sbin:/usr/bin:/usr/sbin:/stand:/mnt2/stand:/mnt2/bin:/mnt2/sbin:/mnt2/usr/bin:/mnt2/usr/sbin’" > /root/.cshrc
Fixit# echo “setenv EDITOR ‘/mnt2/usr/bin/ee’” >> /root/.cshrc
Fixit# echo "setenv GEOM_LIBRARY_PATH=/mnt2/lib/geom:/lib/geom" >> /root/.cshrc
Fixit# echo “set prompt=’Fixit# ‘” >> /root/.cshrc
Fixit# /mnt2/usr/sbin/sshd

Et c’est parti, on peut maintenant agir à distance :

$ ssh root@192.168.1.166
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
	The Regents of the University of California.  All rights reserved.

Fixit#


Vi : conversion d’encodage des fichiers

L’éditeur vi permet de convertir rapidement l’encodage des fichiers.

Pour l’encodage UTF-8 :

$ vi fichier.txt
:set fileencoding=utf-8
:x

Pour l’encodage ISO-8859-1 :

$ vi fichier.txt
:set fileencoding=latin1
:x
Haut de page