Administrateurs sur lfo

Gilles LAMIRAL

$Revision: 1.35 $ $Date: 2006/05/22 15:30:34 $
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.

Version générée le Mardi 11 octobre 2011

Index des documents

Vous trouverez la dernière version du présent document à l'adresse:
http://www.linux-france.org/prj/lfoyer/

1. Création d'un compte

2. Destruction d'un compte

3. Regénération d'un compte

4. Liste mlfo et sympa

5. Liste ploug et sympa

6. Listes gulliver et sympa

7. Création de liste avec sympa

8. Archivage web d'une liste de diffusion sympa

9. CVS lf pour les administrateurs

10. Quelques commandes utiles

11. Historique de ce document


1. Création d'un compte

D'abord :

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"

Ensuite c'est du copier-coller pur :

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

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 :

. 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@laposte.net mail $alias < $user.pass  # envoie des infos

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

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

2. Destruction d'un compte

~lf/bin/rmlfu user

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

3. Regénération d'un compte

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 /etc/passwd contient "LFU". Dans le cas contraire, il faut déranger root.

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

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

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

4. Liste mlfo et sympa

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

DELETE mlfo toto@truczz.com
END

Ajoutez un abonné toto@truczz.com en envoyant un message à mailto:sympa@listes.linux-france.org avec dans le corps:

ADD mlfo toto@truczz.com
END

5. Liste ploug et sympa

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

DELETE ploug toto@truczz.com
END

Ajoutez un abonné toto@truczz.com en envoyant un message à mailto:sympa@listes.linux-france.org avec dans le corps:

ADD ploug toto@truczz.com
END

6. Listes gulliver et sympa

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

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

Ajoutez un abonné toto@truczz.com en envoyant un message à mailto:sympa@listes.gulliver.eu.org avec dans le corps:

ADD gulliver          toto@truczz.com
ADD gulliver-ca       toto@truczz.com
ADD gulliver-annonces toto@truczz.com
END

7. Création de liste avec sympa

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:

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

Ensuite sous le compte sympa:

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

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.

8. Archivage web d'une liste de diffusion sympa

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

Fichiers utilisés :

more  ~stanguy/gulmh.mrc
more ~stanguy/bin/lug-genhtml.sh

Essentiel du script lug-genhtml.sh de Seb lancé par crontab chaque nuit à 00h01 :

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 -- -

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 :

-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
 

Ligne de la crontab (tous les jours à 00h01):

1       0       *       *       *       ~/bin/lug-genhtml.sh

9. CVS lf pour les administrateurs

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:

~lf/cvs_lf

Variables d'environnement CVS:

CVSROOT=:ext:lf@linux-france.org:/home4/lf/cvs_lf/
CVS_RSH=ssh
export CVSROOT CVS_RSH

9.1 Exemple de travail à suivre (absolument)

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

10. Quelques commandes utiles

Liste des dernier logins

/usr/sbin/lastlog

11. Historique de ce document

$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