Vous êtes sur la page 1sur 104

LINUX

Rahal ROMADI, ENSIAS

1
unité 1

Commandes de base

2
Commandes liées à
l’arborescence
n La commande pwd
n Affiche le nom du répertoire courant
n La commande ls
n Affiche les fichiers et sous-répertoire d’un répertoire
Syntaxe : ls [option] [nom_de_répertoire]
n Options utils

n F: ajout d’une indication de type


n l : affiche les principaux attributs des fichiers et répertoires
Type droits liens propriétaire groupe taille date nom
n a : affiche les fichiers et répertoires dont le nom commence par
un point.
n d : n’affiche pas le contenu du répertoire
n R : affichage récursif

3
Commandes liées à
l’arborescence
n La commande cd (change directory)
Permet un déplacement sous le répertoire passé en argument
Syntaxe : cd [nom_répertoire]
Exemple
- cd ou cd ~
- cd ..
- cd nom_répertoire

- cd -

- Dans le cas d’un chemin relatif, le répertoire est

recherché à partir du répertoire courant ou en


utilisant la variable CDPATH.
4
Commandes générales sur les
fichiers
n Création d’un fichier vide
n touch nom_fichier
n > nom_fichier
n Affichage du contenu d’un fichier (texte)
n cat nom_fichier [nom_fichier, …]
n Copier un fichier
n cp fichier1 fichier2
n cp fichier1 [fichier2 fichier3 …] répertoire
n cp –R répertoire1 répertoire2
n Renommer ou déplacer un fichier
n mv fichier1 fichier2
n mv fichier1 [fichier2 fichier3 …] répertoire
5
Commandes générales sur les
fichiers
n Supprimer un fichier
rm [options] fichier1 [fichier2 …]
n Options utils

n i : affiche une demande de confirmation de suppression


n r : suppression récursive (attention aucune demande de
confirmation)
n f : devient importante lorsqu’on cherche à supprimer des
fichiers appartenant à un autre propriétaire

6
Commandes générales sur les
fichiers
n Affecter plusieurs noms à un fichier
n Liens
ln fichier1 fichier2
n Liens symboliques
ln –s répertoire1 répertoire2

7
Gestion des répertoires
n Créer un répertoire
mkdir nom_rép [nom_rép …]
Remarque Le répertoire est non vide :
n . : référence au répertoire courant
n .. : référence au répertoire du niveau supérieur
n Suppression d’un répertoire vide
rmdir nom_rép [nom_rép …]
n Il n’est pas possible de supprimer le répertoire
courant
n Pour la suppression d’un répertoire non vide, la
commande rm avec l’option –r est plus pratique
8
Redirection des entrées-sorties
n Redirection en sortie
Récupération du résultat d’une commande ailleurs
qu’à l’écran
Commande > fichier
n Si le fichier existe déjà son contenu sera perdu

Sinon il faut utiliser deux fois le caractère supérieur


Commande >> fichier
n Si le fichier n’existe pas, il est créé

automatiquement

9
Redirection des entrées-sorties
n Redirection de l’entrée
Permet à une commande d’utiliser comme données,
le contenu d’un fichier à la place d’une lecture clavier
Commande < nom_fichier_de_redirection
n Canaux standard
n Stdin 0
n Stdtout 1
n Stderr 2 ( commande 2> /dev/null redirection des erreurs sur la
poubelle)
n Réunion de canaux d’entrée-sortie
… > fichier 2>&1
10
Les filtres
n Un filtre est une commande sachant
écrire et lire des données par les
canaux d’entrée et de sortie standard.
n Exemple
n wc (options l w c)
n sort
n grep
n More, pg

11
Les tubes
n Un tube (pipe) permet d’établir une liaison
directe entre le canal de sortie standard d’une
commande avec le canal d’entrée standard
d’une autre

Commande1 | commande2 | … |commanden

Exemple
ls | wc -w combien de fichiers sont contenus dans un
répertoire

12
Critères de recherche de noms de
fichiers
n Modèles de noms de fichier
n * : remplace une chaîne vide ou de longueur variable
n ? : remplace un caractère unique quelconque
n [] : représente une série ou une plage de caractère
n [!…] : inverse la recherche

n Exemples
n a* : les fichiers dont le nom commence par a
n a?? : fichiers en trois lettres, commençant par a
n [aA]* : fichiers dont le nom commence par un a minuscule ou
majuscule.
n [a-m]* : fichiers dont le nom commence par une lettre de la plage
a-m.
n Attention rm *
13
Verrouillage des caractères
spéciaux
n Il est parfois utile de désactiver la
signification spéciale des caractères *, ?, [] et
!
n Exemple
n rm a* : supprime tous les fichiers dont le nom
commence par a
n Pour supprimer le fichier a*, il faut désactiver le *;
n Caractères spéciaux de désactivation
n Backslash (\)
n Guillemets (``…. ``)
n Apostrophes (‘…’)
14
Programmes utilitaires et
filtres
n Recherches de lignes dans un fichier (grep)
n La commande grep permet d’extraire des lignes particulières
d’un fichier ou d’un flux de données au sein d’un tube
Syntaxe grep [option] modèle_de_critères [fichier1 …]
n Les cinq options du grep les plus utiles sont :
n i : pour ne pas tenir compte des majuscules/minuscules,
n v : toutes les lignes ne contenant pas le critère,
n n : pour avoir les numéros de ligne,
n E : pour les expressions régulières plus compliquées,
n l : pour lister seulement les fichiers et non pas les lignes contenant
la chaîne recherchée,
n c : la commande ne retourne que le nombre de lignes trouvées

