Le blog de Jean David TECHER, un Réunionnais à Saint-Priest/Lyon

Aller au contenu | Aller au menu | Aller à la recherche


< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 >

vendredi 4 décembre 2009

Lien pour FreeRadius 2.X.Y/Samba/OpenLdap

Un lien intéressant que je note ici par rapport à  ce que j'ai de disponible sur mon réseau personnel.

lien: http://www.system-linux.net/config/freeradius-ldap-hostapd/tuto-court.html

En effet à  la maison, j'ai la version 1.1.7 de FreeRadius alors que dans le tutoriel ci-dessus, il s'agit de la version 2. Ce sera l'occasion de le tester. C'est exactement ce que je cherchais car les configurations entre les versions ont bien changés.

A tester donc ce week-end!

samedi 21 novembre 2009

[Lighttpd 1.5] Service au démarrage avec spawn-fcgi

J'ai installé lighttpd depuis l'arrivée de ma nouvelle machine monroe. Pour avoir lighttp automatiquement lancé au démarrage de la machine, il suffira de faire

root@monroe:/etc/init.d# ln -s /opt/scripts/lighttpd-manager.sh /etc/init.d/lighttpd-manager
root@monroe:/etc/init.d# chmod 744 /etc/init.d/lighttpd-manager
root@monroe:/etc/init.d#update-rc.d lighttpd-manager defaults
 Adding system startup for /etc/init.d/lighttpd-manager ...
   /etc/rc0.d/K20lighttpd-manager -> ../init.d/lighttpd-manager
   /etc/rc1.d/K20lighttpd-manager -> ../init.d/lighttpd-manager
   /etc/rc6.d/K20lighttpd-manager -> ../init.d/lighttpd-manager
   /etc/rc2.d/S20lighttpd-manager -> ../init.d/lighttpd-manager
   /etc/rc3.d/S20lighttpd-manager -> ../init.d/lighttpd-manager
   /etc/rc4.d/S20lighttpd-manager -> ../init.d/lighttpd-manager
   /etc/rc5.d/S20lighttpd-manager -> ../init.d/lighttpd-manager

Le contenu du script sera

#!/bin/bash

# Lighttpd Variables
####################
export LIGHTTPD_ROOT_PATH="/opt/lighttpd";
export LIGHTTPD_CONFILE="${LIGHTTPD_ROOT_PATH}/conf/lighttpd.conf";

# Oracle Variables 
##################
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/8.1.7
export ORA_NLS33=/u01/app/oracle/product/8.1.7/ocommon/nls/admin/data

test -f ${LIGHTTPD_CONFILE} || { echo "can not find '${LIGHTTPD_CONFILE}'";exit 1;} 

PATH=${LIGHTTPD_ROOT_PATH}/sbin:${LIGHTTPD_ROOT_PATH}/bin:${PATH};

function IsRunning() {
	pidof lighttpd > /dev/null;
	return $?;
}

function Msg() {
	echo -ne "\t$1";
}

function LaunchSpawnFcgi(){
	spawn-fcgi  -s /tmp/php-fastcgi.sock -f /usr/lib/cgi-bin/php -u lighttpd -g lighttpd -C 20 -P /var/run/spawn-fcgi.pid;
}	

case $1 in
	"status")
		IsRunning || runResult="not";
		Msg "lighttpd is ${runResult} running\n"; 
		exit 0;
	;;
	"start")
		IsRunning && { Msg "lighttpd is already running...\n"; exit 1;}
		Msg "starting spawn-fcgi...";
		LaunchSpawnFcgi;	
		Msg "starting lighttpd...";
		lighttpd -f ${LIGHTTPD_CONFILE};
		sleep 0.5;
		IsRunning && { echo "[OK]";}
		IsRunning || { echo "[KO]";}
	;;
	"stop")
		IsRunning || { Msg "nothing to stop...[KO]";exit 1;}
		IsRunning && { Msg "stopping lighttpd...";
				killall -9 lighttpd;
				sleep 0.5s;
				Msg "stopping spawn-fcgi...";
				killall -9 php;echo "[OK]"; 
				exit 0;}
		exit 0;
	;;
	"restart")
		Msg "Trying to restart lighttpd...\n";
		IsRunning && { Msg  "stopping lighttpd..."; 
				killall -9 lighttpd;
				sleep 1.5s;
				Msg "stopping spawn-fcgi...";
				killall -9 php;
				echo "[OK]";
				sleep 0.5;}
		IsRunning || { Msg "starting spawn-fcgi...";
				LaunchSpawnFcgi;
				Msg "starting lighttpd...";
				lighttpd -f ${LIGHTTPD_CONFILE};
			      }
		IsRunning && { echo "[OK]";}
		IsRunning || { echo "[KO]";}
	;;
	*)
		echo " (start|stop|restart|status)";
		exit 0;
	;;
