Administration de Systèmes d'Information ©2009 – L.A. Steffenel Luiz Angelo Stefenel Master 2 ASR - Administration des systèmes d'information 1 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) ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 2 Cours 1 Ré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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 3 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 4 Cours 1 Confguration 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 5 Cours 2 Serveurs DHCP NIS NFS Samba DNS Apache - Confguration - Serveurs Virtuels - Restriction d'accès - PHP/MySQL Serveur Mail - Serveur SMTP - Serveur de listes (majordomo) Subversion ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 6 Cours 3 Firewall, NAT Linux comme routeur VPN Serveur Proxy - Squid Serveur FTP Serveur SSH Serveur d'annuaire LDAP Surveillance d'un Réseau ©2009 – L.A. Steffenel NAGIOS CACTI GANGLIA Master 2 ASR - Administration des systèmes d'information 7 TP 1 2h (jeudi 8/10) Installation d'une distribution linux Création d'utilisateurs Rapport : non ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 8 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) ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 9 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 10 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 IBM http://www.ibm.com/developerworks/linux/lpi/101.html? S_TACT=105AGX03&S_CMP=LPLINUX Les transparents seront disponibles à l'adresse http://cosy.univ-reims.fr/~lstefenel ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 11 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 12 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) ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 13 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 PDP7, 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 14 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 15 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 16 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/ ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 17 La Structure de l'UNIX ©2009 – L.A. Steffenel Programs Kernel Hardware System Calls Master 2 ASR - Administration des systèmes d'information 18 Composants principaux d'un système d'exploitation ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 19 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 20 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 ©2009 – L.A. Steffenel Réservation, libération, échange (swap). Master 2 ASR - Administration des systèmes d'information 21 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 » ©2009 – L.A. Steffenel uniquement les modules utilisés sont chargés en mémoire adaptation face à des nouveaux dispositifs Master 2 ASR - Administration des systèmes d'information 22 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 : ©2009 – L.A. Steffenel /etc/modules.conf : confguration de modprobe /lib/modules/???/modules.dep : liste des dépendances Master 2 ASR - Administration des systèmes d'information 23 Le Système de Fichiers UNIX ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 24 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 25 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 26 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 27 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). ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 28 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 29 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 30 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 31 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 32 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 33 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 34 Access Permission of File/Directory Les permissions ont des valeurs r=4 w=2 et x=1 0 1 2 3 4 5 6 7 = = = = = = = = Rien Exécution Écriture Exécution & Écriture (2 + 1) Lecture Exécution & Lecture (4 + 1) Lecture & Écriture (4 + 2) 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 35 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 36 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 ~/source entre dans le répertoire source dans votre espace home ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 37 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). ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 38 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 39 Suppression d'un fchier 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 40 Installation de Linux ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 41 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é ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 42 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 43 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 44 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 /dev/hda1 * Start 1 End 2611 Blocks Id System 20972826 7 HPFS/NTFS /dev/hda2 2612 2624 /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 ©2009 – L.A. Steffenel 104422+ 83 Linux 2008093+ b W95 FAT32 Master 2 ASR - Administration des systèmes d'information 45 L'utilitaire GParted ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 46 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 47 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 48 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 49 Commandes Linux ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 50 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 51 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 52 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 %. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 53 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 54 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 ©2009 – L.A. Steffenel #! /bin/sh Master 2 ASR - Administration des systèmes d'information 55 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/bash cd /tmp # creation d'un repertoire t mkdir 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 56 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 57 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 58 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 59 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 60 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, xexe) 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 61 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 62 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é ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 63 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> ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 64 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 65 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> ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 66 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 67 La guerre VI vs EMACS ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 68 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 69 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 70 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 71 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é ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 72 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 73 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 » ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 74 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 75 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 76 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 77 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). ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 78 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.‘ ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 79 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> ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 80 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 81 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 ifconfg password: ******* Les utilisateurs (et leurs droits) sont indiqués dans le fchier /etc/sudoers ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 82 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 83 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 84 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 85 La gestion des processus Les 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 ...] ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 86 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 87 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) ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 88 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 89 Le démarrage de Linux init 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 90 Le démarrage de Linux init 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 : ©2009 – L.A. Steffenel /etc/init.d/ssh stop Master 2 ASR - Administration des systèmes d'information 91 Le démarrage de Linux init 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) : ©2009 – L.A. Steffenel Debian GNU/Linux 3.1 papagos tty0 login : Master 2 ASR - Administration des systèmes d'information 92 Le démarrage de Linux init 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 93 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 94 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 95 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 96 La gestion des utilisateurs Le 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 ':' ©2009 – L.A. Steffenel 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 Master 2 ASR - Administration des systèmes d'information 97 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 ':' ©2009 – L.A. Steffenel 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) Master 2 ASR - Administration des systèmes d'information 98 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::: ©2009 – L.A. Steffenel 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 Master 2 ASR - Administration des systèmes d'information 99 La gestion des utilisateurs ©2009 – L.A. Steffenel La 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 Master 2 ASR - Administration des systèmes d'information 100 La configuration du réseau chargement 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 : ©2009 – L.A. Steffenel modprobe pilote Master 2 ASR - Administration des systèmes d'information 101 La configuration du réseau manuelle 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 -n Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 Use Iface 0 eth1 0 eth1 /sbin/route add default gw 192.168.0.1 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 102 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 103 La configuration du réseau à la fedora/mandriva Pour 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 104 La configuration du réseau à la debian/ubuntu Pour chaque interface, un morceau de /etc/network/interfaces auto lo iface lo inet loopback iface eth0 inet dhcp iface eth1 inet dhcp wireless_essid IMAG-visiteurs wireless_ssid IMAG-visiteurs wireless_key s:devinez iface eth2 inet static address 129.88.103.44 netmask 255.255.0.0 network 129.88.0.0 broadcast 129.88.103.255 gateway 129.88.103.1 Initialisation : /etc/init.d/network restart Prise en compte des changements : ifdown interface ; ifup interface ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 105 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 ©200 9 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 10 6 La configuration du réseau résolution de noms Contenu de /etc/resolv.conf : search mondomaine.com nameserver 192.168.0.1 Ce contenu peut être indiqué manuellement ou fixé automatiquement par dhcp ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 107 Automatisation de tâches Deux 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 108 Automatisation de tâches crontab(1) : programme une tâche répétitive Une 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 109 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. ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 110 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 111 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 112 Confguration de Quotas de Disque Activation des Quotas : Editer fstab LABEL=/1 / ext3 defaults 11 LABEL=/boot /boot ext3 defaults 12 LABEL=/users /users ext3 exec,dev,suid,rw,usrquota 1 2 LABEL=/var /var ext3 defaults 12 LABEL=SWAP-sda5 swap swap defaults 00 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 113 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 /dev/sdb1 988612 ©2009 – L.A. Steffenel soft 1024000 hard 1075200 Master 2 ASR - Administration des systèmes d'information inodes soft 7862 0 hard 0 114 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 ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 115 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 ;) ©2009 – L.A. Steffenel Master 2 ASR - Administration des systèmes d'information 116