15
Programmes utilitaires et filtres
(grep)
n Le modèle de critères peut contenir les caractères
spéciaux suivants :
n […] : Plage de caractères permis à cet emplacement
n [^…] : Plage de caractères non permet à cet emplacement
n .: Un caractère quelconque (y compris un espace)
n * : Signe de répétition. Agit sur le caractère placé devant le
*
n $ : Matérialise une fin de ligne
n | : ou
n ^ : début de ligne
n \{…\} : Caractère de répétition, entre les accolades
n \{nombre\} nombre exacte

n \{nombre,\} nombre minimum

n \{nombre1,nombre2\} de nombre1 à nombre2

16
Programmes utilitaires et filtres
(grep)
Rq Ces caractères spéciaux doivent être
interprétés par la commande grep et non pas
par le shell

Le modèle de critères doit être mis entre


guillemets ou entre apostrophes
Exemple
grep ‘[A-Z][A-Z]*$’ timbres

17
Programmes utilitaires et filtres
(grep)
n nombre de lignes commençant par ! Dans le
fichier fichier1 :
grep "^!" fichier1 | wc -l
n recherche de STOP avec le numéro de la ligne :
grep -n -i stop fichier1
n liste de tous les fichiers qui n'ont pas "image" ou
"son" dans leur nom :
ls | grep -vE "(image|son)"
n liste des lignes contenant "image" ou "son" dans
tous les fichiers du répertoire courant
grep -E "(image|son)" *

18
Programmes utilitaires et filtres
commande cut
n Sélection de colonnes et de champs
Syntaxe cut –csélection_de_colonne [fichier …]
n Sélection_de_colonne pourra représenter
l’une des informations suivantes:
n Une colonne seule (par exemple -c5),
n Une plage de colonnes (par exemple -c3-10 ou -
c8-),
n Une liste de nombres séparés par des virgules
(par exemple -c3,7,9),
n Une combinaison des trois formes précédentes
(par exemple -c1-3,7,20-).
19
Programmes utilitaires et filtres
commande cut
n Sélection de champs
Syntaxe
cut [-dx] –fsélection_de_champ [fichier ..]
n x désigne le caractère de séparation de champs
n Sélection_de_champ suit les mêmes règles que la
sélection des colonnes

20
Programmes utilitaires et filtres
n Tri par lignes
n La commande sort effectue un tri par
lignes en ordre croissant.
Syntaxe sort [options] [+pos1] [-pos2] …] [fichier …]
n Par défaut le tri porte sur chaque ligne prise en intégralité
n Avec les options +pos1 et –pos2, vous sélectionnerez les
champs à utiliser comme critères de tri.Sort numérote les
champs en commençant par 0.
n Le second critère ne sera mis en œuvre que si le premier
critère ne suffit pas à départager les lignes.

21
Programmes utilitaires et filtres
sort
n Les options utils:
n d : tri ascii
n n : tri numérique
n b : ignore les espaces placés en début de champs
n f : aucune différence n’est faite entre majuscules
et minuscules
n r : inverse l’ordre de tri, donc tri décroissant
n tc : le caractère « c » est défini comme caractère
de séparation entre les champs d’une ligne

22
Programmes utilitaires et filtres
commande tail
n La commande tail affiche la dernière partie d’un
fichier.
Syntaxe tail [- nombre] [fichier]
n Nombre : définit le nombre de lignes à afficher.

Par défaut c’est 10


n Un signe + à la place de – inverse l’effet de la
commande.
n Exemple
n tail –5 timbre affiche les 5 derniers lignes du
fichier timbre
n tail +5 timbre affiche les 5 premiers lignes
du fichier timbre
23
Programmes utilitaires et filtres
commande tee
n Avec l’utilisation d’un tube, le résultat de la
première commande n’est pas accessible.
Pour avoir une copie, on peut utiliser la
commande tee. Le résultat de la première
commande est sauvegardé dans un fichier
dont le nom est passé en argument.
n Exemple
n ls | tee espion | wc –l
n Le résultat de la commande ls est enregistré dans
le fichier espion

24
Recherche de fichiers et de
répertoires
n La commande find parcourt les répertoires et
leurs sous-répertoires de manière récursive, à
la recherche de fichiers.
Syntaxe find répertoire(s) critère_de_sélection
option(s)
n Répertoire : répertoire à partir duquel la recherche doit
commencer
n critère_de_sélection : critères de recherche à mettre en
œuvre
n Option : que doit-il se passer si un fichier répond à ce critère
n Lors de la recherche, un répertoire ne peut être
parcouru que si l’utilisateur dispose des autorisations
de lecture et d’exécution sur ce répertoire.
25
Recherche de fichiers et de
répertoires
n Options des sélection des fichiers et
répertoires
n name : recherche par nom de fichier
n type : recherche par type de fichier
n user : recherche par propriétaire
n group : recherche par l’appartenance à un groupe
n size : recherche par taille de fichier
n atime : recherche par date de dernier accès
n mtime : recherche par date de dernière modification
n ctime : recherche par date de création
n perm : recherche par autorisations d’accès
n links : recherche par nombre de références (links) aux
fichiers
26
Recherche de fichiers et de
répertoires
n Option de commande
n Les options de commande seront traitées pour chaque
fichier trouvé. En dehors de l’option –print qui montre le
chemin d’accès au fichier, on peut mettre en place l’option -
exec
n Les commandes dont il est fait état derrière –exec seront
exécutées sans aucune demande de confirmation
n L’option –ok demande à l’utilisateur si la commande doit
effectivement être exécutée.

27
Recherche de fichiers et de
répertoires
n Traitement sans confirmation avec –exec
n La spécification d’une commande derrière –exec est
soumise à certaines règles:
n L’option –exec doit être la dernière de la commande find
n La commande placée derrière –exec doit être terminée par
le paramètre ;. Comme c’est un caractère spécial, il doit être
masqué par un \
n Pour accéder à un des fichiers trouvés, dans le cadre de la
commande placée derrière –exec, utilisez le raccourci {}
n Exemple

