Linux Plan du cours 1 Prsentation 4 Le

  • Slides: 57
Download presentation
Linux Plan du cours: 1. Présentation 4. Le système de fichiers Ø Historique Ø

Linux Plan du cours: 1. Présentation 4. Le système de fichiers Ø Historique Ø Fonctionnalités Ø Caractéristiques du système Ø Ø 2. Installation et démarrage Ø Ø Caractéristiques des fichiers Arborescence Droits d’accès Commandes sur les fichiers 5. Les processus Installation du système Démarrage du noyau Procédure de connexion L’interface graphique Ø Principes Ø Gestion des processus 6. Administration système 3. Les commandes Ø Exemples de commandes Ø Caractères spécifiques Ø Redirection des Entrées/Sorties Linux Ø Configuration du système Ø Gestion des utilisateurs Ø Configuration du réseau 1

Historique 1. Présentation d'UNIX et LINUX q 1969 : apparition de la 1ère version

Historique 1. Présentation d'UNIX et LINUX q 1969 : apparition de la 1ère version d'UNIX ; q 1973 : nécessité de rendre UNIX portable sur d'autres ordinateurs. Denis Ritchie réécrit alors entièrement UNIX en langage C ; q 1974 : AT&T propose les 1ères licences aux universités (en particulier, l'Université de Berkeley) ; q années 80 : apparaissent des versions commerciales sur différentes plates-formes ( DEC, SUN, IBM, …) ; q deux versions sont disponibles System V (d'AT&T) et BSD (Berkeley Software Distribution); q 1987 : A. S Tanenbaum créé à Amsterdam Minix, un Unix simplifié pour PC et sans droit de licence ; q 1991 : Linus Torvalds reprend l’idée et propose la première version de LINUX (V 0. 99) en collaboration avec le projet GNU de Cambridge (le principe reste : chaque utilisateur a le droit de modifier le code source mais n’a pas le droit de l’utiliser à des fins commerciales) ; q 1994 : sortie de Linux V 1 compatible avec la norme POSIX (Portable Operating System Interface) qui définit les applications programmées en C pour l’accès aux services de l’OS. q 2005 : Linux version 2. 6. 14 (version du noyau) dans les différentes distributions (Redhat, Fedora, Mandrake, Debian, SUSE, Caldera, Slackware…) Linux 2

Fonctionnalités Et puis, c’est pas cher ! q Gestion des ressources de l'ordinateur Ø

Fonctionnalités Et puis, c’est pas cher ! q Gestion des ressources de l'ordinateur Ø Unix est un OS multi-tâches et multi-utilisateurs ; Ø Les ressources (processeur, mémoire) sont réparties entre les différentes tâches et utilisateurs ; Ø plusieurs commandes ou applications peuvent être traitées en même temps. q Gestion des données Ø organisation, maintenance et accès aux unités de stockage (mémoire, disques durs, disques optiques…). q UNIX est un OS orienté réseaux q Communication entre utilisateurs Ø courrier électronique ; Ø transferts de fichiers… q Environnement de programmation Ø compilateurs (C, C++, Java, …) ; Ø éditeurs de textes ; Ø outils d'aide à la programmation (débogueurs, . . . ). Linux 3

Caractéristiques du système q Un noyau (kernel) assurant la gestion : Ø de la

Caractéristiques du système q Un noyau (kernel) assurant la gestion : Ø de la mémoire ; Ø des entrées/sorties de bas niveau ; Ø l'enchaînement des tâches. q Un interpréteur de commandes permettant la communication avec le noyau : le « shell » (coquille qui entoure le noyau du système). Le shell par défaut de Linux s’appelle bash (Bourne Again Shell), c’est le plus utilisé. q La communication entre processus. q Une syntaxe de programmation permettant d’écrire des programmes (des scripts) pour accéder aux fonctions du shell. q Un ensemble de fonctions C utilisables pour l’écriture d’applications. q L’écriture d'applications réalisant des appels au noyau. q Une organisation en fichiers hiérarchisés : Ø traitement sous forme de fichiers ; Ø réallocation des entrées/sorties. q Un système de messagerie intégré (sendmail). q Un grand nombre de programmes utilitaires en mode commande ou graphique. Linux 4

2. Installation et démarrage de Linux Procédure d’installation du système q La procédure séquentielle

2. Installation et démarrage de Linux Procédure d’installation du système q La procédure séquentielle d’installation de Linux peut être effectuée en mode graphique à l’aide des outils fournis par la distribution (Anaconda…) q L’un des points délicats est la création des partitions du disque à l’aide de différents outils (fdisk, diskdruid…) Ø Il faut au moins une partition Linux native (il est recommandé d'un créer une spécialement pour /home, pour loger les rép. personnels). Ø Il est recommandé de créer une partition de swap équivalente à la taille de la RAM (512 Mo…). Ø Le nom des partitions est du type hda 1 pour hard drive a (le premier disque dur), partition n° 1. q Le chargeur de démarrage (LILO – LInux Loader ou GRUB) peut être installé dans /dev/hda MBR (Master Boot Record : 1 er secteur de partition principale du disque) ou dans /dev/hda 1 (1 er secteur de la partition de démarrage de Linux) q Pour préserver les ressources, il faut limiter les services à démarrer automatiquement lors du boot (évitez les services effectuant de nombreuses requêtes vers le réseau SNMP, DHCP…) Linux 5

Démarrage du noyau sous Linux C’est un noyau sans pépins… q Après le chargement

Démarrage du noyau sous Linux C’est un noyau sans pépins… q Après le chargement du bios, il y a exécution du chargeur de démarrage LILO qui éventuellement lance à son tour un programme de sélection de l’OS en cas de système multi-boot. q Le prompt LILO: s'affiche, et au bout de quelques secondes (durée réglable), le système par défaut s'installe (par ex. Linux, version Mandrake 9. 1). q Usuellement, cette initialisation s'effectue en niveau 3, mode multi-utilisateurs avec les services réseau activés. Mais le niveau de chargement par défaut est réglable dans le fichier inittab. q Pendant ce court laps de temps, l'utilisateur peut donner des directives à LILO, notamment pour démarrer le système suivant un autre niveau que le niveau par défaut. Ainsi, on peut entrer : Ø linux 1 (single), si on veut travailler exclusivement en mode mono-utilisateur Ø linux 5, pour démarrer le serveur X, et un Window Manager, directement en niveau 5 graphique q Le compte-rendu de l'initialisation, en particulier des chargements des pilotes de périphériques, se trouve dans /var/log/dmesg. Les messages générés pendant l'initialisation du système sont consultables avec la commande dmesg Linux 6

Procédure de connexion (1) q Travailler sous les systèmes UNIX ou LINUX, même en

Procédure de connexion (1) q Travailler sous les systèmes UNIX ou LINUX, même en dehors de tout contexte réseau, implique une connexion au système : une session monoposte n'est jamais anonyme. q Le processus d'identification est classique : Ø Donner le nom d'utilisateur (login : ) Ø puis le mot de passe (password : ) q Lorsque nous sommes authentifiés, nous disposons des ressources du système selon les permissions (les droits des fichiers) que l'administrateur (le "root") a accordées. q Même si l’interface graphique (XWindows) est le plus souvent choisie par défaut, ne pas oublier que celle-ci est une surcouche et qu’il est toujours possible de revenir au mode texte ou encore d’ouvrir une fenêtre texte pour taper les commandes du shell. q L’invite de commande (prompt) en mode texte est du type : [user@machine /rép-perso]. Linux 7

Procédure de connexion (2) q Lors de la création de son compte, un utilisateur

Procédure de connexion (2) q Lors de la création de son compte, un utilisateur est associé à un type de shell. (Pour s'en convaincre, consulter le fichier /etc/passwd : le dernier champ contient le nom du fichier exécutable - le shell par défaut - /bin/bash). q L'interpréteur de commande associé est ainsi lancé automatiquement dès la saisie du login utilisateur. q Il poursuit sa configuration en exécutant des scripts globaux à tous les utilisateurs et des scripts liés au compte et qui permettent une personnalisation : 1. d'abord le script /etc/profile communs à tous les users y compris root ; 2. celui-ci cherche à exécuter tous les scripts /etc/profile. d/*. sh (parcourir alias. sh et numlock. sh) 3. puis il y a exécution de $HOME/. bash_profile (la variable $HOME contient le chemin vers le répertoire personnel). Il s'agit ainsi d'un fichier de démarrage personnel et paramétrable. 4. A son tour il exécute $HOME/. bashrc dans lequel il est recommandé de placer toutes les fonctions ou alias personnels (car. bashrc est exécuté dans tout shell) 5. Enfin le précédent exécute /etc/bashrc, dans lequel on place les alias globaux et la définition du prompt $PS 1 q Enfin, il affiche le prompt en mode texte ou l’interface graphique et se met en attente d'une commande au clavier ou à la souris. Linux 8

Procédure de déconnexion Non, pas le bouton reset ! q Deux phases successives :

Procédure de déconnexion Non, pas le bouton reset ! q Deux phases successives : déconnexion et arrêt (volontaire) q Pour se déconnecter : taper exit ou logout (ou utiliser la souris…), cela relance l'attente de login (évidemment, il ne faut pas éteindre brutalement ou rebooter sauvagement ! Chaque processus actif doit recevoir du noyau du système la directive de s'arrêter proprement, les systèmes de fichiers doivent être « démontés » ). q En cas de coupure brutale, le système effectuera des réparations au prochain démarrage, à l'aide de l'utilitaire fsck, avant de procéder à l'initialisation du système. q Pour arrêter le système, l'administrateur root lance l'une des commandes suivantes (ou utilise un menu graphique…) : Ø arrêt immédiat halt (= shutdown -h now) Ø arrêt différé shutdown -h <nb mn> il s'écoule <nb min> minutes entre l'avertissement et l'arrêt. Ø reboot Linux 9

L’interface graphique Principe q Le système X Windows comprend un ensemble d’éléments permettant la

L’interface graphique Principe q Le système X Windows comprend un ensemble d’éléments permettant la sortie graphique dans des fenêtres d’affichage en mode point (bitmap). q Au cœur de Xwindows se trouve le Serveur. X (généralement nommé XFree 86) qui correspond au programme d’affichage en mode point gérant l’écran, le clavier et la souris. q Les applications ayant besoin d’afficher une sortie graphique sont dites Clients. X. q Lorsque l’interface utilisateur d’une application fait appel à des objets graphiques, il s’agit d’une interface GUI (Graphic User Interface). q Les environnements graphiques les plus utilisé sous Linux sont KDE (K Desktop Environment) ou Gnome. Barre de lancement rapide Menu Démarrer Linux Accès aux 4 bureaux 10

3. Les commandes Shell, c’est pas plutôt pour l’essence ? q Les commandes peuvent

3. Les commandes Shell, c’est pas plutôt pour l’essence ? q Les commandes peuvent être tapées en mode texte ou dans une fenêtre « terminal » ou une « console » en mode graphique. q L’interpréteur de commande, le shell, transmet les ordres en conséquence au noyau. q Syntaxe Ø nom_commande [options] [arguments] ; Ø le caractère séparateur entre les différents éléments de la commande est le blanc (ESPACE) ; Ø les options commencent habituellement par le caractère - (signe moins) suivi d'une ou plusieurs lettres-clés ; Ø les options modifient le comportement de la commande ; Ø les arguments spécifient les objets (fichiers ou variables) sur lesquels la commande va s'appliquer. q Aide Ø si l’on souhaite connaître les règles d'utilisation ou les fonctionnalités d'une commande on peut utiliser l'aide en ligne grâce à la commande man ; Ø syntaxe : man nom_commande ; Ø l'affichage des "manuel pages" se fait page par page. Pour faire avancer l'affichage, il suffit de taper la barre d'espace. Ø il est possible de faire une recherche par mot-clé dans le système à l'aide de l’option -k ; man -k argument donne la liste des commandes contenant dans leur libellé l'argument donné. Linux 11

Exemples de commandes Prompt Commande simple sans option ni argument. Commande avec une option.

Exemples de commandes Prompt Commande simple sans option ni argument. Commande avec une option. Commande avec un argument. Linux 12

Caractères spécifiques Dure , la syntaxe… q Caractères génériques Ø Ø sont incorporés dans

Caractères spécifiques Dure , la syntaxe… q Caractères génériques Ø Ø sont incorporés dans les noms des arguments ; * désigne une chaîne de caractères quelconque ; ? désigne un caractère quelconque ; [. . . ] désigne les caractères entre crochets, définis par énumération ou par un intervalle. exemples : [Aa] désigne les caractères A ou a ; [0 -9 a-z. A-Z] désigne un caractère alphanumérique. Ø [!0 -9] désigne l'ensemble des caractères sauf les chiffres ; q Caractères qui modifient l'interprétation d'une commande Ø Ø Ø ; sépare deux commandes sur une même ligne ; ', " délimite une chaîne de caractères contenant des espaces ; ` interprétation de la commande ; (blanc) est considéré par le shell comme le séparateur ; annihile la signification du métacaractère qui suit ; { et } permettent de regrouper un ensemble de commandes et de les exécuter dans le "processus courant" ; Ø ( et ) permettent de regrouper un ensemble de commandes et de les exécuter dans un "processus fils". Linux 13

Exemples de caractères spécifiques Sélection des fichiers qui se terminent par. o Affichage des

Exemples de caractères spécifiques Sélection des fichiers qui se terminent par. o Affichage des fichiers qui ont un caractère compris entre 0 et 9 dans le nom. Linux 14

Redirection des Entrées/Sorties q Les commandes utilisent des E/S standards Ø le clavier est

Redirection des Entrées/Sorties q Les commandes utilisent des E/S standards Ø le clavier est considéré comme l'entrée standard ; Ø la sortie standard est l'écran. q Redirection de la sortie Ø pour que le résultat d'une commande soit rangé dans un fichier au lieu d'apparaître à l'écran, il faut utiliser ; Ø nom_commande [options] [arguments] > fichier_sortie Ø exemple : ls -l > poub et date > poub Ø si le fichier de sortie existe déjà, son contenu est écrasé avec la redirection > ; Ø si on veut que ce contenu soit préservé et y ajouter des résultats d'une commande, il faut utiliser la redirection >>. Ø exemple : ls -l > poub et date >> poub q Redirection de l’entrée Ø au lieu de fournir des données en les entrant au clavier, ces données peuvent être lues dans un fichier ; Ø nom_commande [options] [arguments] < fichier_entrée Ø exemple : ls -l fic? > poub ; cat < poub Linux 15

4. Le système de fichiers Je suis un fichier ? q Un système de

4. Le système de fichiers Je suis un fichier ? q Un système de fichiers est une façon d'organiser et de stocker une arborescence sur un support (disque dur, CD, DVD, clé USB. . . ). q Chaque OS propriétaire a développé sa propre organisation. Linux possède son système appelé ext 3 mais peut en gérer d'autres (FAT, NTFS. . . ). q Comme pour l'utilisateur tout est fichier, tous les systèmes de fichiers quels que soient leur emplacement physique doivent être intégrés dans l'UNIQUE arborescence logique du système Linux. q Cette arborescence peut donc être construite (et évoluer) à partir de diverses partitions qui peuvent être situées sur plusieurs disques. La partition sur laquelle est située le répertoire racine (noté /) joue un rôle particulier. q Le processus de montage, avec sa commande mount, est le moyen de faire correspondre parties de l'arborescence et partitions physiques de disque. q Il permet de plus d'affecter tout système extérieur (CD, clé USB, rép. réseau. . . ) à un répertoire créé pour cela dans l'arborescence. q Il suffira ensuite de se déplacer à ce répertoire, appelé point de montage, en fait un répertoire "d'accrochage", pour accéder à ses fichiers. Linux 16

Caractéristiques des fichiers Ras le bol du mode texte ! q Tous les objets

Caractéristiques des fichiers Ras le bol du mode texte ! q Tous les objets manipulés par Linux sont des fichiers. q Un fichier est identifié par une chaîne de caractères. q Il est associé à un bloc d’informations qui contient des informations sur la taille, le propriétaire, les droits d’accès, un type …. q selon leur utilisation, les fichiers peuvent être de type répertoires, ordinaires, spéciaux, liens, … q L’accès à un fichier se fait par l'intermédiaire d’un répertoire. q La liste des fichiers et répertoires est affichable en mode texte : Ø le prompt indique le répertoire courant ; Ø les répertoires sont identifiés par des / Linux 17

Visualisation des fichiers q Toutes les distributions proposent un gestionnaire graphique de fichiers (Konqueror

Visualisation des fichiers q Toutes les distributions proposent un gestionnaire graphique de fichiers (Konqueror pour l’environnement KDE, File Manager sous Unix…) Accès vers le répertoire parent Répertoire courant. Linux Fichiers du répertoire courant. 18

Les types de fichiers q fichiers normaux : Ø texte : courrier, sources des

Les types de fichiers q fichiers normaux : Ø texte : courrier, sources des programmes, scripts, configuration. . . Ø exécutables : programmes en code binaire q fichiers répertoires : Ø ce sont des fichiers conteneurs qui contiennent des références à d'autres fichiers. Ø véritable charpente de l'arborescence, ils permettent d'organiser les fichiers par catégories q fichiers spéciaux : Ø situés dans /dev, ce sont les points d'accès préparés par le système aux périphériques. Ø Le montage va réaliser une correspondance de ces fichiers spéciaux vers leur répertoire "point de montage". Ø par exemple, le fichier /dev/hda permet l'accès et le chargement du 1 er disque dur q fichiers liens symboliques : Ø Ce sont des fichiers qui ne contiennent qu'une référence (un pointeur) à un autre fichier. Ø Cela permet d'utiliser un même fichier sous plusieurs noms sans avoir à le dupliquer sur le disque. Linux 19

Arborescence des fichiers Moi aussi, j’ai des racines q L'ossature du système : Ø

Arborescence des fichiers Moi aussi, j’ai des racines q L'ossature du système : Ø est une structure arborescente de fichiers et de répertoires ; Ø chaque utilisateur peut ajouter de nouvelles branches ; Ø / est le nom du répertoire racine (root) de l'arbre ; q Exemple d ’arborescence : / usr var yp home mail etc bin toto q Répertoire principaux : Ø /bin : les fichiers exécutables (en binaire) (initialisation du système + commandes "essentielles") Ø /boot : le noyau vmlinuz et les fichiers de démarrage Ø /dev : répertoire de fichiers spéciaux, qui servent de canaux de communication avec les périphériques (disques, adaptateur réseau, cartes son etc. . . ) Linux 20

Répertoires principaux (suite) q /etc : les fichiers de configuration du système et les

Répertoires principaux (suite) q /etc : les fichiers de configuration du système et les principaux scripts de paramétrage q /home : la racine des répertoires personnels des utilisateurs q /lib : les bibliothèques et les modules du noyau q /mnt : la racine des points de montage des systèmes de fichiers périphériques ou extérieurs (cd, disquette, nfs. . ). q /root : répertoire personnel du super-utilisateur root q /sbin : les fichiers exécutables pour l'administration du système q /tmp : stockage des fichiers temporaires q /usr : programmes accessibles à tout utilisateur; sa structure reproduit celle de la racine / q /var : données variables liées à la machine (fichiers d'impression, traces de connexions http, smb. . dans /var/log) Linux 21

Les noms des fichiers q Chaque fichier a un nom absolu unique formé de

Les noms des fichiers q Chaque fichier a un nom absolu unique formé de tous des noms des répertoires traversés depuis la racine pour l'atteindre et séparés par le caractère / ; Ø Ex : /home/users/paul/monfichier. txt Ø chaque fichier a un nom absolu unique dans le système. q Le répertoire courant est le répertoire dans lequel travaille l’utilisateur à un instant donné (à la connexion, c’est le répertoire personnel de l'utilisateur, généralement /home/nom). La commande pwd permet d’afficher le répertoire courant. q Nom spéciaux : Ø Ø le répertoire courant est noté ". " ; le niveau supérieur dans l'arborescence est noté ". . " ; le répertoire de travail d’un utilisateur est noté "~" ; un nom relatif est un nom qui ne commence pas par /. q Identification d’un fichier Ø on peut utiliser des références relatives ou absolues pour identifier un fichier dans l’arborescence. Ø Ex : /home/users/paul/monfichier. txt équivaut à. . /paul/monfichier. txt si je suis dans le répertoire /home/users/albert Linux 22

Utilisation de référence relative La commande pwd permet de connaître le répertoire courant. ~

Utilisation de référence relative La commande pwd permet de connaître le répertoire courant. ~ fait référence au répertoire de travail. Pour l ’utilisateur bisgambi ce répertoire est /home/bisgambi. On identifie le fichier DEVS de manière relative. Le système accède au fichier DEVS qui se trouve dans /home/bisgambi. . . fait référence au père de DEVS c’est à dire /home/bisgambi. Linux 23

Droits d'accès des fichiers De quel droit ? q Classes d'utilisateurs Ø Il existe

Droits d'accès des fichiers De quel droit ? q Classes d'utilisateurs Ø Il existe 3 classes d'utilisateurs pouvant éventuellement accéder à un fichier : - le propriétaire du fichier : User ; - le groupe du propriétaire : Group ; - les autres : Others. Ø à sa création, un fichier appartient à son créateur. Ø le propriétaire du fichier peut ensuite distribuer ou restreindre les droits d'accès sur ce fichier ; Ø les users sont identifiés par un UID (User IDentificator) mémorisé dans le fichier /etc/passwd ; Ø les groupes par un GID (Group IDentificator) mémorisé dans le fichier /etc/group. q Types d'accès Ø pour chaque classe d'utilisateurs, il y a 3 types d'accès à un fichier donné : r : en lecture (Read) ; w : en écriture (Write) ; x : en exécution (e. Xecute). Ø au niveau répertoire, ces droits signifient : - droit de lister les fichiers présents (Read) ; - droit de créer ou de détruire un fichier (Write) ; - droit de traverser le répertoire (e. Xecute). Ø il y a donc 9 droits d'accès différents sous UNIX. Linux 24

Visualisation des droits d'accès q La commande ls -l permet de visualiser les droits

Visualisation des droits d'accès q La commande ls -l permet de visualiser les droits d’accès à un fichier Ø le 1 er caractère spécifie le type du fichier (d pour directory) ; Ø les 9 caractères suivants identifient les droits d'accès (r, w ou x spécifient le type d’accès ; - absence de droit) ; Ø ces droits sont structurés de la façon suivante : Propriétaire U r w x Groupe G r Linux w x Other O r w x 25

Modification des droits d’accès (1) Moi, j’y touche pas… q La commande chmod permet

Modification des droits d’accès (1) Moi, j’y touche pas… q La commande chmod permet modifier les droits d’accès sur un fichier Ø seul le propriétaire peut modifier les droits d'accès ; Ø syntaxe : chmod mode nom_fichier ; Ø mode indique de quelle façon les droits d'accès doivent être modifiés et se décompose en [qui] op accès ; - qui (une combinaison de u, g, o, a pour all) indique les classes concernées par la commande ; - op (+, -) ajoute ou enlève un droit d’accès ; - accès est une combinaison des lettres r, w et x qui spécifient les types d'accès. q Modification de tous les droits d’accès Ø Ø on peut utiliser également un mode en octal pour spécifier tous les droits sur un fichier ; ce mode est composé de 3 chiffres compris entre 0 et 7 ; chaque chiffre correspond à une classe d’utilisateur ; ces chiffres correspondent aux droits d’accès suivants : Octal Binaire 0 000 1 001 2 010 3 011 Droits -- --x -w -wx Octal Binaire 4 100 5 101 6 110 7 111 Linux Droits r- r-x rw rwx 26

Modification des droits d’accès (2) Pour group et other , enlève le droit r

Modification des droits d’accès (2) Pour group et other , enlève le droit r rwx pour user ; r-x pour group ; r-- pour other Linux 27

Changement de propriétaire et de groupe (1) Moi, je préfère à la souris !

Changement de propriétaire et de groupe (1) Moi, je préfère à la souris ! q Les commandes chown (change owner) et chgrp (change group) permettent de modifier les informations d’appartenance d’un fichier ou d’un répertoire Ø seul l’administrateur peut modifier les appartenances ; Ø syntaxe : chown user nom_fichier ; chgrp group nom_fichier. Linux 28

Modifications en mode graphique q Les droits d’accès, l’utilisateur et le groupe propriétaires peuvent

Modifications en mode graphique q Les droits d’accès, l’utilisateur et le groupe propriétaires peuvent également êtres affichés et modifiés en mode graphique (sélection du fichier et affichage de ses propriétés). Linux 29

Manipulation sur les répertoires q Création d’un répertoire Ø syntaxe : mkdir nom_répertoire ;

Manipulation sur les répertoires q Création d’un répertoire Ø syntaxe : mkdir nom_répertoire ; Ø exemple : mkdir /home/Paul/TD q Suppression d’un répertoire Ø syntaxe : rmdir nom_répertoire (si le répertoire est vide) ; q Changement de répertoire courant Ø syntaxe : cd [nom_répertoire] ; Ø lorsque la commande est tapée sans argument, on se positionne dans le répertoire principal ("home directory") ; Ø exemple : cd. . /Alain/TD q Affichage du répertoire courant : pwd q Affichage du contenu du répertoire Ø Ø Ø syntaxe : ls [-1 Ra. Ad. Cxmnlogrtucp. Fbqisf. L] [fichiers] s'il n'y a aucun paramètre : affiche le contenu du répertoire courant ; si un répertoire est passé en paramètre : affiche le contenu de ce répertoire ; si un fichier est passé en paramètre : indique si ce fichier est accessible ou non. principales options : -a : affiche les fichiers cachés (. nom) ; -l : donne plus d ’informations sur les fichiers. Linux 30

Commandes sur les fichiers Il est bien comme ça ! q Création d’un fichier

Commandes sur les fichiers Il est bien comme ça ! q Création d’un fichier Ø on utilise des applications (traitement de texte, console de développement …) ; Ø la commande : touch fichier permet de créer un fichier vide. q Copie d'un fichier Ø syntaxe : cp source destination ; q Renommer ou déplacer un fichier Ø syntaxe : mv source destination ; Ø si la destination est un fichier la commande renomme le fichier source en destination ; Ø si la destination est un nom de répertoire le fichier source est déplacé dans le répertoire destination. q Destruction d’un fichier Ø syntaxe : rm [-fi. Rr] [fichiers] Ø l ’option -R permet de détruire un répertoire et tout les fichiers qu’il contient. q Visualisation d'un fichier Ø on peut visualiser un fichier grâce à l’application qui à permis de le créé ; Ø si le fichier et un fichier de texte on peut utiliser les commandes : cat nom_fichier ou more nom_fichier. Linux 31

Affichage de fichiers avec utilisation des caractères spéciaux 1 - Afficher les fichiers contenant

Affichage de fichiers avec utilisation des caractères spéciaux 1 - Afficher les fichiers contenant un a dans le nom ls -l *a* ou ls -1 | grep "a" 2 - Afficher les fichiers qui ont un nom de 4 caractères. ls ? ? ou ls -1 | grep "^. {4}$" 3 - Afficher les fichiers qui ont au moins 5 caractères dans le nom. ls ? ? ? * ou ls -1 | grep ". {5}" 4 - Afficher les fichiers dont le nom commence par une majuscule. ls [A-Z]* ou ls -1 | grep "^[A-Z]" Linux 32

Autres commandes Bon, je vais peutêtre y aller… q Indication sur la nature d'un

Autres commandes Bon, je vais peutêtre y aller… q Indication sur la nature d'un fichier Ø syntaxe : file fichiers ; Ø exemple : file simul. c ascii text q Commande de comptage Ø syntaxe : wc -cm. Clw [fichiers] ; Ø options : -l, -w, -c : permettent de retourner respectivement les nombres de lignes, de mots ou de lettres. q Découpage d’un fichier Ø la commande cut permet de supprimer une partie des lignes d'un ou de plusieurs fichiers, ou de l'entrée standard. Ø syntaxe : cut -bliste [-n] [nom_fichier. . . ] cut -cliste [nom_fichier. . . ] cut -fliste [-ddélimiteur] [-s] [nom_fichier. . . ] Ø Options : -b : ne retient sur chaque ligne que les octets situés à une position donnée par liste -c : ne retient sur chaque ligne que les caractères situés à une position donnée par liste -f : ne retient qu'une liste de champs (séparés par des tabulations ou par un délimiteur spécifié par l'option -d) ; -s : supprime les lignes ne présentant pas de délimiteur ; Ø exemple : cut -c 1 -50 permet de ne garder que les 50 premiers caractères de chaque ligne Linux 33

Les commandes de recherche et de tri q Recherche de chaîne dans un fichier

Les commandes de recherche et de tri q Recherche de chaîne dans un fichier Ø syntaxe : grep [-bchilnsvw] expression [fichiers] Ø options : -l : la commande ne renvoie que le nom du fichier ; -c : nombre de lignes contenant l’expression ; -v : lignes qui ne contiennent pas l'expression. Ø exemple : grep -v 'M' truc. txt q Recherche d'un fichier Ø find cherche dans les répertoires des fichiers afin de leur appliquer une commande donnée ; Ø syntaxe : find répertoires expression ; q La commande sort Ø la commande sort trie son entrée par ligne dans l'ordre des caractères ascii ; Ø syntaxe : sort [options] [+m] [<fichier 1>. . . ]. Ø options : -f : ignore les différences entre majuscules et minuscules. -n : trie en ordre numérique ; -b : les blancs de l'entête sont ignorés ; -r : renverse le sens de toute comparaison ; +m indique qu'il faut ignorer les m premier champs. Ø exemple : ls -l | sort -f trie les fichiers par ordre alphabétique ; Linux 34

5. Les processus q Un processus correspond à l'exécution d'un programme à un instant

5. Les processus q Un processus correspond à l'exécution d'un programme à un instant donné. Ø les processus système ne sont attachés à aucun terminal ; Ø les processus des utilisateurs sont lancés par ceux-ci depuis un terminal q Un processus possède : Ø Ø Ø un identificateur : nombre entier ; un propriétaire (deux entiers) ; un groupe propriétaire (deux entiers) ; un processus père (sauf le "boot_shell") ; un terminal d'attachement. q Visualisation des processus Ø Ø Ø syntaxe : ps [option] ; permet à l'utilisateur de connaître la liste des processus ; les options permettent de sélectionner les informations à visualiser sur les processus ; l'option -l affiche un grand nombre d'information ; l'option -a affiche même les processus système. q Destruction d'un processus Ø syntaxe : kill [option] [numéro_de_processus] ; Ø permet d'interrompre l'exécution d'un processus ; Ø l'option 9, est la plus utilisée (force la destruction). q La commande top permet de connaître les processus et les ressources utilisées. Linux 35

Exemples de processus Liste des processus lancés depuis le terminal pts/5. PID n° du

Exemples de processus Liste des processus lancés depuis le terminal pts/5. PID n° du processus PPID n° du processus père. Destruction du processus sh lancé dans le terminal pts/5 à partir d’un autre terminal. Linux 36

Liste des processus du root Processus lancé au démarrage du système. Linux 37

Liste des processus du root Processus lancé au démarrage du système. Linux 37

Liste des processus d’un utilisateur Linux Là, tu empiète… 38

Liste des processus d’un utilisateur Linux Là, tu empiète… 38

Arborescence des processus /etc/init 1 dtlogin 186 dtlogin 14799 /bin/ksh Initialise le système Procédures

Arborescence des processus /etc/init 1 dtlogin 186 dtlogin 14799 /bin/ksh Initialise le système Procédures de login 14871 dtpad 14876 snapshot 14876 14825 Démarrage d’un shell 14857 dtsession 14863 dtwm Environnement graphique Texteditor Utilitaire dtterm 14874 Terminal csh 14888 Shell netscape 14950 Linux Filemgr Applicatif 39

6. Administration système Tout se configure, mais où ? Configuration du système q Suivant

6. Administration système Tout se configure, mais où ? Configuration du système q Suivant la distribution, différents utilitaires en mode graphique (Linuxconf, Drakconf…) permettent de configurer le système (écran, souris, réseau…). q Ces utilitaires ne sont que des programmes frontaux qui écrivent ou met à jour les fichiers de configuration de /etc. q Il est également possible d’utiliser des commandes : Ø Ø Ø mouseconfig paramétrage souris kbdconfig clavier Xconfigurator carte vidéo et moniteur sndconfig carte son ntsysv services à démarrer automatiquement printtool installation d'une imprimante en mode graphique Linux 40

Configuration du système en mode graphique Linux 41

Configuration du système en mode graphique Linux 41

Installation de logiciels Y’a pas des jeux ? q Les logiciel sont généralement distribué

Installation de logiciels Y’a pas des jeux ? q Les logiciel sont généralement distribué dans des paquetages où tous les composants sont intégrés et installés automatiquement dans les répertoire adéquats. q L'utilitaire RPM (Red. Hat Package Manager) gère une base de données des packages déjà installés. Il permet d'installer et de désinstaller facilement les programmes. De plus, pendant une mise à jour, RPM évite l'écrasement des fichiers de configuration existants. q Principales options en ligne de commande : Ø rpm -q nomfichier. rpm , pour obtenir de l'information Ø rpm -i nomfichier. rpm, commande générale d'installation Ø rpm -U nomfichier. rpm, commande de mise à jour d'un paquetage déjà installé. Ø rpm -e nomfichier. rpm, pour désinstaller (e=extract) un programme. Ø rpm -V nomfichier. rpm, cette commande compare les fichiers installés avec les fichiers d'origine du paquetage, pour vérifier que tous les fichiers d'un programme sont présents et pour connaître ceux qui ont été modifiés depuis q D’autres utilitaires existent suivant la distribution (apt-get sur Debian, yum sur Fedora…) ; ils permettent de télécharger et d’installer directement des logiciels ou des mises à jour. Linux 42

Gestion des utilisateurs et des groupes (1) q Le système, dès son installation, avant

Gestion des utilisateurs et des groupes (1) q Le système, dès son installation, avant même la première connexion au système, a créé des users système. q Un utilisateur n'est donc pas uniquement une personne physique, le système a besoin d'utilisateurs pour sa gestion interne, notamment comme propriétaire des divers processus. q Tout utilisateur possède un identifiant uid. q Un groupe est un ensemble d'utilisateurs qui partagent les mêmes droits sur des fichiers et des répertoires. q Chaque utilisateur doit faire partie au moins d'un groupe, son groupe primaire. Celui-ci est défini au moment de la création du compte, et par défaut, l'utilisateur appartient à un nouveau groupe créé, portant son nom. q Ainsi, dans /etc/passwd chaque utilisateur possède un groupe par défaut, précisé par son identifiant gid dans ce fichier. q L'appartenance au groupe primaire n'étant pas exclusive, tout utilisateur peut faire partie de plusieurs autres groupes, appelés ses groupes secondaires. q Mais à un instant donné un utilisateur connecté ne peut apparaître que dans un seul groupe, n'avoir qu'un seul gid. Linux 43

Gestion des utilisateurs et des groupes (2) Peuvent pas se gérer tout seuls ?

Gestion des utilisateurs et des groupes (2) Peuvent pas se gérer tout seuls ? q Lorsqu’un compte utilisateur est créé : Ø Cela lui permet d'être connu du poste local, de s'y loguer, d’avoir un accès complet sur son rép. personnel. Ø Mais aussi dans une configuration réseau, de pouvoir se connecter à son compte par telnet et ftp, et de pouvoir bénéficier de services réseau de partage distant (sous Linux par NFS et sous Windows par SMB). q Les principales commandes : Ø gestion des comptes utilisateur useradd, usermod, userdel Ø gestion des groupes groupadd, groupmod, groupdel Ø vérification des fichiers pwck, grpck Ø changer le mot de passe d'un utilisateur passwd Ø utilitaires divers chown, chgrp, id, groups, su, who am i, chage, pwconv Linux 44

Commande useradd q Syntaxe : useradd [options] nom_login q Exemple : useradd toto -u

Commande useradd q Syntaxe : useradd [options] nom_login q Exemple : useradd toto -u 1200 -p moi -g 520 -G groupes -s /bin/bash q Options : Ø -u uid pour fixer l'identifiant uid Ø -g groupe-primaire Ø -G liste fixe l'appartenance de l'utilisateur à une liste de groupes secondaires (séparateur , sans espace) Ø -p password Ø -s shell par défaut, attribution du shell par défaut bash Ø -c commentaire Ø -d rep. personnel par défaut dans le répertoire /home Ø -e date-expiration fixe la date d'expiration du compte (format MM/JJ/AA) Ø -m pour créer le répertoire personnel Ø -k rep-skel recopie le contenu de rep-skel dans le rép. personnel, par défaut /etc/skel Linux 45

Fichier /etc/passwd (1) Du morse pour un pingouin ! q Le fichier /etc/passwd contient

Fichier /etc/passwd (1) Du morse pour un pingouin ! q Le fichier /etc/passwd contient les caractéristiques de tous les utilisateurs standards ou système. q Structure d'une ligne de /etc/passwd Ø login: x(password): uid: gid: commentaires: home: shell Linux 46

Fichier /etc/passwd (2) q Les 7 champs sont séparés par le symbole : 1.

Fichier /etc/passwd (2) q Les 7 champs sont séparés par le symbole : 1. login : nom de connexion 2. x : ancienne place du mot de passe crypté 3. uid numéro d'utilisateur, sa valeur est le véritable identifiant pour le système Linux ; l'uid de root est 0, le système attribut conventionnellement un uid à partir de 500 aux comptes créés. 4. gid : numéro de groupe gid, dans lequel se trouve l'utilisateur par défaut; le gid de root est 0, des groupes d'utilisateurs au delà de 500 5. commentaires ou nom complet, il peut être suivi d'une liste de renseignements personnels (cf chfn) 6. home : rép. personnel (c'est également le rép. de connexion) 7. shell : interprétateur de commandes (par défaut /bin/bash) Linux 47

Fichier /etc/group q Le fichier /etc/group contient les caractéristiques de tous les groupes standards

Fichier /etc/group q Le fichier /etc/group contient les caractéristiques de tous les groupes standards ou système. q Structure d'une ligne de /etc/group Ø groupe: x: gid: liste-membres-du-groupe q La liste des membres du groupe (séparées par une virgule) fixe l’appartenance au groupes secondaires (pour l’utilisateur root, bin est un groupe secondaire). Linux 48

Fichier /etc/shadow C’est l’ombre du fichier q Pour des questions de sécurité, les mots

Fichier /etc/shadow C’est l’ombre du fichier q Pour des questions de sécurité, les mots de passe cryptés ne sont pas stockés dans /etc/passwd qui doit être accessible en lecture par tous. q Les mots de passe cryptés sont placés dans /etc/shadow lisible seulement par root. q La commande /usr/sbin/pwconv est chargée de transférer les mots de passe cryptés, dans /etc/shadow. Linux 49

Gestion des utilisateurs en mode graphique (1) q Un utilitaire en mode graphique peut

Gestion des utilisateurs en mode graphique (1) q Un utilitaire en mode graphique peut également être utilisé pour la gestion des utilisateurs. Linux 50

Pas de réseau sur la banquise… Administration réseau q La première phase est la

Pas de réseau sur la banquise… Administration réseau q La première phase est la configuration du système LINUX pour qu'il soit connecté au réseau local, et puisse éventuellement accéder au réseau Internet via un accès distant par routeur ou par modem. q Un certain nombre d'éléments matériels (adaptateurs. . . ) et logiciels (démons lancés. . ) doivent être installés, configurés et activés au démarrage de la machine. q Informations indispensables : Ø adresse IP de l'adaptateur réseau (par exemple : 10. 194. 2. 5) ; Ø adresse de "boucle" : une machine isolée a toujours l'adresse 127. 0. 0. 1, ce qui lui permet de se connecter à elle-même ; Ø masque de sous-réseau (netmask) : ce qui détermine les adresses qu'il est possible d'attribuer aux machines de ce sous-réseau (ex. 255. 0 ) ; Ø adresse IP du sous-réseau : elle se déduit du masque et d'une adresse ; (ex : 10. 194. 2. 0) ; Ø nom DNS complet : nom station + nom du domaine (ex : p 01. iut. univ-mlv. fr ). Linux 51

Fichiers de configuration réseau (1) q /etc/HOSTNAME nom de la machine dans le domaine

Fichiers de configuration réseau (1) q /etc/HOSTNAME nom de la machine dans le domaine (obtenu aussi par la commande $ hostname) Par ex : p 01. iut. univ-mlv. fr q /etc/hosts table de correspondance des adresses IP des machines du sousréseau et de leur nom d'hôtes. 127. 0. 0. 1 localhost 10. 194. 2. 101 p 01. iut. univ-mlv. fr p 01 10. 194. 2. 102 p 02. iut. univ-mlv. fr p 02 10. 194. 2. 103 p 03. iut. univ-mlv. fr p 03 . . . q Remarques : Ø Si on n'utilise pas de serveur de nom DNS local pour connaître la correspondance entre l'adresse IP de la machine et son nom, il faut lister ainsi toutes les machines du sous-réseau et copier ce fichier /etc/hosts sur toutes les machines du sous-réseau. Ø Pour des réseaux de taille modeste, il est donc possible de maintenir cette liste des machines dans /etc/hosts, plutôt que de configurer et de gérer un serveur de noms. Linux 52

Fichiers de configuration réseau(2) q /etc/sysconfig/network-scripts/ifcfg-eth 0 fichier d'activation au démarrage de l'interface eth

Fichiers de configuration réseau(2) q /etc/sysconfig/network-scripts/ifcfg-eth 0 fichier d'activation au démarrage de l'interface eth 0 DEVICE = eth 0 IPADDR = 10. 194. 2. 1 NETMASK = 255. 0 NETWORK = 10. 194. 2. 0 BROADCAST = 10. 194. 2. 255 ONBOOT = yes Plus généralement, les interfaces à activer automatiquement au boot sont définies dans les fichiers du répertoire etc/sysconfig/network-scripts/ q /etc/sysconfig/network NETWORKING = yes FORWARD_IPV 4 = no (empêche le transfert automatique des paquets) HOSTNAME= p 01 DOMAINNAME = iut. univ-mlv. fr GATEWAY= 10. 194. 2. 245 (passerelle par défaut, par où cher si l'adresse IP n'est pas dans le sous-réseau) GATEWAYDEV = eth 0 Linux 53

Fichiers de configuration réseau (3) Marre des fichiers ! q /etc/host. conf order hosts,

Fichiers de configuration réseau (3) Marre des fichiers ! q /etc/host. conf order hosts, bind (d'abord recher les hôtes dans le fichier /etc/hosts, puis dans le serveur de nom ) multi on (une machine peut avoir plusieurs adresses IP (dans le cas de multiples interfaces réseaux) q /etc/resolv. conf domain iut. univ-mlv. fr (nom de domaine local de l'ordinateur) nameserver 195. 98. 246. 50 (adresse du serveur DNS primaire ) domainsearch univ-mlv. fr (liste de domaines à essayer, si le nom d'hôte ne précise pas son domaine, jusqu'à 3 serveurs de noms ) q /etc/networks décrit les noms et adresses IP des différents sous-réseaux routables à partir de l'hôte q /etc/conf. modules alias eth 0 ne 2000 (interface réseau installée) options ne 2000 io=0 x 240 (paramètre de l’interface) Linux 54

Configuration en mode graphique q Toutes les distributions proposent des utilitaires en mode graphique

Configuration en mode graphique q Toutes les distributions proposent des utilitaires en mode graphique (Netconf…) permettant de paramétrer le réseau (périphérique réseau, adresses IP, passerelle, DNS…) Linux 55

Utilitaires réseau (1) Est-ce bien utile ? q dmesg permet de relire les information

Utilitaires réseau (1) Est-ce bien utile ? q dmesg permet de relire les information délivrée lors de l’initialisation. Par exemple pour la carte réseau : ne 2 k-pci. c: PCI NE 2000 clone 'Real. Tek RTL-8029' at I/O 0 x 6000, IRQ 11. eth 0: PCI NE 2000 found at 0 x 6000, IRQ 11, 00: 40: 95: 36: 70: 37. q Ifconfig permet de vérifier que l'adaptateur réseau est bien lié à la couche réseau du noyau Linux et activé. Ø Ø ifconfig nom-interface renseigne sur l'interface, son paramétrage et son activité ifconfig lo (interface loopback) ifconfig eth 0 (interface Ethernet) donne la configuration irq, adresse E/S ifconfig nom-interface adresse-IP assigne cette adresse à l'interface et l'active Si l'interface réseau n'est pas active, la commande ifconfig eth 0 renvoie par exemple : ne. c : no PCI cards found. Use io=0 x. NNN valuesfor ISA cards eth 0 : Device not found Linux 56

Utilitaires réseau (2) Pas net le ping ! q ping permet de vérifier la

Utilitaires réseau (2) Pas net le ping ! q ping permet de vérifier la communication en bouclage locale et avec les machines voisines. Ø ping 127. 0. 0. 1 teste les fonctionnalités réseau et l’implantation des protocoles TCP-IP en bouclage local. Ø ping @ locale (par ex. ping 192. 168. 0. 1) teste le fonctionnement de l’interface réseau de la station. Ø ping @ distante (par ex. ping 192. 168. 0. 2) teste la communication avec une station voisine. Ø ping nom-station (par ex. ping p 01) fonctionne si le fichier /etc/hosts est renseigné ou si un serveur DNS est présent. q route permet de connaître ou de modifier la table de routage de la station ou du routeur. q traceroute permet de connaître les routeurs traversée pour atteindre une station distante. q netstat affiche des informations et des statistiques sur les connexions réseau. q arp et rarp listent les entrées du cache de correspondance entre adresses IP et MAC. Linux 57