& Linux
1
Plan du cours
1. Linux: Introduction générale
2. Initiation au shell
3. Le système de fichiers
4. Les redirections & pipes
5. La gestion des utilisateurs
6. Les processus
7. Les filtres
8. L’éditeur vi
9. Les scripts
10. Fonctions avancées
Logiciel Libre
•Ce sont les systèmes alternatifs qui permettent une analyse comparative
critique
1. Démarrer la machine
2. Choisir le système Linux
3. Login : root
4. Passwd :
Initiation au shell
• Format général des commandes:
Exemple : ls –a *.txt
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 !")
– ls
liste le contenu d’un répertoire
– man <cde>
manuel en ligne de la commande <cde>
Exercice
• 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
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
Exercice
1. se compose de 4 caractères
Entrée standard
Commande
Sortie
Sortie d’erreur
d’erreur
Exemple : ls | sort
AltGr-6
Exercice
ls
Arborescence de Linux
• / la racine
– /bin
– /usr
– /root
– /lib
– /etc
– /home
– /dev
– /var
– /mnt
– /boot
– /sbin
Commandes du FS
• Répertoires • Fichiers
• mkdir nom-de-répertoire Création • touch mon-fichier création d'un fichier vide
d'un répertoire • more mon-fichier visualisation d'un fichier
par page
• rmdir nom-de-répertoire • rm mon-fichier suppression
Suppression d'un répertoire vide • mv mon-fichier répertoire déplacer
• mv mon-fichier nouveau-nom renommer
• mv répertoire répertoire-d'accueil • cp nom-fichier répertoire-d'accueil/autre-
déplacement nom copie
• file mon-fichier type de fichier
• mv répertoire nouveau-nom
Sortie de ls –l
drwx------ 7 jebali sor 512 Sep 30 17:51 cours1.ps
drwxr-xr-x 4 jebali sor 512 Sep 12 2003 xIngenieur
drwxr-xr-x 4 jebali sor 1024 Oct 10 2003 xMedianet
drwxr-xr-x 14 jebali sor 1024 Sep 28 12:22 xPack
drwx------ 55 jebali sor 1536 May 16 14:48 xPersonnel
drwx------ 4 jebali sor 512 Jul 10 2000 xProjet
drwxr-xr-x 3 jebali sor 512 Dec 29 2000 xReunion
-rw-r--r-- 1 jebali sor 888 Nov 26 1999 notes.txt
drwx------ 2 jebali sor 512 Jan 16 2002 xShrap
drwxr-xr-x 4 jebali sor 512 Jul 11 2000 xThese
lrwxr-xr-x 1 jebali sor 17 Apr 11 2002 yoko -> /home/yoko/
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
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
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
Droits en octal
• Exprimer les droits avec les chiffres
• 0 pas de droits
• 1 pour - - x
• 2 pour - w –
• 3 pour – wx …
• Exemple :
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
Gestion de l’espace de stockage
• Et les autres !
Gestion des utilisateurs
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
– id user permet d’afficher le UID d’un utilisateur
identification
• finger permet d’afficher les information
d’un utilisateur
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
Exercice
• man useradd
– Explorer les différentes options
– Combiner plusieurs options
useradd
Extrait du fichier :
root:x:0:0:root:/root:/bin/bash
bin: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/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
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
Le fichier /etc/shadow
• Contient les mots de passe cryptés
• Champ :
– Nom utilisateur
– Mot de passe
– Dernière date de modification depuis 1 janv 1970 en j
– Min nombre de jour avant le quel le pass peut être changé
– Max nombre de jour après lequel le pass doit être changé…
– Days_Warm les jours d’informations avant l’expiration de mots de
passe ; par defaut 7 jours
– Disabled_Days nombre de jours d’attente avant la desactivation
– Expire
• Pour vérifier l’intergrite entre les mots de
passes
Utiliser pwck
useradd
• /etc/dafault/useradd : contient les parametres par
defaut utilisés par useradd
passwd
• Créer un mot de passe pour un utilisatreur
• passwd user
• Pour visualiser l’atat de mot de passe
• passwd –S user
Le fichier /etc/group
Endormi
Sleeping S
#define TASK_RUNNING 0
#define TASK_INTERRUPTIBLE 1
#define TASK_UNINTERRUPTIBLE 2
#define TASK_ZOMBIE 4
#define TASK_STOPPED 8
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
Linux : Gestion des Processus
init
syslogd crond ….
La commande ps
• Infos retournées par ps: temps CPU utilisé
[jebali:~] ps
PID TT TIME COMMAND
3899 p1 0:00.08 -zsh
numéro de 4743 p1 0:00.14 emacs
processus commande
4180 std 0:00.04 -zsh
exécutée
terminal
associé
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é
Exercice
• Exécuter ps –alx
• Retrouver l’arbre généalogique de votre
processus bash
• bash a-t-il des fils ? lesquels ?
Exercice