<!doctype linuxdoc system>

<!-- 	$Id: admin.fr.m4,v 1.35 2006/05/22 15:30:34 gilles Exp gilles $	 -->

<!-- Bienvenue dans le monde SGML et m4 -->
<!--


	

-->
<article> 

<titlepag>
<title>Administrateurs sur lfo</title>
<author>
<name>
<htmlurl 
	name="Gilles LAMIRAL" 
	url="mailto:glamiral@linux-france.org?subject=lfoyer 0.01">
</name>
</author> 

<date>
$Revision: 1.35 $   $Date: 2006/05/22 15:30:34 $ 
</date>

<abstract> Ce document est dédié aux administrateurs du site
linux-france.org (lfo), c'est à dire ceux ayant accès au compte lf et
sympa.
</abstract> 

</titlepag> 

<toc>

<p>
Version générée le Samedi 25 octobre 2008
<!-- 
-->

<#if output="html">
<p>
<htmlurl url="../.." name="Index des documents">
</#if>

<p>
Vous trouverez la dernière version du présent document à l'adresse:
<newline> <tt><url url="http://www.linux-france.org/prj/lfoyer/"></tt>



<sect>Création d'un compte
<p>

D'abord :
<verb>
ssh  lf@linux-france.org     # connexion à lfo
export user=leuser           # remplacez "leuser"
grep $user etc/virtusers     # recherche alias existant
export alias=alias@truc.com  # remplacez "alias@truc.com"
</verb>

Ensuite c'est du copier-coller pur :

<verb>
echo "[$user] [$alias]" # verif des variables
touch $user.pass
chmod 600 $user.pass    # être parano

cat > $user.pass << EOF # creation courriel
Subject: Nouveau compte linux-france : $user

Ton compte sur lfo : $user
Ton alias dans 1h au plus : $user@linux-france.org $alias
`~lf/bin/newlfu $user empty | grep 'Mot de'`

Un peu de lecture pour comprendre comment fonctionne lfo : 
http://www.linux-france.org/prj/lfoyer/doc/htm/premiers_pas.fr.htm
http://www.linux-france.org/prj/lfoyer/doc/htm/ssh.fr.htm
Merci. Bonne lecture, bonne doc !
EOF
cat $user.pass
</verb>

Ces commandes créent un utilisateur "user" et un groupe "user" et
fournit un fichier avec toutes les infos à destination du contributeur.

Continuons le copier-coller pur :

<verb>
. bin/cvsup
echo "$user@linux-france.org $alias" >> etc/virtusers
cvs ci -m "Ajout $user" etc/virtusers
tail  etc/virtusers
rsync -e ssh -aCvn . lf@linux-france.org:~/ # voir
rsync -e ssh -aCv  . lf@linux-france.org:~/ # faire

cd
REPLYTO=gilles.lamiral@free.fr mail $alias < $user.pass  # envoie des infos
</verb>

Et pour finir, en douceur, ligne à ligne (surtout pour le su):

<verb>
cat $user.pass # lecture du mot de passe
su  $user      # métamorphose dans le nouveau compte 
cd             # copier coller pur 
cp ~lf/.inputrc .            # accents sous bash
rmdir ftp/empty/ html/empty/ # menage à cause de ~lf/bin/newlfu
mkdir .ssh
chmod g-w .ssh
cp ~lf/.ssh/authorized_keys .ssh # les clefs des admins
exit                              # retour sous user lf
ssh $user@localhost id            # test sans mot de passe
</verb>

<sect>Destruction d'un compte
<p>

<verb>
~lf/bin/rmlfu user
</verb>

Le répertoire <tt>~lf/user</tt> appartient alors au compte <tt>lf</tt>
qui en fait ce que bon lui semble.

<sect>Regénération d'un compte
<p>

Au cas où le mot de passe est perdu, il faut demander au sysadmin de
changer le mot de passe. Ou bien recréer le compte. La recréation du
compte n'est possible que si le champ commentaire de
<tt>/etc/passwd</tt> contient "LFU". Dans le cas contraire, il faut
déranger root.

<verb>
ssh  lf@linux-france.org     # connexion à lfo
export user=leuser           # remplacez "leuser"
grep $user etc/virtusers     # recherche alias existant au cas où
export alias=alias@truc.com  # remplacez "alias@truc.com"

echo "[$user] [$alias]" # verif des variables

~lf/bin/rmlfu $user
mv /home4/lf/$user /home4/lf/$user.old
</verb>

Ensuite, vous créer un compte normal, sans mettre à jour
<tt>etc/virtusers</tt>, mais en créant l'accès ssh. Puis vous replacez
les anciens fichiers:

<verb>
rsync -e ssh -alptvn /home4/lf/$user.old/  \
                     $user@localhost:/home4/lf/$user # voir 

rsync -e ssh -alptv  /home4/lf/$user.old/  \
                     $user@localhost:/home4/lf/$user # faire

echo rm -rf /home4/lf/$user.old
rm -rf /home4/lf/$user.old
</verb>

<sect>Liste mlfo et sympa
<p>