n find . –user student –exec ls –l {}\; ( affiche le format


long de la commande ls pour les fichiers trouvés)
n find . –type f –atime +13 –exec rm {} \; (supprime les
fichiers auxquels vous n’avez plus accédé depuis plus de 2
semaines) 28
Recherche de fichiers et de
répertoires
n Traitement après confirmation avec –ok
n Les mêmes explications s’appliquent également à
l’option –ok, mais celle-ci, demande une
confirmation d’exécution de la commande pour
chaque fichier trouvé. Ce n’est qu’en cas de
réponse affirmative (avec y), que la commande
placée derrière –ok sera exécutée.
n Exemple :
n find . –ok rm {} \;

29
Recherche de fichiers et de
répertoires
n Combinaison de critères pour recherches
complexes
n Les critères de sélection peuvent être combinés.
Un fichier valide doit répondre simultanément à
l’ensemble des critères définis.
n La commande find permet également des
combinaison logiques de ses options
n ! : négation logique des options
n a : liason par ET logique des options de recherche (end)
n o : liaison par OU logique des options de recherche (or)

30
Recherche de fichiers et de
répertoires
n Combinaison de critères pour recherches
complexes
n Si vous utilisez plusieurs opérateurs logiques pour
combiner des options de sélection. Il faut tenir
compte de l’ordre des signes !, -a, -o.
! > -a > -o
n Pour spécifier une combinaison d’options basée
sur un lien ET ou OU, il faut placer l’ensemble de
l’expression entre parenthèse. Les parenthèses
doivent être verrouiller.
n Exemple
n find . \ ( -type d –o –name "*ham" \) -print
31
Compression avec Gzip et Zip
n Les fichiers comprimés utilisent moins
d'espace disque.
n Vous pouvez comprimer les fichiers Linux à
l'aide de l'instrument Gzip ou Zip.
n Par convention, les fichiers comprimés se
voient attribuer l'extension .gz.
n Exemple
n gzip filename.ext
n gunzip filename.ext.gz

32
Compression avec Gzip et Zip
n Pour comprimer un fichier à l'aide de zip, entrez
ceci :
n zip -r filename.zip files

n filename représente le fichier que vous créez, et files


représente les fichiers que vous voulez placer dans le
nouveau fichier
n Pour extraire le contenu d'un fichier zip, entrez :
n unzip filename.zip

n Vous pouvez compresser plusieurs fichiers en même


temps avec zip ou gzip.
n gzip filename.gz file1 file2 file3

33
Archiver avec Tar
n Les fichiers tar placent plusieurs fichiers
ou le contenu d'un répertoire ou de
plusieurs répertoires dans un seul
fichier.
n Généralement, les fichiers tar terminent
par l'extension .tar.
n Pour créer un fichier tar, tapez :
n tar -cvf filename.tar files/directories

34
Archiver avec Tar
n Pour afficher la liste du contenu d'un fichier
tar, entrez :
n tar -tvf foo.tar
n Pour extraire le contenu d'un fichier tar,
entrez :
n tar -xvf foo.tar
n Cette commande n'élimine pas le fichier .tar, mais elle
place des copies du contenu de .tar dans le répertoire
dans lequel vous travaillez actuellement.

35
Archiver avec Tar
n La commande tar ne compresse pas
automatiquement les fichiers. Vous pouvez
compresser les fichiers tar avec :
n tar -czvf foo.tar
n Les fichiers tar compressés se voient attribuer l'extension
.tgz et sont comprimés avec gzip.
n Pour décompresser un fichier tar, entrez :
n tar -xzvf foo.tgz

36
unité 2

Editeur vi

37
Edition de texte avec vi
n L'éditeur vi est disponible sur toutes les
machines UNIX. Il utilise deux modes :
n un mode insertion et
n un mode de commandes.

n La syntaxe d'appel de l'éditeur est


vi fich1

38
Edition de texte avec vi
n Le Mode Insertion
n a ("after") passe en mode insertion après la position courante du
curseur
n i ("insert before") passe en mode insertion avant la position
courante
n A ("append") passe en mode insertion à la fin de la ligne sur
laquelle se trouve le curseur ;
n I ("insert") passe en mode insertion avant le premier caractère non
blanc de la ligne sur laquelle se trouve le curseur ;
n o insertion d’une nouvelle ligne, sous la ligne courante;
n O insertion d’une nouvelle ligne, au dessus de la ligne courante;
n Lorsque l'insertion de texte est terminée, on quitte le mode
insertion pour passer au mode commande en appuyant sur la
touche <ESCAPE>.

39
Edition de texte avec vi
n Le Positionnement du Curseur
n l, <ESPACE> ou -> déplacent le curseur vers la
droite, d'un caractère (jusqu'en fin de ligne) ;
n h ou <- déplacent le curseur vers la gauche, d'un
caractère (jusqu'en début de ligne) ;
n j ou [arrowdown] déplacent le curseur vers le
bas, d'une ligne (jusqu'en fin de fichier) ;
n k ou [arrowup] déplacent le curseur vers le
haut, d'une ligne (jusqu'en début de fichier) ;

40
Edition de texte avec vi
n Recherche d'une Chaîne de Caractères
n /exp recherche la première occurrence
correspondant à l'expression rationnelle exp à
partir de la position courante du curseur, en
avançant dans le fichier (la recherche est
circulaire) ;
n ?exp recherche la première occurrence
correspondant à l'expression rationnelle exp à
partir de la position courante du curseur, en
parcourant le fichier en arrière (la recherche est
circulaire) ;
n n (next) répète la dernière commande / ou ? ;
41
Edition de texte avec vi
n Ajuster l'Écran
n CTRL+F Remonter d’un l'écran ;
n CTRL +B descendre d’un écran;
n z <CR> réaffiche le texte, la ligne courante
devenant la première ligne de l'écran ;
n z- réaffiche le texte, la ligne courante devenant la
dernière ligne de l'écran ;
n z. réaffiche le texte avec la ligne courante au
milieu de l'écran.

