Sujet 107 :T ches d'administration
107.1 Gestion des utilisateurs, des groupes et des fichiers associ s (Weight 5)
107.2 Automatisation de t ches dadministration par la planification de lancement de
programmes (Weight 4)
107.3 Localisation et internationalisation. (Weight 3)
www.ziedbouziri.com
1
Gestion des utilisateurs, des groupes et des fichiers associ s
Description : Les candidats doivent tre capables dajouter, de d truire, de suspendre
et de modifier des comptes dutilisateurs.
Termes, fichiers et utilitaires utilis s :
/etc/passwd, /etc/shadow , /etc/group, /etc/gshadow.
chage, gpasswd, groupadd, groupdel, groupmod, passwd, useradd, userdel,
usermod
www.ziedbouziri.com
2
Base de donn es des utilisateurs :/etc/passwd
Format : account:passwd:UID:GID:GECOS:directory:shell
identifiant (ou login), par exemple salah;
mot de passe : il s'agit d'un mot de passe chiffr e par la fonction a sens unique crypt ou md5. La valeur
sp eciale < x > indique que le mot de passe chiffr est stock dans /etc/shadow ;
uid : num ro unique identifiant l'utilisateur ;
gid : num ro unique du groupe principal de l'utilisateur (Debian cr e par d faut un groupe sp cifique
chacun) ;
GECOS : champ de renseignements qui contient habituellement le nom complet de l'utilisateur ;
r pertoire de connexion, attribu l'utilisateur pour qu'il y stocke ses fichiers personnels (la variable
d'environnement $HOME y pointe habituellement) ;
Programme ex cuter apr s la connexion. Il s'agit g n ralement d'un interpr teur de commandes
(shell). Si l'on pr cise /bin/false (programme qui ne fait rien et rend la main imm diatement), l'utilisateur
ne pourra pas se connecter.
www.ziedbouziri.com
3
/etc/shadow
Fichier de mots de passe chiffr s.
Format (cf shadow (5))
Identifiant ou login
Mot de passe chiffr
Plusieurs champs de gestion de l'expiration du mot de passe.
Am liorer la s curit : stocker les mots de passe chiffr s dans /etc/shadow.
Cr er /etc/shadow partir de /etc/passwd : pwconv
Stocker les mots de passe dans /etc/passwd : pwunconv
www.ziedbouziri.com
4
/etc/group
Base de donn es des groupes
Un groupe Unix est une entit regroupant plusieurs utilisateurs afin qu'ils puissent
facilement se partager des fichiers l'aide du syst me de droits int gr (en jouissant
justement des m mes droits).
Format (ch group (5) )
identifant (le nom du groupe) ;
mot de passe (facultatif)
gid : num ro unique identifiant le groupe ;
liste des membres : liste des utilisateurs membres du groupe, s par e par des virgules.
www.ziedbouziri.com
5
Cr ation de compte
useradd -m -g auf -c "Mohamed Salah" -s /bin/tcsh msalah
passwd msalah
/etc/default/useradd (SUSE) ou /etc/adduser.conf (debian) offre
quelques param trages par d faut au compte cr avec useradd :
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
GROUPS=video,dialout
CREATE_MAIL_SPOOL=no
Publicité
useradd -D : Param tres par d faut de la commande useradd
useradd fabrique le r pertoire personnel et y recopie le contenu du
r pertoire mod le /etc/skel.
www.ziedbouziri.com
6
Gestion des groupes
groupadd auf : cr er un nouveau groupe auf
groupdel auf : supprimer le groupe
groupmod : modifier les informations d'un groupe
groupmod -n AUF auf
www.ziedbouziri.com
7
G rer les comptes
passwd : changer le mot de passe.
chfn (Change Full Name) : intervient sur le champs GECOS
chsh (Change Shell) : permet de changer le shell de login (le choix du shell est limit
la liste dans /etc/shells)
userdel -r utilisateur : supprimer utilisateur ainsi que le r pertoire personnel et les
fichiers de l'utilisateur.
usermod : Modifier un compte
Changer le groupe primaire : usermod -g users msalah
Changer les groupes secondaires : usermod -G stagiaire,prof msalah
Bloquer un compte d'un utilisateur : l'emp cher de se connecter nouveau :
Bloquer
passwd -l
usermod -L
D bloquer
passwd -u
usermod -U
www.ziedbouziri.com
8
/etc/login.defs
Les caract ristiques par d faut du mot de passe sont d finis partir du fichier
/etc/login.defs, sauvegard s dans le fichier /etc/shadow
Bagdad:~ # grep -v '^#' /etc/login.defs
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
SYSTEM_UID_MIN 100
SYSTEM_UID_MAX 499
UID_MIN 1000
UID_MAX 60000
SYSTEM_GID_MIN 100
SYSTEM_GID_MAX 499
GID_MIN 1000
GID_MAX 60000
La commande chage permet de modifier ces informations contenues dans le fichier
/etc/shadow
www.ziedbouziri.com
9
chage
chage [-m mindays] [-M maxdays] [-d lastday] [-I inactive] [-E expiredate] [-W warn
days] user
chage -l
-l donne les valeurs actuelles du compte
-E permet de fixer une date d'expiration sous la forme Unix standard (nombre de
jours depuis le 1er janvier 1970) ou sous la forme YYYY/MM/DD
-M permet de changer la valeur du nombre maximal de jours de validit du mot de
passe.
-m permet de changer la valeur du nombre minimal de jours de validit de mot de
passe.
-w permet de changer le nombre de jours d'alerte avant un changement obligatoire
de mot de passe.
-d permet de changer la date de dernier changement de mot de passe sous forme
Unix standard
www.ziedbouziri.com
10
chage (suite)
www.ziedbouziri.com
11
Automatisation de t ches dadministration
Description : Les candidats doivent tre capables dutiliser les commandes
"cron" et "anacron" pour lancer des programmes intervalles r guliers et
dutiliser la commande "at" pour lancer des programmes des moments
sp cifiques.
Termes, fichiers et utilitaires utilis s :
Publicité
"
"
"
"
"
"
"
"
"
"
"
/etc/anacrontab
/etc/at.deny
/etc/at.allow
/etc/crontab
/etc/cron.allow
/etc/cron.deny
/var/spool/cron/*
at
atq
atrm
crontab
www.ziedbouziri.com
12
Planification synchrone : cron et atd
cron : d mon charg dex cuter des commandes planifi es et r currentes (chaque jour,
chaque semaine, etc.) ;
atd : d mon qui soccupe des commandes ex cuter une seule fois un instant pr cis,
un instant pr cis et futur
De nombreuses t ches sont r guli rement planifi es :
la rotation des logs;
mise jour de la base de donn es du programme locate;
les sauvegardes;
des scripts d'entretien (comme le nettoyage des fichiers temporaires).
www.ziedbouziri.com
13
cron
Tous les utilisateurs peuvent planifier lex cution de t ches. c'est pourquoi chacun dispose de sa
propre crontab.
Un utilistaeur peut diter les commandes planifier :
crontab -e
ses informations sont stock es dans /var/spool/cron/crontabs/<utilisateur>).
Afficher la liste des t ches programm es
crontab -u salah -l
35 echo "hello" | mail [email protected]
00 /usr/X11R6/bin/xclock -display :0.0
Supprimer la table cron
crontab -u salah -r
crontab -u salah -l
no crontab for salah
www.ziedbouziri.com
14
Format d'un fichier crontab
Chaque ligne significative dune crontab d crit une commande planifi e gr ce aux six
champs suivants :
la condition sur les minutes (nombres compris de 0 a 59) ;
la condition sur les heures (de 0 a 23) ;
la condition sur le jour du mois (de 1 a 31) ;
la condition sur le mois (de 1 a 12) ;
la condition sur le jour de la semaine (de 0 a 7, 0 et 7 correspondant au dimanche ; il est
galement possible demployer les trois premi res lettres du nom du jour en anglais comme
Sun, Mon, etc.) ;
la commande a ex cuter (quand toutes les conditions pr c dentes sont remplies).
La syntaxe a-b d crit lintervalle de toutes les valeurs comprises entre a et b
La syntaxe a-b/c d crit un intervalle avec un incr ment de c (exemple : 0-10/2
correspond a 0,2,4,6,8,10.
www.ziedbouziri.com
15
Exemples de crontab
Publicité
#Format
#min heu jou moi jsem commande
T l charge les donn es tous les soirs 19:25
25 19 * $HOME/bin/get.pl
Le matin a 8h00, en semaine (lundi vendredi)
00 08 1-5 $HOME/bin/fait_quelquechose
Red marre le proxy IRC apr s chaque reboot
@reboot /usr/bin/dircproxy
Au d but de chaque heure
00 $HOME/bin/fait_une_autrechose.pl
www.ziedbouziri.com
16
at
La commande at pr voit lex cution dune commande un moment ult rieur.
Exemple 1: Planifier une t che 1:23 am
$ at 1:23am
at>lp /usr/sales/reports/*
at> echo Files printed, Boss! | mail -sJob done boss
at> ^D
Exemple 2 :Ex cuter les commandes list es dans le fichier command_list apr s deux
jours 9 pm
$ at -f command_list 9pm + 2 days
Lister les commandes actuellement planifi s : atq ou at -l
$ at -l
12 2009-05-28 18:15 a salah
Annuler une commande planifi e : atrm , at -r ou at -d
$ atrm 12
www.ziedbouziri.com
17
S curit : Restreindre l'acc s cron et atd
cron.allow, cron.deny
at.allow, at.deny
Si le fichier allow existe : SEULS les usagers list s dans ce fichiers sont autoris s utiliser le
service.
Si le fichier allow n'existe pas, mais le fichier deny existe, SEULS les usagers non list s
dans le fichier deny sont autoris s utiliser le service.
cron : si les deux fichiers cron.allow et cron.deny n'existent pas, alors tous les usagers peuvent
utiliser le service.
atd : si les deux fichiers at.allow et at.deny n'existent pas, seul root peut utiliser le service.
atd :un fichier at.deny vide, donne l'acc s atd tous les usagers. (configuration par d faut)
www.ziedbouziri.com
18
Exercices
1. Cr er une entr cron qui permet de lancer xclock chaque deux minutes.
2. Utiliser at afin de lancer xclock dans les deux minutes suivantes.
www.ziedbouziri.com
19
Localisation et internationalisation
Description : Les candidats doivent savoir Configurer les informations de localisation
ou d'internationalisation li es au syst me ou aux utilisateurs.
Termes, fichiers et utilitaires utilis s :
/etc/timezone
/etc/localtime
/usr/share/zoneinfo
- /usr/bin/locale
- tzselect
- tzconfig
Environment variables: LC_*, LC_ALL, LANG
date
UTF-8
ISO-8859
ASCII
- iconv
- Unicode
www.ziedbouziri.com
20
I18N et L10N
Publicité
Linux est un logiciel internationalis , cest- -dire quil peut tre adapt aux contextes de
chaque pays. Ce travail dadaptation est appel r gionalisation ou localisation :
Des variables denvironnement de localisation
$ locale
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
www.ziedbouziri.com
21
Variables d'environnement des locales
LANG indique la locale au niveau global, tout en permettant une personnalisation des LC_*
LC_COLLATE indique la locale utilis e pour les tris et les comparaisons ;
LC_CTYPE indique l'ensemble de caract res utiliser
LC_MONETARY D finit les unit s mon taires et le format des valeurs num riques de type
financi re.
LC_NUMERIC donne des informations sur les nombres : la fa on dont les chiffres sont s par s
et divis s en groupes, comment est repr sent le point d cimal, etc. ;
LC_TIME D finit le format des dates et heures ( valeurs AM/PM ou sur 24 heures) ;
LC_MESSAGES indique la langue choisie pour les messages texte des programmes ;
LC_ALL d finit la valeur par d faut des variables pr c dentes : si une LC_ nest pas
d finie, cest LC_ALL qui est prise en compte.
www.ziedbouziri.com
22
Exemple
salah@Bagdad:~> date
jeu mai 28 05:53:34 CET 2009
salah@Bagdad:~> cat /foo/bar
cat: /foo/bar: Aucun fichier ou r pertoire de ce type
salah@Bagdad:~> export LC_ALL="en_US"
salah@Bagdad:~> date
Thu May 28 05:54:31 CET 2009
salah@Bagdad:~> cat /foo/bar
cat: /foo/bar: No such file or directory
salah@Bagdad:~> export LC_ALL="it_IT"
salah@Bagdad:~> date
gio mag 28 05:55:17 CET 2009
salah@Bagdad:~> cat /foo/bar
cat: /foo/bar: No such file or directory
www.ziedbouziri.com
23
iconv
Modification de l'encodage d'un fichier.
Syntaxe : iconv f encodage
Exemple : iconv f iso-8859-1 t UTF-8 monfichier > monfichier-UTF-8
www.ziedbouziri.com
24
Fuseau horaire
Changer temporairement du fuseau horaire
$ date
Thu May 28 06:52:47 CET 2009
$ export TZ='Pacific/Fiji'
$ date
Thu May 28 17:53:10 FJT 2009
tzselect : demande l'utilisateur des informations propos de son emplacement
g ographique, et fournit sur sa sortie standard la description du fuseau horaire. Cette
sortie est utilisable pour la variable d'environnement TZ.
/etc/localtime : un lien symbolique vers un fichier du r pertoire
/usr/share/zoneinfo.
www.ziedbouziri.com
25