Retirez un abonné toto@truczz.com en envoyant un message à <url
url="mailto:sympa@listes.linux-france.org"> avec dans le corps:

<verb>
DELETE mlfo toto@truczz.com
END
</verb>

Ajoutez un abonné toto@truczz.com en envoyant un message à <url
url="mailto:sympa@listes.linux-france.org"> avec dans le corps:
<verb>
ADD mlfo toto@truczz.com
END
</verb>

<sect>Liste ploug et sympa
<p>

Retirez un abonné toto@truczz.com en envoyant un message à <url
url="mailto:sympa@listes.linux-france.org"> avec dans le corps:

<verb>
DELETE ploug toto@truczz.com
END
</verb>

Ajoutez un abonné toto@truczz.com en envoyant un message à <url
url="mailto:sympa@listes.linux-france.org"> avec dans le corps:
<verb>
ADD ploug toto@truczz.com
END
</verb>



<sect>Listes gulliver et sympa
<p>

Retirez un abonné toto@truczz.com en envoyant un message à <url
url="mailto:sympa@listes.gulliver.eu.org"> avec dans le corps et suivant
la liste concernée :

<verb>
DELETE gulliver toto@truc.zz
DELETE gulliver-annonces toto@truc.zz
DELETE gulliver-ca toto@truc.zz
DELETE gulliver-contact toto@truc.zz
DELETE gulliver-editorial toto@truc.zz
DELETE gulliver-mce toto@truc.zz
DELETE gulliver-troll toto@truc.zz
END
</verb>

Ajoutez un abonné toto@truczz.com en envoyant un message à <url
url="mailto:sympa@listes.gulliver.eu.org"> avec dans le corps:
<verb>
ADD gulliver          toto@truczz.com
ADD gulliver-ca       toto@truczz.com
ADD gulliver-annonces toto@truczz.com
END
</verb>

<sect>Création de liste avec sympa
<p>

Si vous ne connaissez rien au logiciel sympa, prière de lire
attentivement la documentation du logiciel sympa.

Vous vouler créer une liste de diffusion. Appelons la
"truc".  Le fichier etc/aliases est géré sous CVS. Vous
pouvez travailler chez vous pour le mettre à jour. Ajouter
les lignes suivantes dans etc/aliases:

<verb>
cd && cd cvs_work/lf
. bin/cvsup # recup du boulot des autres

LISTE=truc  # A REMPLACER PAR VOTRE NOUVELLE LISTE !
echo "[$LISTE]" # Verifiez le nom !  

cat >> etc/aliases <<EOF

# liste sympa $LISTE
$LISTE: "|/home/sympa/bin/queue $LISTE"
$LISTE-request: "|/home/sympa/bin/queue $LISTE-request"
$LISTE-editor: "|/home/sympa/bin/queue $LISTE-editor"
$LISTE-owner: "|/home/sympa/bin/bouncequeue $LISTE"
$LISTE-subscribe: "|/home/sympa/bin/queue $LISTE-subscribe"
$LISTE-unsubscribe: "|/home/sympa/bin/queue $LISTE-unsubscribe"

EOF

tail etc/aliases # Vérification

# mise à jour de la base CVS
cvs ci -m"liste $LISTE" etc/aliases

# ssh ne veut pas de groupe en écriture
chmod -R g-w .

# recopie sur compte lf
rsync -e ssh -aCvn . lf@linux-france.org:~/ # voir
rsync -e ssh -aCv  . lf@linux-france.org:~/ # faire

</verb>

Ensuite sous le compte sympa:
<verb>
ssh sympa@linux-france.org # connexion au compte sympa sur lfo
cd
LISTE=truc  # A REMPLACER DE NOUVEAU PAR VOTRE NOUVELLE LISTE !

