Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis (Design) --2014
Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali
description
Transcript of Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali
![Page 1: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/1.jpg)
1
Cours Systèmes d’exploitation& Linux
Formation GTI
Septembre 2006
Ahmed Jebali
![Page 2: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/2.jpg)
Plan du cours1. Linux: Introduction générale2. Initiation au shell3. Le système de fichiers4. Les redirections & pipes5. La gestion des utilisateurs6. Les processus7. Les filtres8. L’éditeur vi 9. Les scripts10.Fonctions avancées
![Page 3: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/3.jpg)
Logiciel Libre
Liberté d’utiliser le logiciel pour n’importe quelle utilisation
Liberté d’étudier le fonctionnement du logiciel et de l’adapter à ses besoins
Liberté de redistribuer des copies du logiciel
Liberté d’améliorer le logiciel et de distribuer publiquement ces
améliorations pour le bénéfice de toute la communauté
![Page 4: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/4.jpg)
Pourquoi utiliser les logiciels libres ?
•C’est le domaine des technologies de l’information qui possède une histoire cohérente et continue
•Ce sont les systèmes alternatifs qui permettent une analyse comparative critique
•C’est un moyen d’acquérir des outils et des méthodes originales
•C’est un moyen de s’approprier les nouvelles technologies de façon autonome et indépendante
![Page 5: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/5.jpg)
Définir Linux
• Propriétés– multi-tâches :– multi-utilisateurs :– multi-postes :– Outils / logiciels gratuits– Environnement de développement– Libre (et gratuit) !! :
• Ouverture/Fermeture d’une session– Travailler sous Linux implique une connexion au système– Login:
• Identification de l’utilisateur: login + mot-de-passe• droits accordés par le super-utilisateur (root)
– Logout:• procédure de sortie• commande “logout” dans la console
![Page 6: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/6.jpg)
Concepts de base
•Kernel = NoyauGestion des Entrées/SortiesOrdonnancement des tâches (scheduleur)Gestion de la mémoire virtuelle
•ShellInterprétation des commandes utilisateurSéquencement entre les programmes
•ApplicationAjout et|ou retrait à l’aide de paquetsDéveloppements modulaires pour partager les bibliothèques entre applications
![Page 7: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/7.jpg)
L’histoire…
Linux est le petit fils de Unix
Voir « Unix history »
![Page 8: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/8.jpg)
La première fois !• Une fois connecté, le système nous connaît,
ouvre une session à notre nom et attend nos instructions via un programme spécial:
• Le Shell = interpréteur de commandes– interface utilisateur “de base” (interlocuteur avec le syst.)– interprétation ligne à ligne– plusieurs shells: sh, csh, tcsh, bash, ksh, zsh, ...– configurable: fichiers d’environnement (commençant par un “.”)
• “.login”• “.logout”• “.bashrc”
– langage de programmation
• shell par défaut : bash
![Page 9: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/9.jpg)
Les utilisateurs et les groupes
• Linux est multi-utilisateurs
• Chaque utilisateur a un login = nom identifiant unique
• Un utilisateur particulier : root
• Rôle du root :
– Administrer la machine
– Configurer les comptes utilisateurs
– Résoudre les problèmes systèmes
• Les utilisateurs sont organisés dans des groupes– s’ils partagent les mêmes fichiers
– S’ils ont les mêmes responsabilités
– S’ils appartiennent au même service
![Page 10: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/10.jpg)
Procédure de login
1. Démarrer la machine2. Choisir le système Linux3. Login : root4. Passwd :
![Page 11: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/11.jpg)
Initiation au shell
• Format général des commandes:
commande [-option(s)] [argument(s)]
Exemple : ls –a *.txt
![Page 12: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/12.jpg)
Exemples
– date– touch fic crée un fichier fic
– hostname– whoami
affiche le nom de login de l’utilisateur connecté
– echo affiche un message (echo "bonjour !")
– lsliste le contenu d’un répertoire
– man <cde>manuel en ligne de la commande <cde>
![Page 13: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/13.jpg)
Exercice
1. Chercher la page manuelle de la commande ls
2. Tester les différentes options ( -R)
3. Tester ces mêmes options sur l’argument /
![Page 14: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/14.jpg)
Sortie de lsdrwx------ 7 jebali sor 512 Sep 30 17:51 cours1.psdrwxr-xr-x 4 jebali sor 512 Sep 12 2003 xIngenieurdrwxr-xr-x 4 jebali sor 1024 Oct 10 2003 xMedianetdrwxr-xr-x 14 jebali sor 1024 Sep 28 12:22 xPackdrwx------ 55 jebali sor 1536 May 16 14:48 xPersonneldrwx------ 4 jebali sor 512 Jul 10 2000 xProjetdrwxr-xr-x 3 jebali sor 512 Dec 29 2000 xReunion-rw-r--r-- 1 jebali sor 888 Nov 26 1999 notes.txtdrwx------ 2 jebali sor 512 Jan 16 2002 xShrapdrwxr-xr-x 4 jebali sor 512 Jul 11 2000 xTheselrwxr-xr-x 1 jebali sor 17 Apr 11 2002 yoko -> /home/yoko/
![Page 15: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/15.jpg)
Shell : les méta-caractères
• Caractères spéciaux:
! ^ * ? [] \ ; & < > | >>
• L'astérisque ou étoile: *– interprété comme toute suite de caractères alphanumériques– utiliser avec précaution (commande rm par ex...)
• Le point d’interrogation: ?– remplace 1 seul caractère alphanumérique
![Page 16: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/16.jpg)
Shell : les méta-caractères
• Caractères spéciaux:
! ^ * ? [] \ ; & < > | >>
• Le point-virgule: ;– Séparateur de commandes
• Les crochets: []– Remplace un caractère choisi parmi ceux énumérés entre les
crochets – [a-Z] : les lettres
![Page 17: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/17.jpg)
Exercice
Ecrire une commande qui affiche les fichiers dont le nom
1. se compose de 4 caractères
2. se compose de deux caractères ou plus
3. se compose de de deux caractères séparés par un -
![Page 18: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/18.jpg)
Les variables d’environnement
La commande env affiche les variables d’environnement
La plupart servent à configurer l’environnement utilisateur
export Nomvariable=valeur affecte valeur à la variable
echo $Nomvariable affiche la valeur de la variable
![Page 19: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/19.jpg)
Variables d’environnement
La variable PS1 contient le « prompt » = l’invite de commande
\d pour ajouter la date\t pour ajouter l'heure\u pour ajouter le nom de l'utilisateur\r pour un retour à la ligne\w pour ajouter le chemin complet du répertoire courant\W pour ajouter le répertoire courant\h pour ajouter le nom de la machine
Exercice : changer le contenu de cette variable
![Page 20: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/20.jpg)
Exercice
Ecrire une commande qui affiche
1. La variable d’environnement contenant le chemin des exécutables
2. Deux variables d’environnements de votre choix
3. Les fichiers dont le nom est le contenu d’une variable d’environnement que vous avez créé à l’avance, et avec une extension.numéro (exemple fic.9)
![Page 21: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/21.jpg)
Forme générale des commandes
Entrée standard (clavier)
Sortie standard (écran)
Sortie d’erreur (écran…)
Commande
![Page 22: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/22.jpg)
Exemple
Lancer la commande sort Donner des noms de villes par exemple Finir par Ctr-d Observer le résultat
![Page 23: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/23.jpg)
Mécanisme de redirection
< nomfic prend comme entrée nomfic > nomfic envoyer la sortie de la commande dans ce fichier >> ajouter la sortie au fichier
Faire le test avec les commandes que vous connaissez
![Page 24: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/24.jpg)
Exercice
Ecrire une commande qui stocke les informations Propres au système dans un fichier nommé sysinfo Propres à l’utilisateur dans le fichier userinfo
Ces informations sont récupérées soit dans les variables d’environnement soit avec des commande que vous connaissez.
![Page 25: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/25.jpg)
Les tubes/pipes
Entrée standard
Sortie standard
Sortie d’erreur
Commande
Sortie standard
Sortie d’erreur
Exemple : ls | sort
AltGr-6
![Page 26: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/26.jpg)
Exercice
Ecrire une commande qui ordonne dans l’ordre inverse Les variables d’environnements Le contenu d’un fichier de noms de pays
![Page 27: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/27.jpg)
Commandes
Chercher dans le manuel ces commandescat nomfichiermore nomfichierwc grep texte nomfichierhead nomfichiertail nomfichier
![Page 28: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/28.jpg)
Exercice
Ecrire une commande qui calcul le nombre d’occurrencede « Paris » dans un fichier de noms de villes.
![Page 29: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/29.jpg)
Les scripts
• Des utilitaires écrits avec des commande du shell.
• Interprétés directement en shell
• Gère l’interactivité avec l’utilisateur
• Commence par #!/bin/shellutilisé
• Ne pas oublier le droit exécution !
![Page 30: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/30.jpg)
Système de fichiers
• Implanté sur une partition du disque
• Structuré en répertoire
• La racine est /
Exo :
cd /
ls/bin/etc /usr
/
![Page 31: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/31.jpg)
Arborescence de Linux
• / la racine– /bin
– /usr
– /root
– /lib
– /etc
– /home
– /dev
– /var
– /mnt
– /boot
– /sbin
![Page 32: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/32.jpg)
Commandes du FS
• Répertoires
• mkdir nom-de-répertoire Création d'un répertoire
• rmdir nom-de-répertoire Suppression d'un répertoire vide
• mv répertoire répertoire-d'accueil déplacement
• mv répertoire nouveau-nom
• Fichiers
• touch mon-fichier création d'un fichier vide
• more mon-fichier visualisation d'un fichier par page
• rm mon-fichier suppression
• mv mon-fichier répertoire déplacer
• mv mon-fichier nouveau-nom renommer
• cp nom-fichier répertoire-d'accueil/autre-nom copie
• file mon-fichier type de fichier
![Page 33: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/33.jpg)
Sortie de ls –ldrwx------ 7 jebali sor 512 Sep 30 17:51 cours1.psdrwxr-xr-x 4 jebali sor 512 Sep 12 2003 xIngenieurdrwxr-xr-x 4 jebali sor 1024 Oct 10 2003 xMedianetdrwxr-xr-x 14 jebali sor 1024 Sep 28 12:22 xPackdrwx------ 55 jebali sor 1536 May 16 14:48 xPersonneldrwx------ 4 jebali sor 512 Jul 10 2000 xProjetdrwxr-xr-x 3 jebali sor 512 Dec 29 2000 xReunion-rw-r--r-- 1 jebali sor 888 Nov 26 1999 notes.txtdrwx------ 2 jebali sor 512 Jan 16 2002 xShrapdrwxr-xr-x 4 jebali sor 512 Jul 11 2000 xTheselrwxr-xr-x 1 jebali sor 17 Apr 11 2002 yoko -> /home/yoko/
![Page 34: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/34.jpg)
Type de fichiers
• - fichier normale
• d : répertoire (directory)
• b : bloc, fichier spécial mode bloc
• c : caractère, fichier spécial mode caractère
• l : lien symbolique
• p : fichier pipe
• s : socket
![Page 35: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/35.jpg)
Droits• Organisé en trois lots• Droits utilisateur, du groupe, des autres• Exo ls –l• R: read lire• W : write écrire• X : execute exécution• Attention signification différente selon fichier ou
répertoire
![Page 36: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/36.jpg)
Changer les droits d’accès
• chmod [droit] nomfichier• Les droits sont exprimés par
ugo+/-rwx
Exercice :
changer les droits de vos fichiers
Enlever le droit de lecture pour le propriétaire
Et voir si vous pouvez afficher son contenu
![Page 37: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/37.jpg)
Droits en octal
• Exprimer les droits avec les chiffres
• 0 pas de droits
• 1 pour - - x
• 2 pour - w –
• 3 pour – wx …
• Exemple :
![Page 38: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/38.jpg)
Droits d’accès sur les répertoires
• x : travaerser avec la commande cd
• r : lister le contenu avec ls
• w : écriture, donc supprimer aussi des fichiers
![Page 39: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/39.jpg)
Gestion de l’espace de stockage
Consulter le manuel des commandesdf du
![Page 40: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/40.jpg)
Les inodes
• Comment les voir : ls –li
• C’est quoi ?– Un numéro qui renvoie sur une structure dans
une table d’inodes– Information : nom, taille, date, permission,
![Page 41: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/41.jpg)
Les montages : introduction
• Tout appartient à /
• Chaque périphérique est monté sur un répertoire appartenant à /
• Comment faire : avec la commande mount
• mount /dev/periph /mnt/repertoire• Puis on peut naviguer dans /mnt/repertoire
![Page 42: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/42.jpg)
Exercice
Calculer le nombre de fichiers et de répertoire dans votrerépertoire de travail
Calculer le nombre de répertoiress et sous-répertoire dans votrerépertoire de travail.
![Page 43: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/43.jpg)
L’éditeur vi
Consulter le manuel de la commandevi
vi est un éditeur de texte basique.
D’autres éditeurs de texte sont utilisés comme pico.
![Page 44: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/44.jpg)
Gestion des utilisateurs
• Un utilisateur privilégier : root
• Appartient au groupe root
• Et les autres !
![Page 45: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/45.jpg)
Identification
• Uid : user identificateur numéro d’identification de l’utilisateur– Pour le root c’est 0
• Gid : Group identificateur numéro d’identification du groupe– Pour le root c’est 0
![Page 46: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/46.jpg)
Gestion des utilisateurs
• La commande useradd
• Comportement par défaut de la commande– Ajoute un utilisateur au système– Lui créer un groupe du même nom– Crée un répertoire dans /home/ avec ce nom– Copie /etc/skel/* dans /home/nom-utilisateur
![Page 47: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/47.jpg)
Exercice
• man useradd– Explorer les différentes options– Combiner plusieurs options
![Page 48: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/48.jpg)
Attribution d’un mot de passe
• Avec la commande passwd nomutilisateur
• Demande de confirmation
• Vérification de la robustesse du mot de passe
![Page 49: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/49.jpg)
Supprimer un utilisateur
• Avec la commande userdel
• Avec l’option –r on supprime aussi son répertoire
![Page 50: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/50.jpg)
Le fichier /etc/passwd
Extrait du fichier :root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:daemon:x:2:2:daemon:/sbin:adm:x:3:4:adm:/var/adm:lp:x:4:7:lp:/var/spool/lpd:sync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/halt
![Page 51: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/51.jpg)
Le fichier /etc/passwd
• Les champs :– Nom utilisateur
– Mot de passe : codé, ou x donc dans /etc/shadow, ou !! Interdit de connexion
– UID
– GID
– Libre : nom et prénom, adresse…
– Le répertoire de connexion
– Le shell
![Page 52: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/52.jpg)
Le fichier /etc/shadow
• Contient les mots de passe cryptés• Champ :
– Nom utilisateur
– Mot de passe
– Dernière date de modification
– Min nombre de jour avant le quel le pass peut être changé
– Max nombre de jour après lequel le pass doit être changé…
![Page 53: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/53.jpg)
Le fichier /etc/group
Contient la description des groupes des utilisateursOrganisé en champs :
Le nom du groupeMot de passe (non utilisé)Le numéro du groupeChamps videChamps descriptionListe des membres
![Page 54: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/54.jpg)
Manipulation des groupes
• La commande groupadd
• groupdel
• groupmod
![Page 55: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/55.jpg)
Exercice
• Noter les droits des fichiers– /etc/passwd– /etc/shadow– /etc/group
![Page 56: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/56.jpg)
Exercice
• Créer « manuellement » un utilisateur
• Attention aux manipulations !
• Démarche :– Éditer passwd shadow group– Créer /home/user– Copier /etc/skel– Changer le propriétaire et le groupe
![Page 57: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/57.jpg)
Connexion et profil des utilisateurs
• À la connexion /etc/profile puis /home/user/.profile
• Sur Linux :– Si /etc/profile– Si /home/user/.bash_profile existe, il est exécuté
• Sinon si /home/user/.bash_login existe il est exécuté– Sinon si /home/.profile existe il est exécuté
• Cas particulier : Mandrake .bash_profile appelle .bashrc qui appelle /etc/bashrc
![Page 58: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/58.jpg)
Exercice
• Changer l’environnement de l’utilisateur en agissant sur ces fichiers
![Page 59: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/59.jpg)
Les processus
• Définition : un processus est un programme dont l’exécution est en cours.
• Un programme existe d’abord sous forme de fichier exécutable
• Il est ensuite chargé en mémoire puis exécuté -> donc devient processus
• Un même programme peut être exécuté plusieurs fois (cas de /bin/bash)
• Time sharing : méthode de partage du temps processeur entre les processus en time slice (= 5ms)
![Page 60: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/60.jpg)
États d’un processus Linux
Exécutable En exécution
EndormiSleeping S
Fin et destruction
Running R
Exécutable : dans la file de l’ordonnanceurEn exécution : sur le processeurEndormi : attend un événement (clavier, communication, sémaphore)Zombi : un processus terminé, mais son père n’est pas informé
Création
![Page 61: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/61.jpg)
Un peu de code noyau
volatile long state;
#define TASK_RUNNING 0
#define TASK_INTERRUPTIBLE 1
#define TASK_UNINTERRUPTIBLE 2
#define TASK_ZOMBIE 4
#define TASK_STOPPED 8
![Page 62: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/62.jpg)
Caractéristique d’un processus
• Le PID : Process Identifier, numéro identificateur du processus
• Ce numéro est attribué par le noyau de façon unique par processus
• Renvoie vers une table de processus gérée par le noyau
![Page 63: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/63.jpg)
Linux : Gestion des Processus
•Au démarrage le processus init est créé•init crée tous les autres processus qui sont ses fils•La commande ps nous permet de voir les processus créés
init
syslogd crond ….
![Page 64: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/64.jpg)
La commande ps
• Infos retournées par ps:[jebali:~] ps PID TT TIME COMMAND 3899 p1 0:00.08 -zsh 4743 p1 0:00.14 emacs 4180 std 0:00.04 -zsh
numéro de processus
temps CPU utilisé
commandeexécutée
terminalassocié
![Page 65: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/65.jpg)
Autres informations avec ps
• ps –alx• UID : numéro de l’utilisateur• PID : numéro du processus• PPID : numéro du processus père• PRI : priorité du processus fixée par le système• NI(CE) : facteur influençant la priorité• STAT : état du processus• TTY : le terminal auquel le processus est rattaché
![Page 66: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/66.jpg)
Exercice
• Exécuter ps –alx
• Retrouver l’arbre généalogique de votre processus bash
• bash a-t-il des fils ? lesquels ?
![Page 67: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/67.jpg)
Exercice
Ecrire une commande qui calcule le nombre de processusde l’utilisateur root
![Page 68: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/68.jpg)
Arbre des Processus
• Infos retournées par pstree (-a):init-+-ahc_dv_0 |-crond |-cupsd |-devfsd |-keventd |-khubd |-kinoded |-klogd |-ksoftirqd_CPU0 |-kswapd |-kupdated |-lockd |-mdrecoveryd |-6*[mingetty] |-10*[mysqld_safe---mysqld---mysqld---mysqld] |-8*[nfsd] |-ntpd |-portmap
![Page 69: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/69.jpg)
Une vue dynamique de l’exécution des processus : top
• top : affiche en boucle les processus du système (fréquence 1s)
• On interagie avec top en appuyant sur une touche :– h aide– u nomutilisateur : que les processus de
l’utilisateur– …
![Page 70: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/70.jpg)
Priorités
• Chaque processus a une priorité d’exécution
• Sous Linux les priorités vont de –20 à 19
• Plus la valeur est grande plus la priorié est petite
• La commande nice affecte la priorité
• #>nice –5 find / -name *.c
![Page 71: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/71.jpg)
Avant plan et tâche de fond
• Avant plan : on tape la commande ou le nom du programme, on n’a pas la main sur le terminal, on attend que la commande fini
• Tâche de fond ou en arrière plan : on lance la commande ou le programme puis on a la main sur le terminal de suite
• Comment ? Avec le signe & à la fin de la commande
• Typiquement, les serveurs tournent en tâche de fond
![Page 72: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/72.jpg)
Passage avant - arrière plan
• Suspendre le processus en avant plan Ctrl-z
• bg pour redémarrer le processus et arrière plan
• fg pour passer le processus de l’arrière plan à l’avant plan
• jobs connaître les processus en arrière plan
![Page 73: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/73.jpg)
Les signaux
• Un signal est un événement logiciel envoyé à un processus
• Envoyé par le noyau, l’utilisateur, un autre programme
• kill –l liste tous les signaux, désignés par un nom auquel correspond un numéro
![Page 74: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/74.jpg)
Les signaux•Chaque processus peut recevoir des signanux•Chaque signal a une signification particulière•Pour envoyer un signal on utilise la commande kill•Exemple kill –9 2345
Nom du signal Numéro Description
SIGINT 2 touche Ctrl-C, termine le processus
SIGKILL 9 arrêter tout programme car il ne peut être géré différemment que le comportement par défaut. L'arrêt du programme est brutal.
SIGTERM 15 Arrête le processus, mais permet d’effectuer des opérations avant l’arrêt.
SIGCHLD 17 Informe le père de la mort de son fils
![Page 75: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/75.jpg)
La commande trap
• Permet de modifier la réaction d’un processus via-à-vis d’une commande
• À la réception d’un signale permet :– De l’ignorer– D’exécuter une commande particulière– De restaurer le comportement par défaut
![Page 76: Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali](https://reader036.fdocuments.fr/reader036/viewer/2022062409/56814e90550346895dbc36e6/html5/thumbnails/76.jpg)
Exemples
• Ignorer les signaux 2 et 3– trap ‘’ SIGINT SIGQUIT
• Exécuter une commande– trap ‘echo signal recu’ SIGINT
• Restaurer le comportement par défaut– trap - SIGINT