42
Edition de texte avec vi
n Manipulation de Fichiers
n :w ("write") enregistre le fichier ;
n :wq ("write and quit") ou ZZ enregistrent le

fichier et quittent l'éditeur ;


n :q ("quit") quitte l'éditeur si le fichier a été

enregistré ;
n :q! ("quit") quitte l'éditeur sans tenir compte des

modifications effectuées ;
Remarque : le caractère : utilisé dans ces
commandes (et qui doit être tapé) s'affiche sur la
dernière ligne de l'écran : la ligne de commandes.

43
Edition de texte avec vi
n Modification de Texte
n u annule la dernière opération effectuée ;
n U rétablit la ligne courante, même si plusieurs
opérations ont été effectuées dessus ;
n J joint la ligne courante et la suivante ;
n rx remplace le caractère sur lequel le curseur est
positionné par le caractère x ;
n w ("word)" avance d'un mot ;
n b ("back word") recule d'un mot ;

44
Edition de texte avec vi
n Copiage et Collage de Texte
n L'éditeur vi gère 9 tampons dans lesquels les
derniers morceaux de texte effacés, coupés ou
copiés sont placés. On peut aussi utiliser des
tampons personnalisés nommés de a à z.
n numyy ou numY ("yank") copie num lignes à
partir de la ligne courante comprise (une ligne par
défaut) ;
n p ("put") colle ce qui a été copié ou effacé après
la position courante ;
n P ("put") colle ce qui a été copié ou effacé avant
la position courante ;
45
Unité 3

Administration des utilisateurs et


des groupes

46
Utilisateurs
n Chaque utilisateur qui utilise le système doit être connu de
celui-ci par un nom et, éventuellement, un mot de passe.
n Un utilisateur doit appartenir à un ou plusieurs groupes
d'utilisateurs pour être autorisé à utiliser le système.
n Il existe plusieurs méthodes d'identification et de contrôle des
utilisateurs, nous ne parlerons ici que de la méthode la plus
simple mettant en oeuvre les fichiers /etc/passwd et /etc/group.
n Les utilisateurs et les groupes sont repérés dans le système par
des numéros : uid pour le numéro d'utilisateur (User IDentifier)
et gid pour le numéro de groupe (Group IDentifier).
n Le numéro est unique pour un utilisateur ou un groupe donné.

n L'identification d'un utilisateur s'effectue dans le fichier


/etc/passwd.
47
Hiérarchie de comptes
n Root
n super utilisateur
n les permissions d ’accès ne sont pas appliquées sur lui
n il peut faire tous
n compte pour l ’administrateur du système
n bin, daemon, lp, sync, news, ftp …
n comptes utilisateur utilisés par différentes applications et
démons
n ne peuvent pas être utiliser comme login
n comptes ordinaires

48
Enregistrer un utilisateur
/etc/passwd
n Un utilisateur est caractérisé par une ligne dans le fichier /etc/password.
/etc/password.
n Une ligne est formée par les champs suivants :
login:passwd:uid:gid:comment:home:shell
n login : Il s'agit du nom de l'utilisateur. C'est un alphanumérique de 8 caractères
maximum.
n passwd : Il apparaît dans ce fichier sous forme codée.
n uid : Il s'agit d'un numéro unique de l'utilisateur. Compris entre 0 et
65535. Les 100 premiers nombres sont par convention réservés au système
et ne correspondent pas à des utilisateurs normaux.
n gid : Numéro de groupe. Chaque utilisateur appartient à un groupe
principal. Il pourra également appartenir à des groupes secondaires.
secondaires. Cette
notion de groupe interviendra au niveau des permissions sur les fichiers.
n comment : Nom complet de l'utilisateur.
n home : Chemin complet de la directory attribuée à l'utilisateur
n shell : Chemin complet du shell, le programme qui interagit avec
l'utilisateur et qui permet de taper des commandes (csh, sh, bash,
bash, tcsh, ...).

49
Enregistrer un utilisateur
/etc/passwd
n Exemple :
root :x:0:0:root:/root:/bin/bash
kmaster:x:500:500:kmaster:/home/kmaster:/bin/bash

n Nota le deuxième champ (x) spécifie q'il y a un mot de passe et


que celui-ci est crypté (dans /etc/shadow).
n L'UID est compris entre 0 (root) et la constante UID_MAX
(définie dans le fichier /etc/login.defs).

n ATTENTION : Si au sein de ce fichier, plusieurs lignes


possèdent le même UID pour plusieurs noms de connexion
différents, UN SEUL utilisateur est en fait défini !
Exemple : on peut ainsi définir un utilisateur stop, dont l'UID
est 0 et qui exécute shutdown comme commande de connexion.

50
/etc/shadow
n Le fichier /etc/passwd est public (toute
personne qui a un compte sur la machine
peut le lire).
n Pour contrecarrer cette faille, certains
systèmes ont introduit le fichier /etc/shadow
n lisible uniquement par root
n contient les mots de passe des utilisateurs, qui
disparaissent alors de /etc/passwd.
n Si on ajoute un utilisateur à la main, cela implique
d'éditer les 2 fichiers.

