Vous êtes sur la page 1sur 47

Support de cours

Administrer Linux avec Webmin

2003, Sbastien Namche (sebastien@nameche.fr) - 1

Ce document peut tre librement lu, stock, reproduit, diffus, traduit et cit par tous moyens et sur tous supports aux conditions suivantes :
tout lecteur ou utilisateur de ce document reconnat avoir pris connaissance de ce qu'aucune garantie n'est donne quant son contenu, tous
points de vue, notamment vracit, prcision et adquation pour toute utilisation ;
il n'est procd aucune modification autre que cosmtique, changement de format de reprsentation, traduction, correction d'une erreur de
syntaxe vidente, ou en accord avec les clauses ci-dessous ;
le nom, le logo et les coordonnes de l'auteur devront tre prservs sur toutes les versions drives du document tous les endroits o ils
apparaissent dans l'original, les noms et logos d'autres contributeurs ne pourront pas apparatre dans une taille suprieure celle des auteurs
prcdents, des commentaires ou additions peuvent tres insrs condition d'apparatre clairement comme tels ;
les traductions ou fragments doivent faire clairement rfrence une copie originale complte, si possible une copie facilement accessible ;
les traductions et les commentaires ou ajouts insrs doivent tre dats et leur(s) auteur(s) doi(ven)t tre identifiable(s) (ventuellement au
travers d'un alias) ;
cette licence est prserve et s'applique l'ensemble du document et des modifications et ajouts ventuels (sauf en cas de citation courte),
quelqu'en soit le format de reprsentation ;
quel que soit le mode de stockage, reproduction ou diffusion, toute version imprime doit contenir une rfrence une version numrique
librement accessible au moment de la premire diffusion de la version imprime, toute personne ayant accs une version numrise de ce
document doit pouvoir en faire une copie numrise dans un format directement utilisable et si possible ditable, suivant les standards
publics, et publiquement documents en usage ;
la transmission de ce document un tiers se fait avec transmission de cette licence, sans modification, et en particulier sans addition de
clause ou contrainte nouvelle, explicite ou implicite, lie ou non cette transmission. En particulier, en cas d'inclusion dans une base de
donnes ou une collection, le propritaire ou l'exploitant de la base ou de la collection s'interdit tout droit de regard li ce stockage et
concernant l'utilisation qui pourrait tre faite du document aprs extraction de la base ou de la collection, seul ou en relation avec d'autres
documents.

Toute incompatibilit des clauses ci-dessus avec des dispositions ou contraintes lgales, contractuelles ou judiciaires implique une limitation
correspondante : droit de lecture, utilisation ou redistribution verbatim ou modifie du document.
Adapt de la licence Licence LLDD v1, octobre 1997, Libre reproduction Copyright Bernard Lang [F1450324322014] URL :
http://pauillac.inria.fr/~lang/licence/lldd.html
L'original de ce document est disponible cette URL : http://sebastien.nameche.fr/cours

2003, Sbastien Namche (sebastien@nameche.fr) - 2

Introduction
Avec le retour en force de la famille des Unix, certains cots archaques de
ces systmes d'exploitation vieux de 30 annes se sont rvls :
- apprentissage peu ais ;
- difficults dlguer l'administration de sous-systmes ;
- mme si les racines sont communes et les principes identiques, une
bonne partie de la configuration reste spcifique chaque Unix ;
- interface et outils dsuets (vi, etc.).
Webmin apporte une solution souple, originale et puissante l'ensemble
de ces problmes.

2003, Sbastien Namche (sebastien@nameche.fr) - 3

Prsentation
Webmin est une interface graphique qui :
- permet l'administration distante via un simple navigateur Web ;
- offre un aspect commun tous les systmes de la famille Unix ;
- reste une alternative, non obligatoire, l'dition directe des fichiers de
configuration ;
- propose de nombreux modules d'administration des services les plus
divers (en standard ou disponibles sur Internet) ;
- fournit un moyen simple de dlguer l'administration de certains soussystmes des utilisateurs nophytes ;
- prend en compte les aspects lis la scurit (sous rserve qu'un
minimum d'attention y soit prt).
Webmin, a t crit l'origine par Jamie Cameron et est disponible ici :
http://www.webmin.com

2003, Sbastien Namche (sebastien@nameche.fr) - 4

Gnralits
Webmin est, grossirement, compos de :
- un mini serveur Web, miniserv.pl ;
- un ensemble de librairies et procdures communes ;
- un nombre croissant de modules, indpendants les uns des autres,
chacun ayant la charge de donner l'accs la configuration d'un service
donn.
Webmin est crit en Perl, cela lui permet d'tre port aisment.
Il est plus confortable utiliser si le navigateur Web client supporte le
langage Javascript. Certains modules ne sont utilisables que si le
navigateur supporte Java.

2003, Sbastien Namche (sebastien@nameche.fr) - 5

Installation, tapes
Les tapes de l'installation sont les suivantes :
1) s'assurer que la librairie Perl Net::SSLeay est installe ;
2) tlcharger Webmin ;
3) dcompresser l'archive avec tar et gzip ;
4) excuter le script setup.sh ;
5) se connecter Webmin par un navigateur Web pour finir la
configuration.