esac

dimanche 1 novembre 2009

Arrivée de monroe sur le réseau - installation de squid3 et authentification LDAP

Monroe est arrivé sur le réseau ce vendredi soir à  la maison. Je l'ai pris au Carrefour de la Courtine d'Avignon. Je lui ai collé une Ubuntu Server 8.04.3 (edition server)

Ce dimanche, j'y ai installé mon squid pour mon petit réseau local. Ce qui donne maintenant ceci

Du coup pour avoir squid pour le réseau, depuis olivia,on effectue les mises à  jour suivantes:

if [ $OPEN_PORT_SQUID3 -eq 1 ]
then
        CorrectInfoMailToSend "Activation de Squid3"
#       On redirige ce qui n'est pas de monroe sur le port 80 vers monroe pour squid
        iptables -t nat -A PREROUTING -i eth0 -s ! 192.168.2.16 -p tcp --dport 80 -j DNAT --to 192.168.2.16:3128        
else
        WarningInfoMailToSend "Squid3 est inactif!"
fi

C'est l'url http://www.fido-fr.net/linux_squid_iptables.shtml qui m'a été utile pour cette petite configuration

Pour l'authentification avec LDAP (sur olivia) il faut suivre les indications de http://arnofear.free.fr/linux/template.php?tuto=5&page=1 , il suffira d'ajouter

auth_param basic program /usr/lib/squid3/squid_ldap_auth -b ou=Users,dc=chezdavid,dc=local -f "uid=%s" ldap://192.168.2.1
auth_param basic children 5
auth_param basic realm Web-Proxy sur DavidGIS
auth_param basic credentialsttl 2 hours
acl ldapauth proxy_auth REQUIRED
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access allow ldapauth
http_access deny all

mercredi 30 septembre 2009

[Samba/Ldap/Qmail] WarnQuota pour surveiller les espaces disques des utilisateurs de mon annuaire LDAP

1. Exemple attendu

WarnQuota fait parti du paquet quota. Mon but ici est d'avoir Warnquota qui tourne en tà¢che de fond (grà¢ce à  cron) permettant de surveiller, l'espace disque de mon utilisateur john.doe inscrit dans mon annuaire LDAP, auquel j'ai limité le quota pour son homedirectory. . Il est proche de la saturation maximale. Il reçoit donc un mail. Il est ainsi prévenu par mail que son disque est bientà´t plein.

John se connecte à  sa boà®te mail et reçoit le mail en question.



Installation de quota

Quota fournit lenécessaire pour celà . Etant sous Ubuntu Studio 7.10, j'ai simplement installé les paquets suivants

dpkg -i quota_3.14-8_i386.deb
dpkg -i quotatool_1.4.9-2_i386.deb

Pour la configuration avec quota, je vous renvois à  http://doc.ubuntu-fr.org/utilisateurs/mulx/quota

Me concernant le répertoire principale de mes utilisateurs dans Samba ont leur HomeDirectory dans /home/user situé monté en usrquota.grpquota vers /dev/sda1. Mon/etc/fstab est le suivant

proc            /proc           proc    defaults        0       0
UUID=4fc59193-c26a-4067-8044-7eba781d5108 /               ext3    defaults,usrquota,grpquota,errors=remount-ro 0       1
UUID=cd051fdf-1620-4045-8a58-ab54c9614ad0 none            swap    sw              0       0
/dev/hda        /media/cdrom0   udf,iso9660 user,noauto     0       0