51
/etc/shadow
n Une ligne /etc/shadow est composée des champs
suivants:
n Nom de login
n mot de passe crypté
n Nombre de jours écoulés depuis le 1er janvier 1970 jusqu'au
dernier changement de mot de passe
n Nombre de jours durant lesquels le mot de passe est encore valide
n Nombre de jours après lesquels le mot de passe doit être changé
n Nombre de jours avant l'expiration du mot de passe impliquant
l'avertissement de l'utilisateur
n Nombre de jours après l'expiration provoquant la desactivation du
compte
n Numéro du jour depuis le 1er janvier 1970 à partir duquel le compte
a été désactivé
n Champs réservé
52
/etc/shadow
n Exemple :
n kmaster:$1$zBvl.scX$hkqgDvBu40EqpAE
wZfZZQ0:11493:0:99999:7:::
n le mot de passe en cours a été mis en place le
11493e jour après le 1/1/1970 (date de référence),
n il pourra à nouveau être changé 0 jour après cette
date
n il devra obligatoirement être modifié avant le
99999e jour après la date de création (autant dire
qu'il n'expire jamais...).

53
/etc/skel
n Après la création d’un compte
utilisateur, tous les fichiers de /etc/skel
sont copiés dans le répertoire personnel
de cet utilisateur.

n On place dans ce répertoire les fichiers


dont tous le monde doit en avoir une
copie

54
La commande su
n La commande su permet de changer l’identité
de l’utilisateur courant.
n Syntaxe su [[-] utilisateur]
n Utilisateur est l’utilisateur dont on veut prendre
l’identité
n Si aucun utilisateur n’est spécifié, le changement
se fait vers l’utilisateur root
n La commande demande un mot de passe
avant d’obtempérer. (sauf si root)

55
Gestion des comptes
n Créer un compte pour un nouvel utilisateur
n Commande useradd
n Syntaxe : useradd [options] nom_login
n Options :
-u uid pour fixer l'identifiant uid
-g groupe-
groupe-primaire

-G liste fixe l'appartenance de l'utilisateur à une liste de groupes secondaires


seco ndaires
(séparateur , sans espace)
-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-
date- expiration fixe la date d'expiration du compte (format MM/JJ/AA)
-m pour créer le répertoire personnel
-k rep-
rep -skel recopie le contenu de rep-
rep -skel dans le rép. personnel, par défaut
/etc/skel
/etc/skel
# Useradd –c « compte de test » -m –d /home/toto –G test –k /etc/skel
toto
56
Gestion des comptes
commande useradd
n Pour examiner les valeurs par défaut
appliquées par useradd :
n commande useradd -D ou
n éditer /etc/default/useradd
GROUP=100 identifiant du groupe primaire
HOME=/home racine des rép. personnels
INACTIVE=-1 (nb de jours avant destruction du
compte)
EXPIRE= nb de jours avant expiration du mot de
passe
SHELL=/bin/bash shell de connexion attribué au
compte
SKEL=/etc/skel fichiers recopiés par défaut dans
chaque rép. personnel
57
Gestion des comptes
n La commande passwd
n Syntaxe : passwd [options ]
nom_login
n Options
-d l'utilisateur pourra se connecter sans mot de
passe !
-l pour verrouiller le compte et empêcher sa
connexion.
-u pour déverrouiller.

58
Gestion des comptes
n Connaître l'uid et le gid de l'utilisateur courant
n Commandes ( id, howami, how am i )
bash:> id
uid=501(stage1) gid=501(stage1) groups=501(stage1), 504(stagiaire)
504(stagiaire)

n Pour décrire un utilisateur


n Commande chfn
Cette commande permet d'indiquer dans le champ
numéro 5 du fichier /etc/passwd différentes
informations sur un utilisateur

59
Gestion des comptes
§ Supprimer le compte d'un utilisateur
(non connecté)
§ La commande userdel
§ Syntaxe : userdel [-r] nom_login
§ L'option -r supprime aussi le rép. personnel de
l'utilisateur
§ La commande supprime toute trace de l'utilisateur
dans le fichier de configuration : /etc/passwd y
compris dans les groupes d'utilisateurs.

60
Gestion des comptes
n Modifier le compte d’un utilisateur
n La commande usermod
n Syntaxe : usermod [options] nom_login
Les options sont les mêmes que useradd
n Exemple
usermod -G stagiaire,prof stagex
ajoute stagex dans les 2 groupes stagiaire et profs (qui
doivent exister)