2003, Sbastien Namche (sebastien@nameche.fr) - 6

Installation, Net::SSLeay
La libraire Perl Net::SSLeay est requise afin de permettre l'utilisation du
protocole HTTPS entre le serveur Webmin et le navigateur Web.
L'utilisation de SSL est fortement conseille au vu des informations
sensibles qui passent sur le rseau lors de l'utilisation de Webmin.
La manire d'installer cette librairie dpend de la distribution Linux :
- installer le package libnet-ssleay-perl suffit pour Debian ;
- pour RedHat, c'est plus compliqu, il faut :
1) installer les packages pour le dveloppement d'OpenSSL ;
2) tlcharger les sources de Net::SSLeay sur CPAN* ;
3) compiler et installer Net::SSLeay.
* Comprehensive Perl Archive Network (http://www.cpan.org)

2003, Sbastien Namche (sebastien@nameche.fr) - 7

Installation, Crypt::SSLeay
Exemple pour la RedHat 8.0
# mount /mnt/cdrom; cd /mnt/cdrom/RedHat/RPMS
# rpm -i gcc-3.2-7.i386.rpm cpp-3.2-7.i386.rpm binutils-2.13.90.0.2-2.i386.rpm \
glibc-devel-2.2.93-5.i386.rpm glibc-kernheaders-2.4-7.20.i386.rpm \
openssl-devel-0.9.6b-29.i386.rpm
# cd; umount /mnt/cdrom
# wget http://www.cpan.org/modules/by-module/Net/Net_SSLeay.pm-1.22.tar.gz
.../...
# tar xzf Net_SSLeay.pm-1.22.tar.gz
# cd Net_SSLeay.pm-1.22
# perl Makefile.PL
.../...
# make
.../...
# make test
Note :
.../...
# make install
Introduire au pralable le
.../...
CD N1 de RedHat 8.0
# cd ..; rm -rf Net_SSLeay.pm-1.22

2003, Sbastien Namche (sebastien@nameche.fr) - 8

Installation, tlchargement
La dernire version de Webmin est disponible sur le site :
http://www.webmin.com

Il est recommand de rcuprer la dernire version (des trous de scurit


ont t trouvs dans des versions rcentes).
Nous utiliserons ici la version tar/gz de l'archive et non la version RPM.
La version actuelle (au 16 mai 2003) est la version 1.090.
Aprs le tlchargement, copier le fichier sur la machine installer, par
exemple dans le rpertoire /root, puis dcompresser l'archive :
puck:~# cd /usr/local
puck:/usr/local# tar xzf /root/webmin-1.090.tar.gz

2003, Sbastien Namche (sebastien@nameche.fr) - 9

Installation, setup.sh
L'excution du script setup.sh est simple et rapide, la plupart des valeurs
par dfaut conviennent la plupart du temps :
puck:/usr/local# cd webmin-1.090
puck:/usr/local/webmin-1.090# ./setup.sh

Les questions auxquelles il convient de faire le plus attention sont les


suivantes :
Web server port (default 10000):
Login name (default admin):
Login password:
Password again:
Use SSL (y/n): y
Start Webmin at boot time (y/n): y

2003, Sbastien Namche (sebastien@nameche.fr) - 10

Installation, connexion
Enfin, le script setup.sh, une fois termin, nous donne l'URL utiliser
dans le navigateur Web pour se connecter Webmin :
***********************************************************************
Webmin has been installed and started successfully. Use your web
browser to go to
https://puck:10000/
and login with the name and password you entered previously.
Because Webmin uses SSL for encryption only, the certificate
it uses is not signed by one of the recognized CAs such as
Verisign. When you first connect to the Webmin server, your
browser will ask you if you want to accept the certificate
presented, as it does not recognize the CA. Say yes.

2003, Sbastien Namche (sebastien@nameche.fr) - 11

Installation, connexion
Lors de la premire connexion, un message d'avertissement concernant le
certificat SSL est affich. Puis l'cran de connexion apparat.
Pour l'instant, le seul utilisateur connu est celui qui a t cr lors de
l'excution du script setup.sh ( admin par dfaut).

2003, Sbastien Namche (sebastien@nameche.fr) - 12

Installation, configuration
Aprs l'authentification, la page d'accueil de Webmin est prsente :
Dconnexion
Sections
Section active
Modules

Versions
de Webmin
et de l'OS

2003, Sbastien Namche (sebastien@nameche.fr) - 13

Installation, configuration
Le module Webmin Configuration de la section Webmin permet
de finir l'installation en configurant quelques paramtres :

2003, Sbastien Namche (sebastien@nameche.fr) - 14

Installation, configuration
Le premier paramtre que nous allons modifier est la langue :

Puis, si cela est ncessaire, les paramtres de proxy :

2003, Sbastien Namche (sebastien@nameche.fr) - 15

Installation, configuration
Il est fortement conseill de configurer une liste d'adresses IP autorises.
Attention, cependant, ne pas se bloquer l'accs* :

* Si cela arrive, modifier la ligne allow du fichier /etc/webmin/miniserv.conf


puis redmarrer Webmin :
/etc/init.d/webmin restart

2003, Sbastien Namche (sebastien@nameche.fr) - 16

Installation, configuration
Enfin, le paramtrage de l'audit permet d'enregistrer l'ensemble des
vnements, ce qui peut apporter une certaine aide par la suite :

2003, Sbastien Namche (sebastien@nameche.fr) - 17

cran standard
Cet cran montre l'interface standard de la plupart des modules :
Configuration
du module
Retour l'index
de la section

2003, Sbastien Namche (sebastien@nameche.fr) - 18

Et ensuite ?
Chacun des modules de Webmin fait rfrence un sous-systme
particulier d'Unix.
Aussi, pour tudier Webmin dans son ensemble (sans parler des modules
supplmentaires disponibles sur Internet), il serait ncessaire de se former
l'ensemble des sous-systmes reprsents.
Ce support de cours propose la dmarche suivante :
1) tudier un module particulier afin de mettre en avant les mcanismes
prsents dans tous les modules ;
2) prendre un cas concret de mise-en-uvre de la dlgation de cration
des rpertoires pour les nouveaux utilisateurs.