Il est possible d'activer quota (avec quotaon ou quotaoff, ou bien en utilisant les services /etc/init.d/quota et /etc/init.d/quotarpc

Création de l'utilisateur John Doe avec les smbldap-tools et notification de son quota

On le crée en faisant

root@olivia:~# smbldap-useradd -a -s /bin/bash -c "John DOE" -m -P john.doe
Changing UNIX and samba passwords for john.doe
New password: 
Retype new password: 
On crée ensuite son compte sous Qmail et activer sa boà®te aux lettres
smbldap-qmail-useradd -A active  -m john.doe@davidgis.fr -H davidgis.fr -M nolocal -D ldapwithprog \
-P /var/qmail/bin/spamcheck.sh -S /home/user/john.doe/Maildir -c 0 -q 0 -s 0  john.doe
root@olivia:~# id john.doe uid=1020(john.doe) gid=513(Domain Users) groupes=513(Domain Users)

Il faut maintenant définir les valeurs pour hard et soft limit que je fixe ici à  30 MB et 40 MB. Entre 30 et 40 MB, john.doe a encore le temps de réagir. Au delà  de 40 MB, johne.doe a atteint la limite maximale et ne pourra plus écrire dans son homedirectory.

root@olivia:~# quotatool -u john.doe -bq '30 MB' -l '40 MB' -vv /
quotatool: using filesystem /
quotatool: user 'john.doe' has uid 1020
quotatool: Looking for fs_spec '/'
quotatool: Checking device '/dev/sda1', mounted at '/'
quotatool: filesystem / has device node /dev/sda1
quotatool: Detecting quota format
quotatool: Detected quota format: OLD
quotatool: Detected quota interface: GENERIC
quotatool: fetching quotas: device='/dev/sda1',id='1020'
quotatool: 
quotatool: Limit          Old              New             
quotatool: -----          ---              ---             
quotatool: block hard:    10240            40960
quotatool: block soft:    7168             30720

On vérifie avec edquota

EDITOR="vim"  edquota -u john.doe

qui renvoit

Quotas disque pour user john.doe (uid 1020) :
 Système de fichiers           blocs       souple     stricte   inodes    souple   stricte
  /dev/sda1                      5844      30720      40960        587        0        0

Configuration de warnquota avec LDAP

Le fichier en question est /etc/warnquota.conf

Vu que j'ai les informations suivantes

root@olivia:~# smbldap-usershow john.doe | head -n1
dn: uid=john.doe,ou=Users,dc=chezdavid,dc=local

Le contenu du fichier sera

root@olivia:~# cat /etc/warnquota.conf
MAIL_CMD 	= "QMAILUSER=info /var/qmail/bin/sendmail -t"
FROM 		= "info@davidgis.fr"
SUBJECT 	= "Depassement disque"
SUPPORT		= "david.techer@davidgis.fr"
PHONE		= "06 60 4685 05"
MESSAGE         = "Bonjour %s,||Vous avez depasse votre capacite de stockage sur  %h.davidgis.fr |Veuillez faire le menage.||"
SIGNATURE	= "Cordialement!|			Equipe administration davidgis.fr|"
GROUP_MESSAGE	= "Bonjour, depassement pour %s"
GROUP_SIGNATURE	= "Cordialement!|			Equipe administration|"

LDAP_MAIL = true
LDAP_HOST = localhost
LDAP_PORT = 389
LDAP_BASEDN = ou=Users,dc=chezdavid,dc=local
LDAP_SEARCH_ATTRIBUTE = uid
LDAP_MAIL_ATTRIBUTE = mail
LDAP_DEFAULT_MAIL_DOMAIN = davidgis.fr

Remarque:Dans le cas de Qmail, /var/qmail/bin/sendmail correspond à  qmail-inject

Remarque: Par defaut, le paquet quota définit une tà¢che quotidienne (/etc/cron.daily/quota). Il est donc possible de récupérer le contenu du fichier et de repenser la fréquence de surveillance quotdienne.