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

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


1 2 >

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.

dimanche 27 septembre 2009

[Qmail-Ldap] Souci pour SMTP...Free responsable en bloquant SMTP

Il y avait une semaine,j'avais envoyé un mail à  un ami sur Antibes. En le rappelant quelques jours plus tard, j'ai appris que mon mail ne lui était pas parvenu...Inquiet ce vendredi, j'ai donc regardé du cà´té de mon serveur de mail. Et effectivement impossible d'envoyer des mails par SMTP. Résultat des courses, comme je viens juste d'emménager sur Avignon et que j'ai du démménagé aussi ma ligne Freebox pour un nouveau numéro, j'ai pensé que celà  venait sà»rement de mon registar..

.J'ai donc tenté plusieurs pistes: revoir mes fichiers de configuration de mail , refaire ma configuration chez mon registar etc...etc...Donc j'ai bien occupé mon vendredi soir et mon samedi soir. Mais quelque chose me turlupinait:l'envoi de mail à  destination de free.fr en SMTP était la seule adresse qui passait en SMTP mais pas les autres. J'ai donc cru que j'avais du par mégarde installé quelqus chose sur le serveur qui aurait bousillé mon serveur de mail.

Ce n'est finalement que Dimanche après midi que j'ai compris que c'était Free du fait que ma ligne est donc nouvelle, le port SMTP est bloqué par défaut. Du coup,j'ai passé du temps pour rien à  résoudre un simple problème...Fait chier quand même...des heures passés à  résoudre un si simple problème :) LOL

Qmail:Lien intéressant pou utilisation de Qmail

Petit lien trouvé par hasard sur le Web: http://binarios.com/lnb/qmail.html

jeudi 24 septembre 2009

[Samba/Ldap/PDC] Installation du poste client pour Dapper avec NFS et LDAP

Motivation et source

Celà  fait un moment que j'ai mon serveur NFS de prêt sur ma machine luxy. Olivia mon serveur principal sert surtout de serveur Samba, LDAP et NFS.

Je me suis donc dis qu'il serait temps de réactiver tout celà , vu que maintenant je suis installé sur Avignon (connexion internet et tout le toutim)...Ce billet est largement inspiré de http://arnofear.free.fr/linux/template.php?tuto=2&page=1#8, url désigné par la suite par [SOURCE]

.

Installation LDAP pour su et gdm

En prérequis, mon serveur LDAP est sur 192.168.2.1 pour une version 3 d'OpenLDAP. Luxy est sur 192.168.2.6

En tant que root sur luxy, on installe les deux paquets requis.

root@luxy:~# apt-cache search nscd
libnss-ldap - NSS module for using LDAP as a naming service
nscd - GNU C Library: Name Service Cache Daemon
apt-get install libnss-ldap nscd

Lors de l'installation, il faut préciser comment contacter le serveur LDAP (rien de compliqué).

Pour la suite des réjouissances, j'aurais donc

  1. /etc/ldap/ldap.conf
    Host 192.168.2.1
    base	dc=chezdavid,dc=local
    URI	ldap://192.168.2.1
    
  2. /etc/libnss-ldap.conf
    # @(#)$Id: ldap.conf,v 2.41 2005/03/23 08:30:16 lukeh Exp $
    host 192.168.2.1
    base dc=chezdavid,dc=local
    ldap_version 3
    
  3. /etc/pam_ldap.conf
    host 192.168.2.1
    base dc=chezdavid,dc=local
    ldap_version 3
    pam_password crypt
    

On installa ensuite le nécessaire pour PAM et LDAP

apt-get install libpam-ldap

On répondra par non à  la première question posée car je n'ai pas besoin de base sur le client

Comme le mentionne [SOURCE], il faut ensuite récupérer depuis le serveur fichiers de configuration installés sur le serveur (olivia) et le copier sur le client (luxy)

  1. /etc/nsswitch.conf
    passwd:         files ldap
    group:          files ldap
    shadow:         files ldap
    hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
    networks:       files
    protocols:      db files
    services:       db files
    ethers:         db files
    rpc:            db files
    netgroup:       nis
    
  2. /etc/pam.d/common-account
    account	sufficient	pam_ldap.so
    account	required	pam_unix.so
    
  3. /etc/pam.d/common-auth
    auth	sufficient	pam_ldap.so
    auth	required	pam_unix.so nullok_secure use_first_pass
    
  4. /etc/pam.d/common-password
    password	sufficient	pam_ldap.so
    password	required	pam_unix.so nullok obscure min=4 max=8 md5
    
  5. /etc/pam.d/common-session
    session required        pam_unix.so
    session optional        pam_ldap.so
    

Pour pouvoir bénéficier de su ou de gdm de GNOME, il faut aussi le contenu suivant

  1. /etc/pam.d/su
    auth       sufficient pam_rootok.so
    session       required   pam_env.so readenv=1
    session       required   pam_env.so readenv=1 envfile=/etc/default/locale
    session    optional   pam_mail.so nopen
    @include common-auth
    @include common-account
    @include common-session
    
  2. /etc/pam.d/gdm
    auth	requisite	pam_nologin.so
    auth	required	pam_env.so
    auth optional pam_group.so
    @include common-auth
    @include common-account
    session	required	pam_limits.so
    @include common-session
    @include common-password
    

NFS sur le client

Il suffit tout simplement de suivre les indications fournies dans [SOURCE]. Comme chez moi tout ceci était déj fait, j'indiquerais juste les modifications que j'ai apporté. Ca m'évitera ici de faire du copier/coller . Juste pour rappel

apt-get install nfs-common

Ajouter la ligne suivante dans le /etc/fstab de luxy

olivia.davidgis.fr:/home/user       /home/user  nfs  nosuid,intr,hard 0 0

Puis créer le répertoire /home/user

Ensuite sur le serveur olivia, on ajoute la ligne suivante dans /etc/exports

/home/user luxy.davidgis.fr(rw,sync,root_squash)

Ensuite, on redémarre le serveur comme indiqué dans [SOURCE]

 /etc/init.d/nfs-kernel-server restart

et on mounte le répertoire sur luxy

mount /home/user