echo "[$LISTE]" # Verifiez le nom !     
mkdir expl/$LISTE
mkdir expl/$LISTE/archives
cp expl/mlfo/* expl/$LISTE/   # copie de la liste mlfo
cd expl/$LISTE/
ls             # ca fait pas de mal
> subscribers  # mise à vide
> stats        # mise à vide
rm subscribers.old 
# EDITEZ les fichiers et adaptez les à vos besoins
# config  message.footer welcome
vi config
vi message.footer
vi welcome
</verb>


Il y a aussi le script /etc/mail/newliste pour créer une
nouvelle liste mais tel quel il ne fonctionne pas. Un pb de
typo, je ne me rappelle plus quoi (en tout cas le pb m'avait
pris une nuit).

Lisez et relisez la documentation de sympa afin de comprendre chaque
directive.

<sect>Archivage web d'une liste de diffusion sympa
<p>

Exemple d'archive réalisé pour la liste Gulliver par Sébastien Tanguy.

Fichiers utilisés :
<verb>
more  ~stanguy/gulmh.mrc
more ~stanguy/bin/lug-genhtml.sh
</verb>

Essentiel du script lug-genhtml.sh de Seb lancé par crontab
chaque nuit à 00h01 :
<verb>
month=`date -d 1-day-ago +%m`
year=`date -d 1-day-ago +%Y`

cat ~sympa/expl/gulliver/archives/log.$year$month \
| sed -e '/------- CUT --- CUT ---/d' \
| formail +1 -ds \
| ~/bin/mhonarc -add -thread -multipg \
-idxfname index.html -rcfile ~/gulmh.mrc -- -
</verb>

Petite analyse.

La commande sed élimine la ligne "-CUT-" situé en fin de
fichier. La commande formail élimine le "1er" courriel qui
n'en est pas un (juste un avertissement fait par sympa).
Ensuite mhonarc fait son travail, options utilisées :
<verb>
-add                     : Add message(s) to archive
-thread                  : Create threaded index (the default)
-multipg                 : Generate multi-page indexes
-idxfname <name>         : Name of index page
-rcfile <file>           : Resource file for MHonArc
 
</verb>


Ligne de la crontab (tous les jours à 00h01):
<verb>
1       0       *       *       *       ~/bin/lug-genhtml.sh
</verb>



<sect>CVS lf pour les administrateurs
<p>

Une base CVS est dédié au compte lf afin de partager la maintenance
des fichiers de configuration et des utilitaires.

Localisation de la base: 
<verb>
~lf/cvs_lf
</verb>

Variables d'environnement CVS:
<verb>
CVSROOT=:ext:lf@linux-france.org:/home4/lf/cvs_lf/
CVS_RSH=ssh
export CVSROOT CVS_RSH
</verb>

<sect1>Exemple de travail à suivre (absolument)
<p>
<verb>
CVSROOT=:ext:lf@linux-france.org:/home4/lf/cvs_lf/
CVS_RSH=ssh
export CVSROOT CVS_RSH
cd && cd cvs_work     # mettez vous où bon vous semble.
cd lf

# récupérons le travail des autres
cvs -n update  -d  # voir
cvs    update  -d  # faire

# éditons les fichiers puis mise à jour de la base
cvs commit

# Mise à jour du compte lf

# ssh ne veut pas de groupe en écriture
chmod -R g-w .

# recopie
rsync -e ssh -aCvn . lf@linux-france.org:~/ # voir
rsync -e ssh -aCv  . lf@linux-france.org:~/ # faire
</verb>


<sect>Quelques commandes utiles
<p>

Liste des dernier logins
<verb>
/usr/sbin/lastlog
</verb>

<sect>Historique de ce document
<p>

<verb>
$Log: admin.fr.m4,v $
Revision 1.35  2006/05/22 15:30:34  gilles
ploug et sympa

Revision 1.34  2006/02/23 12:47:47  gilles
Nouvelle section "Quelques commandes utiles"

Revision 1.33  2005/08/29 14:30:11  gilles
*** empty log message ***

Revision 1.32  2005/08/29 13:16:27  gilles
Union des paragraphes cvs lf et maj compte lf

Revision 1.31  2004/07/13 20:39:15  gilles
Retrait du --delete dans la regénération de compte.
Les clefs ssh étaient éliminées.

Revision 1.30  2004/07/13 20:37:54  gilles
CVS sur @email

Revision 1.29  2004/03/09 06:39:36  gilles
Mention de /etc/mail/newliste

Revision 1.28  2003/11/20 04:30:52  gilles
nom de nouvelle liste en variable pour etc/aliases

Revision 1.27  2003/07/02 13:47:43  gilles
- typo titre
- passage en HERE document du courriel

Revision 1.26  2003/07/02 13:29:55  gilles
Ajouts sur courriel envoyé

Revision 1.25  2003/03/26 01:26:18  gilles
Déplacement de la section Historique à la fin du
document.

Revision 1.24  2002/10/17 22:46:56  gilles
truc.com existe ! -> truczz.com
Ajout section "Listes gulliver et sympa"
Ajout section "Création de liste avec sympa"

Revision 1.23  2002/10/17 16:33:39  gilles
Modif exemple abonné dans "Liste mlfo et sympa"

Revision 1.22  2002/10/01 23:59:34  gilles
Ammélioration de la regénération de compte

Revision 1.21  2002/09/26 20:26:31  gilles
Maj "création de compte"

Revision 1.20  2002/09/26 19:53:20  gilles
maj "regénération de compte"

Revision 1.19  2002/08/16 13:59:10  gilles
Typo envoie. Merci florian

Revision 1.18  2002/08/15 23:22:53  gilles
Ajout de clefs ssh dans la création de compte.

Revision 1.17  2002/06/22 03:57:23  gilles
maj création user

Revision 1.16  2002/06/22 03:14:45  gilles
Correction création user, plus de .forward

Revision 1.15  2002/06/21 17:32:18  gilles
Ajout de commandes pour automatiser la création d'un compte

Revision 1.14  2002/06/07 23:23:31  gilles
Déplacement de la section "ChangeLog" en "Historique de ce document"

Revision 1.13  2002/06/07 23:18:01  gilles
Ajout de la commande rlog dans la section "ChangeLog"

Revision 1.12  2002/06/07 23:05:24  gilles
Added ChangeLog

</verb>



</article>

<!-- Local IspellDict: francais -->
 
 
