administration de systèmes...

116
1 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information Administration de Systèmes d'Information Luiz Angelo Stefenel

Upload: vodien

Post on 16-Sep-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

1©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Administration de Systèmes d'Information

Luiz Angelo Stefenel

2©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Déroulement des Cours

10h de Cours Linux (lundi 9h-12h, mardi 9h-12h et jeudi 8h-12h)

10h de TPs Linux (6h jeudi/vendredi et plus 4h le vendredi 23/10)

10h Cours + 10h TP Windows (plus tard)

Évaluation

40% examen CISCO Network Fundamentals (vendredi 16/10)

30% rapports de TP partie Linux

30% examen partie Windows

Présence obligatoire (émargement)

3©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Cours 1Révision rapide d'un programme d'études type LPI

Introduction à UNIX   - l'architecture des systèmes d'exploitation UNIX

Le système d'exploitation Linux

Utilisateurs, Groupes et Permissions

Installation de Linux

Les distributions

Partitionnement d'un disque dur

Les systèmes de fchier Linux   - ext2 / ext3

Le shell UNIX (invité de commandes)

Les commandes de base UNIX

4©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Cours 1 (cont)Commandes Shell

Gestion du système de fchiers

Gestion et visualisation de fchiers, aide

Gestion des processus

Administration du réseau

Administration du système

Gestion des utilisateurs

Impression et programmation

Préparation de documents

Autres

Initialisation du système et les Services   - Séquence de démarrage, Runlevels & processus Daemon

Administration des utilisateurs   - Création, suspension et suppression des comptes   - Groupes

5©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Cours 1Confguration du réseau

Planifcateur de tâches   - cron daemons

Gestion des quotas de disque

Gestion de packages

Surveillance du Système    - Analyse du système de fchiers   - Logs du système

6©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Cours 2Serveurs

DHCP

NIS

NFS

Samba

DNS

Apache   - Confguration   - Serveurs Virtuels   - Restriction d'accès - PHP/MySQL

Serveur Mail   - Serveur SMTP - Serveur de listes (majordomo)

Subversion

7©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Cours 3Firewall, NAT

Linux comme routeur

VPN

Serveur Proxy - Squid

Serveur FTP

Serveur SSH

Serveur d'annuaire LDAP

Surveillance d'un Réseau

NAGIOS

CACTI

GANGLIA

8©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

TP 1

2h (jeudi 8/10)

Installation d'une distribution linux

Création d'utilisateurs

Rapport : non

9©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

TP 2

4h (vendredi 9/10)

Installation d'un serveur Apache

Confguration de serveurs virtuels

Installation d'un serveur mail

Installation d'un serveur SVN

Accès aux données SVN par le web avec le module Apache DAV_SVN

Et si nous avons le temps

Installation d'un serveur LDAP

+ authentifcation LDAP sous Apache

Rapport : pas pour l'instant (garder quand même des infos sur SVN)

10©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

TP 3

4 heures (vendredi 23/10)

Installation de Trac (avec SVN)

Installation et utilisation de NAGIOS

Installation et utilisation de CACTI (devoir maison, si le temps manque)

Installation et utilisation de GANGLIA (devoir maison, si le temps manque)

Rapport :

4 rapports en format article court (genre GNU Linux Magazine)

4 ou 5 pages max chacun

Travail en binômes

Date limite d'envoi : vendredi 11 décembre 2009

Format : source (Word, OpenOfce) et pdf

Dépôt avec SVN à l'adresse http://netacad.univ-reims.fr/svnm2/m2

Les mêmes identifants pour se connecter sur netacad.univ-reims.fr

11©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Références

Livres sur Unix à la bibliothèque de l'université

The Linux Documentation Project (LDP), http://www.tldp.org/

Mirroir: http://www.iitk.ac.in/LDP

Cours de Préparation LPI de IBMhttp://www.ibm.com/developerworks/linux/lpi/101.html? S_TACT=105AGX03&S_CMP=LPLINUX

Les transparents seront disponibles à l'adressehttp://cosy.univ-reims.fr/~lstefenel

12©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Les systèmes d'exploitation UNIX/LINUX

Introduction à Unix

Histoire de l'UNIX

C'est quoi LINUX

Distributions LINUX

Structure d'un Sytème d'exploitation UNIX

Le système de fchiers Unix

Répertoires, Fichiers et Inodes

Utilisateurs, Groupes et Permissions

13©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

UNIX

Unix est un système d'exploitation multi-utilisateur, multi-tâche

Plusieurs utilisateurs peuvent être connectés simultanément, exécutant diférents programmes