2003, Sbastien Namche (sebastien@nameche.fr) - 19

Gestion des utilisateurs et groupes


Le module choisi comme exemple est celui qui permet de grer les
utilisateurs et groupes du systme.
C'est un module typique et couramment utilis.
Il se trouve dans la section Systme .

2003, Sbastien Namche (sebastien@nameche.fr) - 20

Gestion des utilisateurs et groupes


Cet cran montre l'ensemble des utilisateurs et groupes du systme.
Cela fait beaucoup.
Par ailleurs, les utilisateurs et groupes dits systmes (ceux dont l'UID
ou le GID est infrieur 500 ou 1000 selon les distributions) ne sont que
rarement modifis.
Seconde remarque, il y a beaucoup de modules qui sont prsents dans la
version de base de Webmin. Il y a de grandes chances pour que vous n'en
utilisiez qu' peine la moiti.
Nous allons voir comment rendre l'interface plus dpouille .

2003, Sbastien Namche (sebastien@nameche.fr) - 21

Gestion des utilisateurs et groupes


Dans la section Webmin , le module Utilisateurs Webmin permet
d'associer chaque utilisateur de Webmin un ensemble de modules
autoriss mais galement des ACLs par module.
Attention :
Un utilisateur
Webmin n'est pas
un utilisateur du
systme, et
rciproquement,
mme si certains
ponts sont
possibles entre les
deux.