61
Les groupes
n Un groupe est un ensemble d'utilisateurs.
n Chaque utilisateur doit faire partie au moins
d'un groupe.
n Dans /etc/passwd chaque utilisateur possède
un groupe par défaut, précisé par son
identifiant gid dans ce fichier.
n L'appartenance au groupe primaire n'étant
pas exclusive, tout utilisateur peut faire
partie de plusieurs autres groupes.
n La liste des groupes est donnée par le fichier
/etc/group 62
Le fichier /etc/group
n Le fichier de déclaration des groupes /etc/group
contient une ligne par groupe dans un format
similaire au fichier /etc/passwd.
n Une ligne de ce fichier comporte les champs suivants,
séparés par des caractères `:' :
n nom du groupe
n mot de passe du groupe
n numéro du groupe (gid)
n liste des utilisateurs appartenant au groupe séparés par des
virgules
n Par exemple :
actrices:*:400:sandra,meg,michelle

63
Commandes utiles
n Pour lister tous les groupes d'un utilisateur :
groups nom_login
n Pour créer un nouveau groupe
groupadd nom_groupe
n Supprimer un groupe : groupdel nom_groupe
Le groupe est supprimé du fichier /etc/group.
n modifier un groupe
n groupmod -n nouveau_nom nom_groupe
n Pour ajouter un utilisateur à un groupe
Le plus simple est d'éditer le fichier /etc/group et
d'ajouter une liste d'utilisateurs (séparés par des
virgules) sur la ligne du groupe.
64
Processus d ’initialisation
utilisateur
n /etc/profile
n $HOME/.bash_profile
n $HOME/.bashrc
n /etc/bashrc

[user@host pwd]$ Bourne Again Shell

n $HOME/.bash_logout

65
newgroup
n La commande newgrp permet à un
utilisateur de changer son groupe courant.
n Par exemple :
bash$ newgrp actrices
bash$ id
uid=500 (sandra) gid=400 (actrices) groups=500(sandra),100(users),
groups=500(sandra),100(users),
400(actrices)

66
Unité 4

Les droits d’accès

67
Gestion des droits d’accès
n Tout utilisateur possède un numéro d'utilisateur et le
numéro du groupe auquel il appartient. On distingue
trois types d'utilisateurs potentiels :
n le propriétaire du fichier ("user", u);
n les utilisateurs appartenant au même groupe ("group", g);
n les autres utilisateurs ("other", o).
n Trois types d'opérations sur les fichiers sont possibles
n la lecture ("read", r);
n l'écriture ("write", w);
n l'exécution ("execute", x).
n Il y a donc 9 combinaisons possibles utilisateur-
opération. C'est pourquoi les protections sont codées
sur 9 bits.
68
Gestion des droits d’accès
n si vous essayez de copier un fichier
dans un sous-répertoire (cp fic1
rep2/rep3/fic1), il faut que vous
puissiez :
1. lire le fichier fic1 : droit en lecture sur le
fichier
2. traverser les sous-répertoires rep2 et rep3
: droit x au moins pour vous,
3. écrire dans rep3 : droit W

69
Modification des droits d’accès
chmod modification_des_droits fichier1 [fichier2 …]
n Vous pouvez utiliser des +, - ou = pour ajouter, supprimer ou
fixer des droits à l'une ou l'autre des catégories u, g, o ou a
tous (a) en précisant le type de droit d'accès, r, w ou x.
n chmod g+w fic1
n chmod o-x rep

n chmod u+rx,g-w fic2

n chmod u=rwx,g=rx,o=- fic

n chmod a+r fic

n Si le changement de droits s'applique à un répertoire, vous


pouvez changer tous les droits des fichiers et répertoires inclus
dans ce répertoire via l'option -R.

70
Modification des droits d’accès
chmod nombre_en_base_8 fichier1 [fichier2 …]
n chmod utilise le codage binaire, fondé sur l'association de
valeurs numériques aux différentes permissions :
n lecture : 4,
n écriture : 2,
n exécution : 1,
n pas de permission : 0.
n Chaque triplet se code par l'addition de 4, 2, 1, ou 0.
n Pour un rwx il faudra ajouter 4+2+1=7,
n pour r-x 4+0+1=5 etc.
n La commande chmod permettant de positionner rwxr-x---
sur fic1 à la syntaxe suivante : chmod 750 fic1

71
Valeur par défaut des droits
d’accès
umask nombre_en_base_8
n Par défaut unix affecte les droits max sur les
fichiers normaux et les répertoires :
n Rép 777 (rwxrwxrwx)
n Fichier normal 666 (rw-rw-rw-)
n Les droits effectifs sont obtenus par :
droits_max - masque
n Exemple
n Si on souhaite un accès en lecture/écriture pour le
propriétaire et en lecture seule pour le groupe et le reste de
monde, on utilise 022 comme masque

72
Changement de propriétaire et de
groupe
n Sans les uid et les gid les droits d’accès
n’auraient aucun sens.
n La commande chown permet de
changer le propriétaire
chown utilisateur fichier1 [fichier2 …]
n La commande chgrp permet de changer
le groupe
chgrp groupe fichier1 [[fichier2 …]

73
Droits d’accès étendus
n Set User ID et Set Group ID bit
n Si le SUID est placé sur un programme, celui-ci se
voit affecté, le temps de son traitement, le
numéro d’utilisateur du propriétaire du fichier
programme, avec tous les droits d’accès
correspondants.
n De la même façon, si le SGID est positionné, le
numéro de groupe normale est remplacé par le
numéro de groupe du propriétaire du fichier
programme.

74
Droits d’accès étendus
n Définition du SUID et du SGID bit
n Chmod u+s fichier_programme
n Chmod g+s fichier_programme
Ou
n Chmod 4755 fichier
n Chmod 2755 fichier

75
Numéros d’identification réel et
effectif
n Les numéros d’utilisateur ou de groupe
d’un processus sont hérités du parent
(numéros réels). Si vous utilisez un
SUID ou un SGID bit, les numéros
d’utilisateur et de groupe s’en trouvent
modifiés (numéros effectifs).

76
Droits d’accès étendus pour les
répertoires : Sticky bit
n Un utilisateur qui a le droit d’écrire dans un
répertoire peut supprimer tous les fichiers de
ce répertoire.
n Si le Sticky bit est positionné, seul le
propriétaire pourra supprimer un fichier du
répertoire.
n chmod u+t rep

n chmod 1777 rep

77
Unité 5

Les packages

78
Gestion de packages
n Combinaison dans un même fichier (rpm)
n informations sur le programme
n les fichiers exécutables, librairies, documentation
n les scripts d ’installation et de désinstallation
n les fichiers de configuration
n les informations de dépendance
n Le nom d’un rpm respecte un format précis
de type nom-version.arch.rpm où :
n nom = nom du package/prog
n version = version du package/prog
n arch = architecture pour lequel est fait le prog/package.
79
Red Hat Package Manager
(RPM)
n on peut installer et désinstaller des
programmes par une seule
commande : rpm
n /var/lib/rpm, contient une BDD des

RPMs installés

80
Installation des RPMs
n Syntaxe de base
n rpm -i nom_package.rpm ( installation)
n rpm -F nom_package.rpm (Freshening)
n installation si une version ancienne de ce package est déjà

installée
n rpm -U nom_package.rpm (Upgrading)
n installe et désinstalle l’ancienne version qui est enregistrée avec

l ’extension .rpmsave

n options
n v : mode bavard
n h : affiche 50 marques (hash marks)
n --nodeps : sans tenir compte des dépendances

81
Désinstallation de RPM
n Pour désinstaller un RPM, on utilise la
commande
n rpm -e nom_package

n options:
n --nodeps : ignore les dépendances

82
RPM querying
n Pour connaître le contenu d’un RPM installé
n syntaxe de base
n rpm -q [ nom_package ]
n options :
n a : chercher tous les RPM installés
n f <file> : chercher le RPM d ’où provient le fichier file
n p<package -file> : affiche les fichiers de ce package (non
encore installé)
n i : affiche les informations du package
n l : affiche la liste des fichiers du package
n s : affiche l’état de tous les fichiers
n d : affiche les fichiers de documentation
n c : affiche les fichiers de configuration

83
Vérification des RPMs
n Vérifie les fichiers actuelles avec le RPM original
n taille
n checksum MD5
n Permissions, type
n propriétaire
n groupe
n syntaxe de base
n rpm -V nom_package

n options
n f <file> vérifie le fichier file
n a vérifie tous les packages
n p <package -file> vérifie par rapport au RPM original

84
Outils graphiques
n kpackage
n Il fonctionne dans l'environnement Kde,
n Il n ’est pas fourni en standard dans les distributions RedHat.
n gnorpm
n C ’est un logiciel fourni avec l'environnement graphique gnome.
n up2date
n est un outil standard de la distribution RedHat (version 6.1 et
supérieure)
n il permet la mise à jour de la distribution.
n Il cherche sur le serveur ftp de redhat les packages mis à jour pour la
distribution.
n Il présente ensuite une page web permettant de sélectionner les
packages à mettre à jour.

85
Unité 6

Scheduling

86
Scheduling
n Automatiser les taches de routine
n lancement automatique des taches à des
moments spécifiques
n le démon crond fait le scheduling pour les
fichiers conrontab
n la commande anacron exécute les jobs
anacron
n le démon atd est responsable d ’exécuter les
jobs soumets par les commandes at ou batch

87
cron
n Les jobs sont configurés dans des fichiers crontab
n Syntaxe d’une ligne
[minute][heur][jour -du-moi][moi][jour -de-semaine][job]
n chaque minute, crond cherche dans les fichiers
crontab s’il y a un job à lancer
n Les fichiers crontabs des utilisateurs sont enregistrés dans
/var/spool/cron/username
n le fichier crontab système est /etc/crontab
n tous les fichiers de /etc/cron.d sont considérés comme des
fichiers crontab

88
Exemple d ’un fichier crontab
utilisateur

0 8 * * * cmd1
0,30 9 * * * cmd2
0,30 8-18 * * * cmd3
*/5 * * * * cmd4
12 13 1 * * cmd5
49 23 16 9 * cmd6
0 15 * * 1 cmd7
32 14 1 1 1 cmd8

89
Commandes crontab
n Un utilisateur peut modifier son crontab, mais
il ne peut pas signaler à crond ce
changement
n avec la commande crontab (SUID root) c ’est
possible
n syntaxe
n crontab -l affiche crontab de l’utilisateur courant
n crontab -r supprime crontab de l’utilisateur courant
n crontab -e édit crontab de l’utilisateur courant
NB root peut utiliser -u username pour spécifier
un utilisateur autre que root.
90
Crontab système
n Le fichier crontab du système est /etc/crontab
n le répertoire cronatb système est /etc/cron.d
n tous les fichiers de ce répertoire sont lu par crond
n syntaxe
n on peut définir des variables d ’environnement
n spécifier l’uid sous lequel la commande va être exécuter
SHELL=/bin/bash
PATH=/sbin
PATH=/sbin:/
:/bin
bin:/
:/usr
usr//sbin
sbin:/
:/usr
usr//bin
MAILTO=root
HOME=/
01 * * * * root run
run-- parts /etc/
/etc/cron.hourly
cron.hourly
02 4 * * * root run
run-- parts /etc/
/etc/cron.daily
cron.daily
22 4 * * * root run
run-- parts /etc/
/etc/cron.weekly
cron.weekly
42 4 1 * * root run
run-- parts /etc/
/etc/cron.monthly
cron.monthly

91
at
n La commande at exécute une
commande à un moment donnée.

# at 4am
ps aux
^d
# at -f bshfile 16:00 + 3 days

92
Contrôle des jobs at
n Liste des jobs
$at -l
$atq
n annuler un job
$at -d job
$atrm job
n permission d ’utilisation de at
n /etc/at.allow
n /etc/at.deny

93
batch
n Exécute une commande quand le
système et moins chargé

$batch
echo la charge est minime
^d

94
Unité 7

RESEAUX

95
Configuration
n La configuration du réseau sous Linux peut être effectuée lors
de l'installation ou a posteriori en modifiant les fichiers
concernés.
n Le fichier /etc/sysconfig/network contient les variables :
n NETWORKING : initialisée à " yes" pour valider l'utilisation du
réseau
n FORWARD_IPV4 : initialisée à "no" pour empêcher le transfert
automatique des paquets
n HOSTNAME : contient le nom complet de la machine
n GATEWAYDEV : interface d'accès à la passerelle
n GATEWAY : adresse IP de la passerelle
n Ce fichier est utilisé dans les scripts d'initialisation du réseau
pour positionner les variables d'environnement.

96
Configuration
n Pour chaque interface, il faut construire, dans le répertoire ne twork-
scripts un fichier ifcfg-<nom> où nom est remplacé par le nom de
l'interface utilisée :
n ethN pour la Nième interface réseau
n Ce fichier contient les variables suivantes :
n DEVICE : nom du périphérique
n ONBOOT : initialisée à "yes
"yes"" pour valider l'interface au démarrage
n BROADCAST : contient l'adresse IP de diffusion
n NETWORK : contient l'adresse IP du réseau
n NETMASK : contient le masque du réseau
n IPADDR : contient l'adresse IP de l'interface
n Ce fichier est utilisé en paramètre des scripts ifup et ifdown
d'initialisation de l'interface. L'initialisation du réseau au démarrage du
système est effectuée par le script /etc/rc.d/init.d/network.

97
Les commandes
n La commande hostname permet d'afficher le nom de la machine ainsi que le nom de
domaine.
n La commande ifconfig permet de visualiser ou de configurer les interfaces. Lorsqu'elle
Lorsqu'elle est
exécutée sans argument, elle affiche la configuration actuelle avec,
avec, pour chaque interface,
les informations suivantes :
n adresse Ethernet
n adresse IP
n adresse de diffusion
n masque de réseau
n le nombre de paquets reçus et transmis
n La commande netstat permet d'afficher :
n les connexions réseau actives et en attente
n les tables de routage
n des statistiques sur l'interface
n les tables de translation d'adresse
n La commande arp permet de visualiser et d'agir sur la table de résolution d'adresses
d'adr esses
Ethernet.
n La commande route permet de visualiser et de modifier la table de routage de la machine.
machine.
n Les commandes ping et traceroute permettent de valider le chemin réseau jusqu'à un
hôte donné. La commande traceroute donne la liste des routeurs par où a transité la
demande.
98
Les fichiers
n Le fichier /etc/hosts contient une liste d'adresses IP associées aux noms des machines.
C'est le moyen le plus simple d'effectuer la résolution de noms pour un petit réseau.
n Le fichier /etc/host.conf
/etc/host.conf spécifie le mode de résolution des noms de machines. Il contient
contient
les lignes suivantes :
n Option Description
spécifie l'ordre d'utilisation des différents moyens
moyens de résolution de noms :
order - hosts : fichier /etc/hosts
- bind : serveur de noms DNS
- nis : Network Information Service
nospoof validé par la valeur on, cela permet de détecter les tentatives
d'usurpation d'adresse IP.
Alert validé par la valeur on, cela permet d'enregistrer, via syslog
syslog,, les
tentatives d'usurpation d'adresse IP.
Multi validé par la valeur on, cela permet d'affecter plusieurs adresses
adresses IP
au même hôte dans le fichier /etc/hosts
Trim permet d'enlever le nom de domaine en argument avant d'effectuer
une recherche dans le fichier /etc/hosts

99
n La commande ftp
n Maintenant, il ne reste plus qu'à transférer le fichier "tar" sur la
station du destinataire via ftp pour cela vous devez juste,
n soit connaître son login/passwd (pas recommandé),

n soit avoir votre propre login sur cette machine.

n La commande s'utilise ainsi :


ftp autre_machine
elle vous invite à rentrer le login et le passwd du compte
distant, puis tapez :
put mon_boulot.tar.gz
n Le fichier sera alors placé dans le HOME du login distant.
Remarque : si vous avez plusieurs fichiers à transférer, vous
pouvez utiliser "mput *.gz". Il est possible de s'affranchir des
YES (return) pour chaque transfert en désactivant le prompt via
la commande prompt avant le mput ou mget.

100
n Sous ftp, les commandes ls, pwd et cd peuvent être
utilisées pour lister et changer de répertoire sur la
machine distante, et !ls, !pwd et !cd pour faire de
même sur la machine locale .
n Dans le cas où vous avez laissé le fichier chez vous,
et avez simplement dit à votre collègue de venir le
prendre via un get sous un ftp, pensez à mettre les
droits de lecture sur ce fichier et lui laisser la
possibilité de traverser votre HOME.
Reste ensuite au login distant à décompresser (on l'a
vu !) et à détarer via :
tar -xvf mon_boulot.tar
n Pour sortir de la commande ftp, tapez quit.

101
n Les Rcommandes
n Comme nous en sommes aux interactions entre deux
machines, détaillons un peu les Rcommandes. Il s'agit des
rsh, rcp, rlogin...
n Toutes ces commandes seraient déjà connues si elles
n'avaient pas de r ( login, cp ...). Le r (pour remote) précise
que la commande va s'exécuter sur une autre machine.
n Pour que ces commandes fonctionnent, il est impératif
d'avoir son fichier .rhosts à jour. Ce fichier permet de
s'affranchir du mot de passe normalement nécessaire lors
d'une connexion sur une autre machine.
n Voici un exemple de fichier .rhosts existant sur le HOME de
la machine_A pour le compte login_A .
machine_B login_B
eclipse observateur
n Ici, sur la machine_A peuvent se connecter sans taper de
mot de passe, login_B depuis machine_B et observateur
depuis eclipse.

102
n rcp [-r] [[loginA@]machineA:]/fichier [loginB@[machineB:]]/fichier
n copie d'une machine sur une autre, loginX et
machineX peuvent être omis. L'option -r permet
de traiter une copie récursive pour recopier les
répertoires.
n rsh machineB commande
n exécute commande sur la machineB
n rlogin machineB [-l login]
n établit une connexion sur la machineB sous le
login indiqué
n Attention il est parfois nécessaire de préciser
le path de la commande distante.

103
Aide en Ligne (man)
n man [section] titre
n affiche page à page le chapitre correspondant au titre donné
dans le manuel standard d'Unix. Certains titres se trouvent dans
plusieurs sections.
n Les commandes externes sont en section 1,
n les appels système en section 2 et
n les fonctions des bibliothèques standard en section 3.
n man com
n permet d'obtenir de la documentation sur la commande com.
n man -k sujet
n permet d'obtenir de la documentation sur le sujet, si il y en a
n La touche h ("help"), on obtient un aide pour l'affichage page à
page.

104

Vous aimerez peut-être aussi