C'est le rôle du kernel (noyau) de garder la séparation entre chaque processus et utilisateur, de manière à gérer l'accès au matériel (dont la cpu, la mémoire, les disques et les autres dispositifs d'entrée/sortie)

14©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Histoire de l'UNIX

La première version a été créée par le Bell Labs en 1969.

Quelques ingénieurs de ce projet, dont Ken Thompson, Dennis Ritchie, Rudd Canaday, and Doug McIlroy ont implémenté la première version du système de fchiers dans une machine PDP-7, avec quelques outils. Le nom UNIX a été donné par Brian Kernighan.

Le 1er janvier 1970 à 00:00:00 heures est la date « zéro » pour UNIX.

En 1973 Unix est ré-écrit presque entièrement en C,un nouveau langage développé par Dennis Ritchie.

L'utilisation d'un langage de haut niveau a rendu plus facile l'installation du système sur d'autres machines.

15©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Histoire de l'UNIX

En 1977 il y avait autour de 500 machines UNIX en tout le monde.

En 1980 est sorti BSD 4.1 (Berkeley Software Development)

En 1983, SunOS, BSD 4.2, System V

En 1988 AT&T et Sun Microsystems s'allient pour développer System V Release 4 (SVR4). Celui-ci donnera naissance à UnixWare et Solaris 2.

En 1991 (seulement) Linux est crée.

16©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

C'est quoi LINUX

Linux est un système d'exploitation ouvert de type Unix originalement crée par Linus Torvalds avec l'aide d'autres développeurs.

Il a commencé en 1991 comme un projet d'études de Linus Torvalds, un étudiant d'informatique fnlandais.

Le noyau (Kernel) version 1.0 a été lancé en 1994 (la dernière version stable est la 2.6.31-1 (le 24/09/2009)

Développé sous la licence publique GPL (GNU General Public Licence), le code source Linux est ouvert et disponible à tous

17©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Quelques Distributions LINUX

Mandriva : http://www.mandriva.com/

RedHat: http://www.redhat.com/

Fedora: http://fedora.redhat.com/

SuSE/Novell: http://www.suse.com/

Debian: http://www.debian.org/

Ubuntu: http://www.ubuntu.com/

Gentoo: http://www.gentoo.org/

18©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La Structure de l'UNIX

Kernel

System Calls

Hardware

Programs

19©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Composants principaux d'un système d'exploitation

20©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le noyau

Ensemble logiciel assurant l’interface entre le matériel et les processus (systèmes ou utilisateurs)

Chargé au démarrage du système, reste en mémoire

Une fois initialisé, il détecte les périphériques et lance le premier processus (init)

Il peut être monolithique ou à modules dynamiques

Entièrement confgurable par l’administrateur

21©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le noyau

Abstraction du matériel

Couche logique = API unifée

Pilotes pour la gestion des périphériques

Gestion des processus

Naissance, suspension, suppression

Gestion des communications interprocessus

Signaux, tubes, ...

Partage du temps machine entre les processus

Gestion de la mémoire

Réservation, libération, échange (swap).

22©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Modules du noyau

Module = extension du noyau à charger dynamiquement

placé dans /lib/modules/version_de_noyau

Pilotes matériels sont les modules les plus courants

cartes réseau, cartes graphiques, disques, USB, etc.

Certains services aussi

services de la pile TCP/IP, cryptographie

Alternative efcace à un noyau « monolithique »

uniquement les modules utilisés sont chargés en mémoire

adaptation face à des nouveaux dispositifs

23©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Modules du noyau

Commandes les plus courantes :

lsmod : liste les modules

insmod : charge un module (sans vérifer la dépendance)

rmmod : retire un module

depmod : établit les dépendances inter-modules

modprobe : charge ou retire modules et dépendances

Fichiers :

/etc/modules.conf : confguration de modprobe

/lib/modules/???/modules.dep : liste des dépendances

24©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le Système de Fichiers UNIX

25©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le Système de Fichiers

Le système de fchiers UNIX ressemble un arbre inversé

Le répertoire « racine » est indiqué par /

Tous les répertoires sous-jacents sont liés au même arbre (même les autres unités de disque)

Chaque noeud est soit un fchier soit un répertoire (ce dernier peut contenir d'autres fchiers ou répertoires)

Un fchier ou répertoire peut être indiqué par son chemin absolu ou par un chemin relatif (selon une position de référence)

Le chemin absolu commence par la racine, /, suivie des diférentes branches (séparées aussi par des /) :

/home/condron/source/xntp

26©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le Système de Fichiers

Un chemin rélatif indique un chemin par rapport à une localisation dans l'arbre, normalement le répertoire courant. Deux répertoires spéciaux peuvent être utilisées pour aider :

. le répertoire courant

.. le répertoire père (supérieur)

Alors, si vous êtres sur /home/frank et souhaite indiquer le chemin relatif vers /home/condron/source/xntp :

../condron/source/xntp

27©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Structure Standard des Répertoires UNIX/Linux

/ la racine de tous les répertoires

/bin outils et programmes essentiels (les « binaries »).

/dev fchiers qui représentent les diférents dispositifs du système. Par exeploe, le fchier `/dev/cdrom' représente l'unité de CD−ROM.

/etc fchiers de confguration, scripts de lancement, etc.

/home le répertoire « maison » pour tous les comptes utilisateur

/lib bibliothèques essentielles utilisées par les outils dans `/bin'.

/proc fchiers avec des informations sur les processus courants du système

/root le répertoire home du super-utilisateur (administrateur), appelé root.

28©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Structure Standard des Répertoires UNIX/Linux

/sbin outils essentiels pour l'administrateur du système (system binaries)

/tmp fchiers temporaires

/usr répertoires avec des outils et applications des utilisateurs

/var Répertoire avec des données volatiles (logs, fles d'impression, etc).

29©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Répertoires, Fichiers et Inodes

Chaque répertoire ou fchier est indiqué dans son répertoire père

Seul le répertoire racine est sont propre père

Un répertoire est un fchier qui contient un tableau indiquant les fchiers qu'il contient, leurs noms et leurs numéros inode

L'information sur tous les fchiers et répertoires est stockée dans un INODE TABLE

Un Inode (Index Nodes) est un registre dans un tableau qui contient des informations sur un fchier (metadata) telles que les permissions, UID, GID, taille, timestamps, pointeurs vers les blocks de données sur le disque, etc.

30©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Utilisateurs, Groupes et Permissions d'Accès

UNIX/LINUX implemente le concept d'utilisateur et de groupes associés aux fchiers

Le système détermine si un utilisateur ou groupe ont des droits d'accès à un fchier ou répertoire selon les permissions attribués à ces fchiers

Le super-utilisateur garde néanmoins le droit d'accès sur la totalité des fchiers et répertoires.

31©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Permissions d'Accès

Chaque fchier, répertoire ou application contient trois types de permission :

r — Indique le droit de lecture sur le fchier (Read).

w — Indique le droit d'écriture sur le fchier (Write).

x — Indique le droit d'exécution sur le fchier (eXecute).

Chacune de ces trois permissions sont attribuées à trois catégories diférentes d'utilisateurs :

User – Le propriétaire du fchier ou de l'application.

Group – Les membres du groupe qui détient le fchier ou l'application.

On peut aussi dire « les autres membres du groupe du propriétaire »

Others – Tous les autres utilisateurs ayant accès au système.

32©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Permissions d'Accès

La liste des permissions peut être facilement accédée à partir de la commande de listage longue de fchiers ls -l.

Par exemple, si l'utilisateur juan crée un exécutable nommé test ,la sortie de la commande ls -l test serait similaire à :

-rwxrwxr-x 1 juan student 0 Sep 26 12:25 test

Cette ligne indique que le fchier est disponible pour lecture, écriture et exécution par le propriétaire (juan) aussi que les membres du groupe student.

Le fchier est aussi lisible et exécutable par tous les autres utilisateurs, qui n'ont pas le droit d'écrire dessus.

33©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Permissions d'Accès

-rwxrwxr-x 1 juan student 0 Sep 26 12:25 test

Les permissions pour ce fchier sont indiquées au début de la ligne, initiant par rwx.

Le premier signe indique un fchier (-), un répertoire (d) ou autres

Les trois signes suivants indiquent les permission du propriétaire.

Les trois signes suivants indiquent les permissions du groupe.

Les trois derniers signes indiquent les permissions des autres.

34©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Modifcation des droit d'accès

Le propriétaire d'un fchier ou répertoire peut être changé avec

chown <proprietaire> <fchier>

Le groupe propriétaire d'un fchier peut être modifé avec

chgrp <groupe> <fchier>

Les permissions d'un fchier peuvent être modifées avec la commande

chmod -R ### <fchier ou répertoire>

L'option -R permet de changer récursivement la permission de tous les fchiers sous un répertoire.

35©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Access Permission of File/Directory

Les permissions ont des valeurs r=4 w=2 et x=1

0 = Rien1 = Exécution2 = Écriture3 = Exécution & Écriture  (2 + 1)4 = Lecture5 = Exécution & Lecture (4 + 1)6 = Lecture & Écriture (4 + 2)7 = Exécution & Lecture & Écriture (4 + 2 + 1)

Ex : chmod 751 fchier

On peut aussi attribuer des permissions

chmod u=rwx,g=rx,o=x fchier

36©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Lister le Contenu d'un Répertoire

La commande ls est utilisée pour lister le contenu d'un répertoire.

L'utilisation de paramètres permet d'afcher des informations supplémentaires :

$ ls –l listage longue (avec permission, propriétaire, groupe)

$ ls –a listage des tous les fchiers (même occultes)

$ ls –t listage des dates de modifcation des fchiers

$ ls –u listage des dates de dernière accès

$ ls –R listage récursive (entre dans les répertoires)

$ ls –S listage ordonné par taille des fchiers

Les paramètres peuvent être combinés

Ex : ls -lR, ls -la

37©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Se Déplacer dans les Répertoires

cd try_it « entre » dans le répertoire try_it (qui devient le répertoire courant)

pwd afche le chemin absolu du répertoire courant (/home/smith/try_it)

cd .. retourne au répertoire supérieur

cd /home se déplacer vers le repértoire /home (en utilisant le chemin absolu)

cd ~revient à votre répertoire home (~ est un alias pour /home/votrenom)

cd ~/sourceentre dans le répertoire source dans votre espace home

38©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Opérations sur le Répertoire

La commande mkdir my_dir

Créée un nouveau répertoire my_dir (le chemin donné est relatif) comme sous-répertoire du répertoire courant.

La commande rmdir your_dir

Supprime le répertoire your_dir (uniquement si celui est entièrement vide).

39©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Opérations sur les fchiers : Copy / Move

La commande

cp fle_1 fle_2

Copie le contenu de fle_1 vers fle_2. Les deux fchiers doivent être dans le même répertoire, sinon l'utilisation de chemins est nécessaire. Si fle_2 n'existe pas il sera crée; si fle_2 existe déjà, il sera remplacé

La commande

mv fle_1 fle_2

Transmet le contenu de fle_1 vers fle_2

Le fchier fle_1 est supprimé du disque.

Utilisé pour renommer un fchier

La commande

mv fle_1 /home/chemin

Déplace le fchier fle_1 ver le répertoire /home/chemin

40©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La commande

rm fle_a

Supprime le fchier fle_a du système

Si vous utilisez des jokers (*)

rm h*c

Tous les fchiers commençant par h et fnissant par c seront supprimés du répertoire courant

Si vous utilisez uniquement le joker

rm *

tous les fchiers du répertoire courant seront supprimés

Suppression d'un fchier

41©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Installation de Linux

42©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le choix d'une distribution LINUX

Après avoir choisi votre distribution, vous avez une multitude de méthodes pour l'installation

CD/DVD – téléchargé et gravé ou acheté ou reçu gratuitement

FTP – requiert un disque de démarrage

Serveur PXE (boot par le réseau)

Vous devez réserver une (plusieurs) partitions de disque pour votre installation

Si vous voulez faire chez vous mais vous n'avez jamais essayé Linux, il y a aussi la possibilité d'installer Linux dans une machine virtuelle (genre VMWare)

Ceci évite de bousiller votre disque si vous n'êtes pas trop expérimenté

43©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

C'est quoi une Partition ?

Partitionner un disque signife le diviser en plusieurs unités logiques.

Une partition est une division contigüe du disque qui est considérée comme un disque indépendant.

Les disques durs contiennent une table de partition qui regroupe les informations relatives aux partitions existantes.

44©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Pourquoi faire plusieurs partitions dans un disque ?

Possibilité d'installer diférents systèmes d'exploitation (ou versions) dans un même disque

L'utilisation de plusieurs partitions réduit aussi le risque d'une défaillance du système si la partition devient pleine.

Un utilisateur ou processus hors de contrôle peut consommer tout le space, ce qui empêche le système de fonctionner correctement. En faisant une séparation du space, on garantit une marge pour les processus du système.

Encapsulation des données. Une corruption du système de fchiers reste local à une partition, ce qui peut sauvegarder une partie de vos données en cas d'accident.

Lors de l'installation de Linux, vous avez la possibilité de partitionner le disque

Soit avec un outil graphique, soit avec l'outil fdisk

45©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

L'utilitaire FDISK

root@ttyp0[knoppix]# fdisk -l /dev/hda

Disk /dev/hda: 120.0 GB, 120034123776 bytes

255 heads, 63 sectors/track, 14593 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/hda1 * 1 2611 20972826 7 HPFS/NTFS

/dev/hda2 2612 2624 104422+ 83 Linux

/dev/hda3 2625 14593 96140992+ 5 Extended

/dev/hda5 2625 2689 522081 82 Linux swap

/dev/hda6 2690 5180 20008926 83 Linux

/dev/hda7 5181 6426 10008463+ 83 Linux

/dev/hda8 6427 6676 2008093+ b W95 FAT32

46©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

L'utilitaire GParted

47©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Types de Filesystem

ext2 — Ancien système de fchiers de Linux.

ext3 — Basé sur le format ext2, ce système a l'avantage de faire la journalisation des modifcations, ce qui permet de récupérer plus rapidement les données lors d'une défaillance

swap — partition utilisée pour la pagination de mémoire.

vfat — Le système de fchiers des anciens windows (jusqu'à Windows98) et certaines clés usb actuelles.

NTFS – Système utilisé par les Windows plus récents, requiert parfois l'installation de modules pour permettre l'écriture

ReiserFS – un flesystem en arbre-B qui est spécialement performant pour les systèmes avec un grand nombre de petits fchiers.

XFS – système de fchiers optimisé pour la performance. XFS utilise intensivement le cache en RAM,ce qui peut causer des pertes en cas de panne de courant.

48©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

RAID logiciel et LVM

Software RAID (Redundant Array of Independent Disk)

RAID 0 (Striping)

RAID 1 (Mirroring)

RAID 5 (Striping with Parity)

LVM (Logical Volume Manager)

Permet de combiner plusieurs partitions/disques en une seule unité logique. Par exemple, cela permet d'augment la taille de la partition /home par l'adjonction d'autres partitions sur un deuxième disque au lieu de recréer les partitions avec de tailles plus grandes

49©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Boot Loader

Afn de charger un Système d'Exploitation, la BIOS lit des instructions dans le premier secteur du disque.

Dans ce premier secteur réside le master boot record (MBR), et le boot loader normalement est installé dans ce secteur.

Selon le boot loader, des fchiers supplémentaires sont chargés à partir d'une partition dans le disque dur.

Le boot loader peut vous donner la possibilité de choisir entre les systèmes d'exploitation installés dans le disque.

Une fois que le boot loader démarre le système, celui-là reste inutilisé jusqu'au prochain boot.

Exemples de boot loader

LILO – le plus ancien, capacités limitées (menu texte seulement, etc)

GRUB – boot loader utilisé actuellement

50©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Commandes Linux

51©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Les commandes UNIX

Une commande est un programme qui interagit avec le noyau afn d'efectuer des actions appelées par l'utilisateur.

Une commande peut être : interne au shell (buil-in); un script shell exécutable, ou un code compilé.

Le shell est l'interpréteur de commandes. L'utilisateur interagit avec le noyau à travers le shell, soit directement par ligne de commande soit par le biais d'interfaces graphiques. Il est courant d'écrire des scripts (commandes en mode texte) afn d'automatiser certaines actions sur le shell.

52©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le Shell UNIX

Le shell fait la passerelle entre le système d'exploitation et l'utilisateur (shell = coquille en anglais). Il fait le rôle d'interpréteur des commandes.

Les commandes du terminal sont envoyés au shell, qui les traduit en actions sur le système. Le shell UNIX a des fonctions similaires au command.com (invité de commande) sur les systèmes DOS/Windows.

Dès que vous vous connectez, un shell vous êtes attribué par défaut.

Au démarrage de votre session, le shell initialise les variables d'environnement, les alias, le path, et aussi exécute des actions préalablement enregistrées.

53©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le Shell UNIX

D'habitude, chaque machine UNIX est dotée d'un shell compatible Bourne shell.

Le shell Bourne original est disponible sur /bin/sh.

Dans la plupart des Linux actuels ce fchier est un lien vers /bin/bash

L'invité de commande Bourne shell est identifé par un $ (ou # si vous êtes logué en tant que root).

Un autre shell populaire est le C Shell (sur les machines Solaris, par exemple). L'invité de commande C shell est identifé par un %.

54©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le Shell UNIX

D'autres shells existent. La plupart de ces shells sont des extensions de sh ou csh, avec des options avancées telles que l'auto complétion des commandes, des interfaces d'édition/navigation, etc.

On trouve aussi des shells « éconômes », conçus avec un minimum de commandes afn d'occuper très peu de place en mémoire (comme dans le cas des systèmes embarqués).

Parmi les shells les plus connus on trouve le Korn shell (ksh), le Bourne Again Shell (bash) - tous les deux basés sur le sh -, le T-C shell (tcsh) et le extended C shell (cshe), basés sur le csh.

55©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Programmation Shell

Vous pouvez écrire des programmes shell à partir de fchiers texte (scripts) qui contiennent des séries de commandes shell.

La première ligne d'un script devrait toujours commencer par #!, afn d'indiquer au shell que le script est directement exécutable.

Dans la même ligne, on indique le shell dont on veut se servir afn d'exécuter les commandes. Ainsi, pour utiliser un Bourne shell, la première ligne d'un script doit être

#! /bin/sh

56©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Programmation Shell

La première ligne du script est suivie des commandes

Vous pouvez commenter des lignes en plaçant une # au début de la ligne (le #! est un cas exceptionnel).

#!/bin/bashcd /tmp# creation d'un repertoire tmkdir t

Une fois crée votre script, vous devez encore lui donner les permission d'exécution avec chmod, par exemple :

$ chmod +x shell_script

57©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Commandes LINUX

Gestion du système de fchiers

Gestion et visualisation de fchiers

Gestion des processus

Administration du réseau

Administration du système

Gestion des utilisateurs

Impression

Préparation de documents

Programmation

Autres

58©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Structure d'une commande

Commande <Options> <Arguments>

Dans une même ligne, nous pouvons plusieurs commandes, separées par des ;

Celles-ci seront exécutées l'une après l'autre, dans l'ordre

59©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Comment obtenir de l'aide sur les commandes

La plupart des commandes est associée à une aide en ligne. La commande man permet d'obtenir la description de la commande et de ses options

man ls

Il est aussi possible d'utiliser le GNU Info System (commande info)

Des commandes telles que whatis et apropos permettent de chercher des références sur une commande

Plusieurs outils ont des option de type long, dont −−help, ou −−usage qui donnent des informations sur les options et les arguments

whoami --help

60©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Pipes (tubes)

L'une des « inventions » de UNIX fut le concept des tubes (pipes), où nous pouvons redirectionner la sortie d'une commande vers une autre commande.

$ who | wc −l

Cette combinaison de commandes, par exemple, prends la sortie de la commande who (la liste d'utilisateurs connectés) et la passe à la comande wc (word count), qui grâce à l'option -l (lignes) indique combien d'utilisateurs sont connectés en ce moment

61©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion de Fichiers

Gestion de fchiers et répertoires

cd <chemin> Modife le répertoire courant. Si aucun paramètre est donné, retourne au répertoire home de l'utilisateur

chmod Modife les permissions des fchiers.

chmod 751 myfle : attribue les permissions rwx au propriétaire, rx au groupe et x aux autres

chmod go=+r myfle : Donne la permission de lecture au groupe et aux autres (u-user, g-group, o-other, +donne permission,-supprime, r-read, w-write, x-exe)

chmod +s myfle – Modife le bit Setuid bit de manière à ce que l'application soit exécutée avec toutes les permissions du propriétaire.

62©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion de fchiers

En efet, il existent trois type de permission spéciales :

setuid — utilisée seulement par les applications, indique que l'application sera exécutée avec les mêmes permissions du propriétaire au lieu de l'utilisateur courant. Est indiquée par un s à la place du x du propriétaire. Si le propriétaire n'a pas le droit d'exécution, on voit la lettre S majuscule.

setgid — fonction similaire à setuid, le bit setgid indique que les permissions du groupe seront utilisées (à la place des permissions de l'utilisateur courant).

sticky bit — normalment utilisé pour les répertoires, indique qu'un fchier crée dans ce répertoire ne pourra être supprimé que par son propriétaire. La lettre t remplace le x dans toutes les catégories.

Utile pour permettre aux membres du groupe d'écrire sur le fchier mais jamais l'efacer

63©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion de fchiers

chown Modife le propriétaire d'un fchier.

chown <owner1> <flename> : owner1 devient le propriétaire du fchier.

chgrp Modife le groupe d'un fchier.

chgrp <group1> <flename> : le fchier appartient désormais à group1.

cp Copie un fchier d'un endroit à l'autre.

cp fle1 fle2 : Copie le fchier fle1 vers fle2

cp –R dir1 dir2 : Copie le contenu de dir1 vers le répertoire dir2

md5sum Afche la signature (checksum) MD5 d'un fchier

Utile pour vérifer l'intégrité d'un fchier téléchargé

64©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion de fchiers

ls Liste le contenu d'un répertoire

Ex: ls, ls –l , ls –al, ls –ld, ls –R

| more permet de faire un déflement page par page

mkdir Crée un répertoire.

mkdir <directory name> : crée un répertoire

mkdir –p /www/chache/var/log crée tous les répertoires à partir de /www

mv Déplace ou renomme un fchier ou répertoire

mv <source> <destination>

65©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion de fchiers

fnd Recherche des fchiers

fnd <start directory> -name <fle name> -print

fnd /home –name readme -print

Recherche un fchier readme à l'intérieur de /home et afche son chemin

locate Recherche un fchier en utilisant une base de données slocate.

locate –u crée une base de données

locate <fle/directory> recherche le fchier ou répertoire

66©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion de fchiers

pwd Afche le chemin absolu du répertoire courant.

rm supprime des fchiers (l'option –rf est utilisée pour supprimer tout un répertoire, même plein)

rmdir Supprime un répertoire. Celui-ci doit être vide.

touch Met à jour le flestamp (date de création/modifcation) d'un fchier. Si le fchier n'existe pas, un nouveau sera crée (touch <flename>)

whereis Indique le chemin absolu d'une commande/programme, et aussi sa page man si existante

whereis <program/command>

which Indique le chemin absolu d'une commande

which <command>

67©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion de fchiers

Visualisation et édition

emacs Éditeur « full screen », puissant mais parfois lourd.

Pico, nano Editeurs simple.

vi Editeur de texte puissant mais pas très simple à utiliser. Toujours installé dans les Linux.

gedit Éditeur de texte graphique

tail Afche les 10 dernières lignes d'un fchier.

tail <flename> = tail -10 <flename>

Tail -100 <flename> - afche les 100 dernières lignes

head Afche les 10 premières lignes d'un fchier

head <flename>

head -50 <flename> - afche les 50 premières lignes

68©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La guerre VI vs EMACS

69©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion de fchiers

Compression, sauvegarde et restauration

compress / uncompress Compression (dans le format .Z)

gzip / gunzip – compression vers le format .gz

zip / unzip – compression vers le format .zip (comme sous windows)

bzip2 / bunzip2 – compression vers le format bzip2 (le plus efcace)

Sauf zip, les autres font d'habitude la compression d'un seul fchier

tar Commande pour archiver (regrouper) des fchiers et répertoires

Possibilité de compression intégrée avec compress (Z), gzip (z) et bzip2 (j)

tar -cvzf <destination> <fles/directories> - regroupe et compresse les fchiers avec le format gzip.

tar –xvzf <compressed fle> - extrait les fchiers

tar –tvzf <compressed fle> - liste le contenu uniquement

70©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion de fchiers

cat afche le contenu d'un fchier

cat flename

Très utilisé avec les tubes (ex: cat /etc/passwd | grep root)

cmp Compare deux fchiers.

dif Afche les diférences entre deux fchiers.

dif fle1 fle2

cut Permet de découper des données dans une ligne

cat /etc/passwd | cut -d ':' -f 1 - afche le nom des utilisateurs

echo Afche une ligne de texte

71©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion des fchiers

grep afche tous les fchiers/lignes avec une patron donné

grep pattern <flename/directorypath>

ls –l |grep sidbi : identife toutes les lignes avec le mot sidbi

grep " R " : recherche la lettre R entourée de spaces

sleep rajoute une pause pendant un temps donné

sort permet de trier une liste

uniq supprime des entrées répétées dans une liste ordonnée

wc compte le nombre de lignes (-l), mots (-w) ou lettres (-c) dans une entrée.

72©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion du Système de Fichiers

badblocks Commande pour rechercher des badblocks dans un dispositif

badblocks hda

df Liste l'espace disponible en un ou plusieurs systèmes de fchiers

du Permet de calculer la taille des données stockées dans un répertoire

fsck Vérifcation du système de fchiers. D'habitude lancé au démarrage d'une machine, ne doit pas être utilisé sur un système de fchiers monté

73©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion du Système de Fichiers

sync Synchronise les données en disque et ceux en mémoire. Sync écrit sur le disque tous les données encore en mémoire cache.

mount Utilisé pour monter (grefer) un système de fchiers sur l'arbre de fchiers Unix

umount Permet de démonter (de-grefer) un système de fchiers (ex : une clé USB)

Il est important de faire umount car des données peuvent être encore en cache

Identique au bouton « enlever le dispositif » sous Windows

74©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Commandes d'Administration du Réseau

arp Ce programme afche et permet de modifer le cache ARP.

dig Envoie des requêtes de nom de domaine aux serveurs DNS – util pour des test ou du débogage.

fnger Afche des informations sur les utilisateurs du système.

ftp Permet le transfert de documents/fchiers.

ifconfg Afche les interfaces réseau, leurs confgurations et aussi permet de modifer les confgurations.

ifconfg eth0 address 172.31.2.2 netmask 255.255.0.0

ifdown Désactive une interface réseau. Ex: ifdown eth0

ifup Permet d'activer une interface réseau. Ex: ifup eth0

Sous ubuntu : le processus NetworkManager est activé par défaut, il se superpose généralement aux confgurations « faites à la main »

75©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Commandes d'Administration du Réseau

netstat Afche des informations sur les connexions réseaux en cours (port, origine/destination, type de protocole, etc.). L'option "netstar -r" afche la table de routage

nslookup Outil similaire à dig, maintenant obsolète.

Ping Permet de tester une connexion à l'aide d'échos en ICMP

Traceroute/tracepath Afchent le chemin suivi par des paquets IP

Tcpdump Permet de surveiller/capturer les paquets qui transitent sur une machine

76©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Commandes d'Administration du Réseau

route Outil pour manipuler la table de routage (route add, route del)

telnet Permet d'établir une connexion terminal distante à l'aide du protocole TELNET

telnet <remote system name/ip>

Encore largement utilisé pour se connecter à l'interface d'administration du matériel réseau (routeurs, switches)

ssh Version sécurisée de telnet.

ssh <remote system name/ip>

sftp / scp – outils pour le transfert de données à l'aide du protocole SSH

77©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Commandes d'Administration du Réseau

Les fchiers clé

/etc/hostname – le nom de votre machine

/etc/resolv.conf – l'adresse IP des serveurs DNS

/etc/hosts – fchier avec des noms « locaux » (similaire à DNS)

répertoire /etc/network – fchiers de confguration statique du réseau

78©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Administration du Système

Gestion des niveaux d'exécution du système

exit quitte le shell.

halt Arrête le système.

init Permet de contrôler le niveau d'exécution. (init 3)

logout Déconnecte l'utilisateur.

powerof Arrête le système.

reboot Réinitialise le système.

runlevel Afche le runlevel courant (et le précédent).

79©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Administration du Système

shutdown Permet d'étendre la machine ou la rebooter. Shutdown permet aussi de programmer l'arrêt et d'envoyer des messages aux utilisateurs connectés.

# shutdown -h +10 'Un nouveau disque sera installe. Nous retournons d'ici une heure.‘

80©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Administration du Système

passwd Permet de changer le mot de passe d'un utilisateur

passwd

passwd <username>

quota Afche le quota disponible pour l'utilisateur, ainsi que son utilisation courante

quota, quota <username>

quotaof Désactive le contrôle des quotas

quotaon Active le contrôle des qutas.

quotacheck Vérife le flesystem et met à jour le suivi des quotas.

edquota Permet d'éditer les paramètres de quota d'un utilisateur ou groupe.

edquota <username>

81©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Administration du Système

su permet de se connecter comme un autre utilisateur (su -)

useradd rajoute ou modife les informations d'un compte utilisateur.

useradd –g <group> -s <shell> -c <comment> –d <home directory> <username>

userdel supprime un compte utilisateur et tous ses fchiers.

userdel <user name>

usermod Modife les caractéristiques d'un compte.

users Afche le nom des utilisateurs connectés

wall envoie un message aux terminaux de tous les utilisateurs

wall “text message”

who Afche les utilisateurs connectés et dans quel terminal

whoami Afche l'identifant de l'utilisateur courant

82©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Un mot sur la commande sudo

L'utilisateur root est trop puissant pour être utilisé comme un compte

La commande su permet de devenir root mais ce n'est pas une solution efcace

Parfois on « oublie » de se déconnecter

Le mot de passe du root est connu par l'utilisateur

Il a tous les pouvoirs du root

La commande sudo permet d'accorder aux utilisateurs des droits sur les appels individuels. C'est leur propre mot de passe qui est demandé

sudo ifconfgpassword: *******

Les utilisateurs (et leurs droits) sont indiqués dans le fchier /etc/sudoers

83©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Administration du Système

L'heure du système

cal afche un calendrier

cal

cal 2009

date Afche la date et l'heure du système (avec des options de format de sortie). date permet aussi de modifer la date du système

date MMDDhhmm[[CC]YY][.ss])

hwclock Afche ou modife la date dans la CMOS de l'ordinateur

uptime Indique combien de temps la machine est allumée

84©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion des processus

Gestion de processus sous Linux

ps Afche le status des processus

PPID- ID du processus père ; PID- ID du processus

ps ax |more liste tous les processus, daemons inclus

ps –ef | grep <process> recherche un processus spécifque

pstree Afche l'arbre des processus courants

top Outil qui permet une vue dynamique de l'état des processus (activité, consommation CPU, mémoire).

Lsof liste les fchiers ouverts pour chaque processus

85©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Gestion des processus

Gestion de processus sous Linux

<commande/programme> & lance le programme comme tâche de fond (ne bloque pas le terminal)

Ctrl-z permet de suspendre un processus actif (dans le terminal)

bg relance en tâche de fond un processus suspendu

fg relance dans le terminal un processus suspendu

kill permet de « tuer » ou d'arrêter un processus

kill 34 – arrêt ou suspend le processus numéro 34.

kill -9 <pid> - force l'arrêt d'un processus

killall permet de tuer un processus en appelant son nom (au lieu du PID)

pid Afche le PID du processus courant

86©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La gestion des processusLes programmes sont exécutés par le processeur à tour de rôle. Le partage n'est pas équitable, mais tient compte des priorités de chacun.

Valeur numérique de chaque processus : nice (sa «gentillesse»)

0 : normal

20 : priorité minimale

-20 : priorité maximale. Seul le root peut utiliser valeur négative.

Processus critiques à -10 (X, noyau). Les autres doivent être au dessus.

nice(1) : lance un programme à une autre priorité nice [-n valeur] [commande [arguments ...]]

renice(1) : modifie la valeur après le lancement renice priorité [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

87©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Les tâches d'un administrateur de système Linux

Défnir le Run Level

Démarrer/gérer/arrêter les services du système

Gestion d'utilisateurs

Confguration du réseau

Planifcation de tâches

Gestion du Quota

Sauvegardes et Restauration

Installation/suppression de logiciels/packages

Gestion d'imprimantes

Surveillance du système (générale)

Surveillance de services spécifques

DNS, DHCP, Web, NIS, NPT, Proxy etc.

88©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Les Runlevels

Linux défnit les runlevels suivants :

0 - halt (arrêt du système, ne JAMAIS indiquer comme initdefault)

1 – Mode mono-utilisateur

2 - Multi-utilisateur, sans réseau (équivalent à 3, sans réseau)

3 – Multi-utilisateur en mode texte

4 – non utilisé

5 – Mode Graphique

6 - reboot (ne JAMAIS indiquer comme initdefault)

89©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Les Runlevels

Le runlevel par défaut est confguré dans le fchier /etc/inittab.

Sauf avec ubuntu, qui adopte un autre système sous /etc/event.d/

id:5:initdefault:

Généralement Linux opère avec les runlevels 3 ou 5.

Des outils graphiques (menu Système) permettent de modifer le runlevel sans éditer directement le fchier /etc/inittab

90©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le démarrage de Linuxinit active les services

A chaque runlevel correspond un répertoire /etc/rc.d/rcX.d ou X est le numéro du runlevel en question. Ces répertoires contiennent des liens symboliques de la forme

<lettre><nombre><nom>

Ces liens pointent vers des scripts contenus dans /etc/init.d/ qui permettent de lancer ou d'arrêter des services.

91©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le démarrage de Linuxinit active les services

Ces scripts commencent par la lettre S (start) ou K (kill) et le nombre varie entre 00 et 99. La lettre indique si le service doit être démarré ou arrêté et le nombre détermine l'ordre des actions.

Exemple : /etc/rc0.d/K20ssh -> /etc/init.d/ssh

Lors de l'arrêt, lorsque toutes les actions <20 sont faites, init appelle :

/etc/init.d/ssh stop

92©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le démarrage de Linuxinit vers utilisateurs

Lorsque toutes les initialisations sont faites, il faut permettre à l'utilisateur de se connecter. Ceci est confguré dans /etc/inittab :

1:2345:respawn:/sbin/mingetty tty1

Chaque ligne indique les programmes qui doivent être lancés sur chacune des consoles virtuelles. Le rôle du programme mingetty est d'afcher une invite (d'après /etc/issue) :

Debian GNU/Linux 3.1 papagos tty0

login :

93©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Le démarrage de Linuxinit vers utilisateurs

Dès que l'utilisateur entre son login et mot de passe, le programme mingetty exécute la commande /bin/login chargé d'authentifer l'utilisateur et le connecter (afcher le contenu de /etc/motd, vérife la mailbox, puis lancer un shell).

Lorsque l'utilisateur termine sa connexion, init relancera un nouveau processus mingetty sur la console virtuelle correspondante

94©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Les Services Linux

Il y a bien plus d'une centaine de services Linux. Parmi eux, les plus utilisés sont :

apmd : gestion d'énergie (APM)

acpid : gestion d'énergie (ACPI)

autofs : service Automount (pour NFS, notamment)

crond : planifcateur de tâches périodiques

cups : Common Unix Printing System

dhcpd : Le serveur DHCP

gpm : gestion de la souris

apache2 : Serveur Web Apache

95©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Les Services Linux

iptables : pare-feu

mysqld : serveur MySQL

bind9 : serveur DNS

network : services réseau de base (démarrage, etc)

nfs : Network File Share

ntpd : serveur NTP (Network Time Protocol)

portmap : support à des appels RPC (Remote Procedure Call)

postgresql : serveur de base de données Postgresql

96©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Les Services Linux

Sendmail / postfx : serveurs de Mail

smb : services de partage de fchiers Samba

snmpd : Simple Network Management Protocol

squid : Serveur proxy Squid

sshd : serveur SSH et SFTP

syslog : service de log du système

xinetd : wrapper pour les services tels que telnet, ftp, talk, tftp etc.

ypbind : serveur NIS

97©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La gestion des utilisateursLe fchier /etc/passwd est la base de données sur les utilisateurs.

Exemple de ligne :

mquinson:DcoJmNQ:1003:1003:Martin,,,:/home/mquinson:/bin/bash

Suite de champs séparés par des ':'

login de l'utilisateur

mot de passe crypté. Il peut être remplacé par x et déporté dans /etc/shadow pour le cacher (seul root peut lire).

uid : numéro d'utilisateur utilisé dans les inodes, entre autres. l'uid du super-utilisateur est 0

gid : numéro de groupe principal.

commentaire : en général nom et prénom

répertoire personnel

commande de connexion : shell à lancer lors de la connexion

98©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La gestion des utilisateurs

Fichier /etc/group est la base de données sur les groupes et les utilisateurs qui appartiennent à ces groupes

Exemple de ligne :

audio:DcoJmNQ:29:plateau,mquinson

Suite de champs séparés par des ':'

Nom du groupe

Mot de passe crypté : demandé aux utilisateurs n'étant pas dans le groupe voulant s'y connecter avec newgrp(1) ou sg(1)

Liste des utilisateurs du groupe (connexion sans mot de passe)

99©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La gestion des utilisateurs/etc/passwd et /etc/group sont lisibles par tous les utilisateurs

risque d'attaque des mots de passe en force brute

solution : cacher les mots de passe dans /etc/shadow

mquinson:$1$wf1guEva$6hednbGEedlNqCuqKVwQN1:12663:0:99999:7:::

login

mot de passe crypté

dernière modifcation de mot de passe (jours depuis 1/1/70)

jours à attendre avant de pouvoir changer le mot de passe

jours avant avertissement de fn de validité du mdp

jours entre avertissement et désactivation

date de désactivation

champs réservés

100©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La gestion des utilisateursLa commande passwd :

Rôle pour l'utilisateur : créer ou modifer son mot de passe

Rôles pour l'administrateur :

modifer le mot de passe d'un utilisateur

passwd nom

supprimer le mot de passe

passwd -d nom

verrouiller le compte d'un utilisateur

passwd -l nom

déverrouiller le compte d'un utilisateur

passwd -u nom

101©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La configuration du réseauchargement des pilotes

Nommage des interfaces :

eth0 : première carte ethernet, eth1 : deuxième

lo : boucle locale; ppp0 : modem ; irlan0 : infrarouge

Pour savoir si les pilotes nécessaires sont chargés :

ifconfg eth0

Si message « Périphérique non trouvé », il faut alors charger le pilote manuellement.

Obtenir la liste de périphériques réseau:

ls /lib/modules/$(uname -r)/net

Charger le module :

modprobe pilote

102©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La configuration du réseaumanuelle

ifconfig(8) : affiche (et modifie) la configuration réseau actuelle

/sbin/ifconfig /sbin/ifconfig eth0 192.168.0.3 netmask 255.255.255.0

route(8) : affiche (et modifie) la table de routage

/sbin/route -nTable de routage IP du noyauDestination Passerelle Genmask Indic Metric Ref Use Iface192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth10.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth1

/sbin/route add default gw 192.168.0.1

103©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La configuration du réseauà la fedora/mandriva

Le fichier /etc/sysconfig/network contient les variables :

NETWORKING : initialisée à "yes" pour valider l'utilisation du réseau FORWARD_IPV4 : initialisée à "no" pour empêcher le transfert automatique des paquets HOSTNAME : contient le nom pleinement qualifié (avec le domaine) de la machine GATEWAY : adresse IP de la passerelle DOMAINNAME : le domaine de la machine

Ce fichier est utilisé dans les scripts d'initialisation pour positionner les variables d'environnement.

104©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La configuration du réseauà la fedora/mandrivaPour chaque interface, un script /etc/network-scripts/ifcfg-nomInterface Il contient les variables suivantes :

DEVICE : nom du périphérique ONBOOT : initialisée à "yes" pour valider l'interface au démarrage BROADCAST : contient l'adresse IP de diffusion NETWORK : contient l'adresse IP du réseau NETMASK : contient le masque du réseau IPADDR : contient l'adresse IP de l'interface BOOTPROTO : peut prendre la valeur STATIC ou DHCP (pour une configuration en tant que client DHCP)

Initialisation et prise en compte des changements : /etc/init.d/network restart

105©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La configuration du réseauà la debian/ubuntu

Pour chaque interface, un morceau de /etc/network/interfaces

auto loiface lo inet loopback iface eth2 inet staticiface eth0 inet dhcp address 129.88.103.44iface eth1 inet dhcp netmask 255.255.0.0 wireless_essid IMAG-visiteurs network 129.88.0.0 wireless_ssid IMAG-visiteurs broadcast 129.88.103.255 wireless_key s:devinez gateway 129.88.103.1

Initialisation : /etc/init.d/network restart

Prise en compte des changements : ifdown interface ; ifup interface

106©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La configuration du réseauà la slackware (et BSD)

Appels d'ifconfig dans un script de démarrage

/etc/rc.d/rc.inet1 qui utilise /etc/rc.d/rc.inet1.conf

107©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

La configuration du réseaurésolution de nomsContenu de /etc/resolv.conf :

search mondomaine.comnameserver 192.168.0.1

Ce contenu peut être indiqué manuellement ou fixé automatiquement par dhcp

108©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Automatisation de tâchesDeux types de tâches automatiques :

retardées (delayed)

répétitives

at(1) : programme une exécution retardée

at 10am Jul 31 ; at 1am tomorrow ; at now ; at 4pm

(ouvre un éditeur interactif)

atq, at -l : liste les exécutions prévues, en annule une

atrm : annule une exécution prévue

109©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Automatisation de tâches

crontab(1) : programme une tâche répétitiveUne table par utilisateur (édition: crontab -e) dans

/var/spool/cron

Le démon crond se charge d'appliquer ces configurations.

PATH=/usr/bin:/bin:/home/mquinson/SCRIPTS

# Minutes Heures Jours du mois Mois Jours de la semaine Commande

2 0,4,8,12,16,20 * * * p=`pidof sauvegarde`; [ -n "$p" ] || sauvegarde

49 10 * * 1 linux-counter-machine-update -m

# Le caractère * permet d'indiquer le plus grand intervalle possible.

110©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Automatisation de tâches

Certaines distributions comportent les répertoires :

/etc/cron.hourly /etc/cron.daily /etc/cron.monthly

/etc/crontab est alors configuré pour exécuter les scripts se trouvant dans ces répertoires respectivement toutes les heures, tous les jours et tous les mois.

111©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Installation et Suppression de Logiciels

Télécharger un exécutable binaire

Télécharger le code source et le compiler

Utiliser des gestionnaires de paquets

fedora/redhat – rpm, yum

Yum install <paquet>

debian/linux – apt, aptitude

apt-get install <paquet>

Utiliser une interface graphique

synaptic

112©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Confguration de Quotas de Disque

Pour implémenter un système de quotas, vous devez :

Activer le système de quotas par flesystem en modifant /etc/fstab

Re-monter le flesystem

Créer un fchier de quota et générer la table d'utilisation du disque

Attribuer des quotas

113©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Confguration de Quotas de Disque

Activation des Quotas : Editer fstab

LABEL=/1 / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

LABEL=/users /users ext3 exec,dev,suid,rw,usrquota 1 2

LABEL=/var /var ext3 defaults 1 2

LABEL=SWAP-sda5 swap swap defaults 0 0

114©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Confguration de Quotas de Disque

Re-monter les flesystems : démonter et remonter la partition visée umount /users;mount /users

Création de la base de données des Quotas : Utiliser quotacheck pour créer un fchier quota.user

quotacheck -cu /users

Attribuer des quotas aux utilisateurs :utiliser la commande edquota edquota <username>

Disk quotas for user web_cc (uid 524):

Filesystem blocks soft hard inodes soft hard

/dev/sdb1 988612 1024000 1075200 7862 0 0

115©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Surveillance du Système

Vérifez régulièrement l'utilisation du disque (df)

Regardez aussi l'utilisation de la CPU et de la Mémoire (top)

Surveillez les processus/services (ps, pgrep)

Identifez des messages d'alerte dans les logs du système

Commande dmesg

/var/log/messages

Surveillez les diférents services (serveur Web, etc)

Apache - /var/log/apache2/*

Identifez des connexions suspectes

Commandes lastlog, last

116©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information

Sauvetage d'un système Linux

Malheureusement, votre machine peut planter. Voici deux façons pour essayer de récupérer votre système

Boot en mode Single User

Au démarrage (menu GRUB)

Sélectionner lé noyau à démarrer et choisir « e » pour éditer

Dans la ligne « kernel... » rajouter le mot « Single » ou « S »

Démarrer votre système avec la touche b

Reboot en mode sauvetage (rescue)

Utiliser un CD d'installation (ou live-cd)

Au démarrage, entrer “linux rescue” dans le prompt de commandes

Bonne chance ;)