2003, Sbastien Namche (sebastien@nameche.fr) - 22

Gestion des utilisateurs et groupes


Pour l'instant nous n'allons nous proccuper que du seul utilisateur
admin .
En cliquant sur le nom de cet utilisateur, il est possible d'en modifier en
certain nombre de paramtres, dont la liste des modules autoriss.
Ne laissez cochs que ceux dont vous aurez une utilit.
Aprs avoir valid l'enregistrement des modifications, l'cran prcdent (la
liste des utilisateurs Webmin) est de nouveau prsent.
La liste des modules associs l'utilisateur admin reflte ceux qui sont
rests cochs ( l'exception de ACL global ).
Dans les autres sections de Webmin, seules les icnes des modules
slectionns sont prsentes.
Les sections vides n'apparassent plus.

2003, Sbastien Namche (sebastien@nameche.fr) - 23

Gestion des utilisateurs et groupes


De retour au module Utilisateurs Webmin , nous allons maintenant
filtrer la listes des utilisateurs et groupes du systme afficher dans le
module de gestion des utilisateurs et groupes.
Cliquer sur le module Utilisateurs et groupes associ l'utilisateur
admin . Puis configurer ces options ainsi (en remplaant la valeur
1000 par 500 pour RedHat) :

2003, Sbastien Namche (sebastien@nameche.fr) - 24

Gestion des utilisateurs et groupes


Nous avons grandement simplifi la prsentation de Webmin et de
l'interface de gestion des utilisateurs et groupes.
Qu'en est-il maintenant si nous souhaitons ajouter un utilisateur au
systme :
Remarque :
Lorsqu'un libell de zone
de saisie est soulign, cela
signifie qu'une aide est
disponible en cliquant
dessus.

2003, Sbastien Namche (sebastien@nameche.fr) - 25

Gestion des utilisateurs et groupes


Bien, nous pouvons ajouter un utilisateur. Cependant :
- le mot de passe s'affiche en clair ;
- certaines valeurs par dfaut ne conviennent pas notre organisation.
Abandonnons cette cration pour retourner l'index du module et cliquer
sur le lien Configuration du Module .
Cet cran (charg) nous permet de modifier le comportement du module.

Modifier les options


telles qu'elles sont
exposes dans ces
copies d'cran.

2003, Sbastien Namche (sebastien@nameche.fr) - 26

Gestion des utilisateurs et groupes


De retour l'index du module puis l'cran de cration d'un utilisateur,
nous vrifions que les options que nous avons modifies dans la
configuration du module sont prises en compte.
Crez un ou
plusieurs utilisateurs
et/ou groupes...

2003, Sbastien Namche (sebastien@nameche.fr) - 27

Gestion des utilisateurs et groupes


Il est possible d'ajouter, modifier ou supprimer des utilisateurs en masse
via le lien Crer, modifier et supprimer des utilisateurs d'un fichier batch .

Note :
Le format des
fichiers attendus est
dcrit sur cette page.

2003, Sbastien Namche (sebastien@nameche.fr) - 28

Contrle des logs


Avant de passer la suite, voyons ce qu'a dj enregistr le module
d'audit de Webmin.
Pour cela, aller dans le module Contrle des logs de la section
Webmin et rechercher dans tous les logs :

2003, Sbastien Namche (sebastien@nameche.fr) - 29

Contrle des logs


La liste des vnements est prsente. Il est possible d'avoir plus de dtail
en cliquant sur chacun d'entre eux.

2003, Sbastien Namche (sebastien@nameche.fr) - 30

Cas concret
Comme second exemple, nous allons mettre en oeuvre une procdure
permettant de dlguer la ralisation de certaines actions.
Le besoin est le suivant : crer un utilisateur Webmin qui aura accs
certaines parties de Webmin.
En particulier, il devra pouvoir :
- crer le rpertoire personnel des nouveaux utilisateurs selon un modle
dtermin : /home/DOMAINE/Utilisateur ;
- diter le fichier /home/motd.
La mise-en-uvre se fera par l'intermdiaire du module Commandes
personnalises de la section Autres .

2003, Sbastien Namche (sebastien@nameche.fr) - 31

Cas concret
Le module Commandes personnalises de la section Autres
permet d'ajouter simplement des procdures d'administration qui seront
dclenches via l'interface Web de Webmin.

Une commande personnalise peut faire appel un programme prsent sur


le systme ou un script crit pour l'occasion.
Dans le cas prsent, il s'agit d'un script shell prsent sur la page suivante.

2003, Sbastien Namche (sebastien@nameche.fr) - 32

Cas concret
#!/bin/sh
BASE=/home
#echo $DOMAIN $USER >> /tmp/dbg
if [ -z "$DOMAIN" ]; then
echo "Domaine vide !"
exit -1
fi

if ! id "$DOMAIN\\$USER" > /dev/null 2>&1; then


echo "Utilisateur $DOMAIN\\$USER inconnu !"
exit -1
fi

if [ -z "$USER" ]; then
echo "Utilisateur vide !"
exit -1
fi

if [ -d "$BASE/$DOMAIN/$USER" ]; then
echo "Rpertoire $BASE/$DOMAIN/$USER dj prsent !"
exit -1
else
mkdir "$BASE/$DOMAIN/$USER"
chown "$DOMAIN\\$USER" "$BASE/$DOMAIN/$USER"
chgrp "$DOMAIN\\$USER" "$BASE/$DOMAIN/$USER"
fi

if [ ! -d "$BASE/$DOMAIN" ]; then
echo "Cration de $BASE/$DOMAIN"
mkdir "$BASE/$DOMAIN"
fi

echo "Rpertoire cr :"


ls -ld /home/$DOMAIN/$USER

2003, Sbastien Namche (sebastien@nameche.fr) - 33

Cas concret
Le script create_user_dir.sh est plac dans le rpertoire /usr/local/sbin
puis une commande personnalise est cre ainsi :
Note :
Il est
ncessaire de
sauvegarder
puis de
revenir dans
l'cran
d'dition de la
commande
pour chaque
nouveau
paramtre.

2003, Sbastien Namche (sebastien@nameche.fr) - 34

Cas concret
Une fois termine, nous pouvons en tester l'excution :

La sortie de la commande est affiche l'cran :

2003, Sbastien Namche (sebastien@nameche.fr) - 35

Cas concret
Nous allons maintenant crer un diteur de fichier qui nous permettra de
modifier le fichier /home/motd via Webmin :

Note : l'envoi de ce message pourrait tre mise-en-uvre ainsi via Samba :


[homes]
preexec = sh -c '[ -z /home/motd ] || cat /home/motd | smbclient -M %m -I %I' &

2003, Sbastien Namche (sebastien@nameche.fr) - 36

Cas concret
L'diteur de fichier est en place :

2003, Sbastien Namche (sebastien@nameche.fr) - 37

Cas concret
Il reste crer un utilisateur Webmin auquel sera donn l'accs ces
commandes personnalises. Pour cela, aller dans le module Utilisateurs
Webmin .
Ne choisir que
Commandes
Personnalises
dans la liste des
modules autoriss.

2003, Sbastien Namche (sebastien@nameche.fr) - 38

Cas concret
Une fois l'utilisateur cr, cliquer sur le module Commandes
Personnalises qui y est associ.
Dans cet cran, nous allons interdire l'utilisateur de modifier la
configuration du module et de crer ou modifier des commandes
personnalises.
Note :
Il est recommand
de slectionner
l'ensemble des
commandes que
cet utilisateur peut
utiliser mme s'il
s'agit de toutes les
commandes.

2003, Sbastien Namche (sebastien@nameche.fr) - 39

Cas concret
Pour tester notre configuration, cliquer sur Log Out . L'cran de
connexion est prsent. Se connecter avec le login du nouvel utilisateur :

La page d'accueil de Webmin


est limite sa plus simple
expression.

2003, Sbastien Namche (sebastien@nameche.fr) - 40

Cas concret
Mais il est possible de faire plus simple encore.
Dans le module Configuration de Webmin , l'un des paramtres de
l'cran Options de la page d'accueil nous permet de prsenter les
commandes personnalises juste aprs le login de l'utilisateur.
Note :
Se connecter
de nouveau en
administrateur
afin d'avoir
accs cet
cran.

2003, Sbastien Namche (sebastien@nameche.fr) - 41

Mise--jour de Webmin
La mise--jour de Webmin est particulirement simple sous rserve que le
serveur ait accs Internet.
L'cran Mise Jour de Webmin du module Configuration de
Webmin permet la mise--jour automatique partir d'un fichier local ou
du site de Webmin.

2003, Sbastien Namche (sebastien@nameche.fr) - 42

Mise--jour de Webmin
L'cran suivant montre le droulement de la mise--jour :

Un message en fin du processus nous indique que 3 modules ont un


correctif disponible sur le site de Webmin :

Il s'agit d'une particularit intressante de Webmin : les modules peuvent


tre mis--jour individuellement. L'URL suivante prsente la liste de tous
les correctifs disponibles :
http://www.webmin.com/updates.html

2003, Sbastien Namche (sebastien@nameche.fr) - 43

Scurit
Webmin permet beaucoup, peut-tre trop.
Il est par consquent indispensable de respecter quelques rgles afin de ne
pas compromettre la scurit du systme :
- utiliser SSL ;
- restreindre les accs par rseaux IP ;
- bloquer les ports tcp 10000 sur les firewalls ;
- utiliser l'option Hide command when executing lors de la cration
de commandes personnalises ;
- tester toutes les variables passes aux commandes personnalises ;
- modifier les paramtres de l'cran Authentification du module
Configuration de Webmin ;
- utiliser des mots de passe non triviaux ;
- suivre la liste des annonces de Webmin afin de tenir jour les modules
pour lesquels des trous de scurits auraient t trouvs (pour s'abonner :
http://www.webmin.com/mailing-announce.html).

2003, Sbastien Namche (sebastien@nameche.fr) - 44

Scurit
L'cran suivant montre des valeurs saines pour les paramtres de l'cran
Authentification du module Configuration de Webmin :
Note :
Le paramtre
Show pre-login
file active
l'affichage d'une
page Web
personnalisable
avant l'cran de
connexion (qui est,
lui, prsent
lorsque l'utilisateur
demande
recharger la page).

2003, Sbastien Namche (sebastien@nameche.fr) - 45

Divers
En cas de perte du mot de passe de l'utilisateur d'administration de
Webmin, voici la procdure suivre afin d'en configurer un nouveau :
puck:~# /usr/local/webmin-1.090/changepass.pl /etc/webmin admin pass

Pour arrter ou dmarrer Webmin, utiliser ces commandes :


puck:~# /etc/webmin/start
puck:~# /etc/webmin/stop

Ou :
puck:~# /etc/init.d/webmin start
puck:~# /etc/init.d/webmin stop

2003, Sbastien Namche (sebastien@nameche.fr) - 46

Autres modules
Voici une liste de modules particulirement intressants :
Gestionnaire de processus (section Systme )

Configuration rseau (section Rseau )

Administration de l'imprimante (section Matriel )

Gestionnaire de fichiers (section Autres )

System and server status (section Autres )

2003, Sbastien Namche (sebastien@nameche.fr) - 47

Vous aimerez peut-être aussi