Upload
bouki15
View
60
Download
6
Embed Size (px)
Citation preview
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 1 sur 37 Correction par Gilles Leblanc mai 2012
Introduction au système Linux
(Système de base et sécurité)
Sébastien Ross
EMICA de Montréal
Pré-requis :
Machine virtuelle ubuntuserver (Serveur Ubuntu 10.04)
Machine virtuelle XP-XClient (XP Pro membre du domaine emica.local)
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 2 sur 37 Correction par Gilles Leblanc mai 2012
Table des matières INTRODUCTION AU SYSTÈME LINUX .................................................................................................................................... 4
HISTOIRE ............................................................................................................................................................................. 4
LA CONSOLE ........................................................................................................................................................................ 5
LA LIGNE .............................................................................................................................................................................. 6
EXERCICE : IDENTIFIER LES SECTIONS DE LA LIGNE ................................................................................................................................ 6
COMMANDES DE BASE ........................................................................................................................................................ 7
MAN ET HELP .............................................................................................................................................................................. 7
LS .............................................................................................................................................................................................. 8
PWD .......................................................................................................................................................................................... 9
CD ............................................................................................................................................................................................. 9
MKDIR ...................................................................................................................................................................................... 12
CP ........................................................................................................................................................................................... 14
MV .......................................................................................................................................................................................... 15
CAT .......................................................................................................................................................................................... 17
LESS ......................................................................................................................................................................................... 17
TAIL ......................................................................................................................................................................................... 18
RM .......................................................................................................................................................................................... 19
RMDIR ...................................................................................................................................................................................... 19
NANO ....................................................................................................................................................................................... 21
HIERARCHIE DES REPERTOIRES SOUS LINUX ...................................................................................................................... 23
LA RACINE / ............................................................................................................................................................................... 23
/BIN ......................................................................................................................................................................................... 23
/BOOT ...................................................................................................................................................................................... 23
/DEV ........................................................................................................................................................................................ 23
/ETC ........................................................................................................................................................................................ 23
/HOME ..................................................................................................................................................................................... 24
/LIB ......................................................................................................................................................................................... 24
/MNT ....................................................................................................................................................................................... 24
/PROC ...................................................................................................................................................................................... 24
/ROOT ...................................................................................................................................................................................... 24
/SBIN ....................................................................................................................................................................................... 24
/SYS ......................................................................................................................................................................................... 24
/TMP ....................................................................................................................................................................................... 24
/USR ........................................................................................................................................................................................ 24
/VAR ........................................................................................................................................................................................ 25
LA SÉCURITÉ DES FICHIERS SOUS LINUX ............................................................................................................................. 26
PROPRIETAIRE ET GROUPES (USERS AND GROUPS) ............................................................................................................................. 26
LES PERMISSIONS ........................................................................................................................................................................ 28
CRÉER/SUPPRIMER UN USAGER UNIX (ADDUSER, DELUSER) ................................................................................................................ 32
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 3 sur 37 Correction par Gilles Leblanc mai 2012
CRÉER/SUPPRIMER UN GROUPE UNIX (ADDGROUP, DELGROUP) .......................................................................................................... 34
GÉRER LES GROUPES ET ET LES USAGERS UNIX (USERMOD, GROUPS, DELUSER, MEMBERS) ........................................................................ 35
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 4 sur 37 Correction par Gilles Leblanc mai 2012
Introduction au système Linux
Vous trouverez ici une courte introduction au système Linux. Console, ligne de commande et autres
petits utilitaires sont au programme. Alors bonne lecture !
Histoire
Au début des années 90, un jeune étudiant finlandais Linus Benedict Torvaldsa a voulu mettre au point
son propre système d’exploitation. L’idée consistait à développer un système de type Unix fonctionnant
sur les processeurs d’architecture 80386 (si vous préférez sur un pc !). Andrew Tanenbaum fut le
créateur de Minix, un système de base pouvant fonctionner sur les 80386, et c’est dans cette continuité
que Linus B. Torvaldsa a décidé d’améliorer le projet en étendant les nombreuses possibilités de Minix :
c’est la naissance de Linux. La mise à disposition du noyau (cœur du système) numéroté 0.1 à eu lieu en
1991, mais c’est seulement en 1992 que la version véritablement stable a vu le jour. L’originalité de ce
système repose d’une part sur le fait qu’il est non commercial et d’autre part qu’un grand nombre de
programmeurs (développeurs) participe à ce projet.
Aujourd’hui, beaucoup de distributions Linux existent : Debian, Fedora, Freebsd, Gentoo, Knoppix,
Mandriva(fusion de Conectiva et MandrakeSoft), Redhat, Suse, Slackware, Ubuntu ,..., etc. Vous n’avez
que l’embarras du choix ! À noter que si vous débutez sous Linux, je vous conseille fortement l’essai
d’une Mandrake ou d’une Knoppix (elle ne nécessite même pas d’installation !)
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 5 sur 37 Correction par Gilles Leblanc mai 2012
La console
La console ou terminal est un environnement texte dans lequel un utilisateur demande l’exécution de
programmes ou fait des requêtes. Il
existe plusieurs types de console :
terminal, xterm, konsole, gnome-
console, les terminaux virtuels, etc...
Les terminaux virtuels sont obtenus
à l’aide des combinaisons
CTRL+ALT+F1, CTRL+ALT+F2,
CTRL+ALT+F3, etc ...La console
présentée dans la figure suivante est
celle d’un serveur Ubuntu.
1. Exercice : Ouverture de session
Objectif : Ouvrir plusieurs sessions locales sur un serveur Ubuntu
À faire ! Comment faire ? Fait
Ouvrir une session sur TTY2 avec Emica
Ouvrir une session sur TTY3 avec client 1
Résultat escompté : Ouverture de plusieurs sessions simultanées
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 6 sur 37 Correction par Gilles Leblanc mai 2012
La ligne
La ligne est ce qu’on appelle le prompt, emica est l’utilisateur (user) et ubuntuserver est le nom de la
machine.
Le tilde ˜ représente le répertoire courant de l’utilisateur emica, en l’occurrence /home/emica autrement
dit le prompt nous indique clairement dans quel répertoire nous sommes situés, ici nous sommes dans
/home/emica/perso.
Quant au dollar $, il signifie que nous sommes sous le contrôle de l’interpréteur de commande : le shell
(coquille) BASH. Alors le BASH c’est quoi au juste ? Ce n’est rien d’autre qu’un programme /bin/bash
qui va interpréter les commandes que vous allez taper et les exécuter si elles ne comportent pas d’erreur.
En particulier, le BASH respecte la casse, une minuscule n’est pas une majuscule en occurrence toto ce
n’est pas TotO !
J’évoquais dans le paragraphe précédent le tilde ˜ représentant /home/emica, évidemment si le user jean
ouvre une console, le tilde représenté est alors équivalent à /home/jean. Chaque user possède un
répertoire dans "la maison" /home, une manière imagée de comprendre cela serait de dire que tout les
utilisateurs vivent dans /home et ils possèdent chacun leur "chambre", celle de emica /home/emica, celle
de jean /home/jean. Évidemment, jean ne peut pas rentrer dans la chambre de emica puisque la chambre
de ce dernier est privée, elle lui est propre et vice versa.
Exercice : Identifier les sections de la ligne
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 7 sur 37 Correction par Gilles Leblanc mai 2012
Commandes de base
Man et help
C’est la commande à ne pas oublier, c’est l’aide ultime !!! man c’est l’abréviation de manual. En
pratique si vous faites ceci, la console vous renverra un tas d’information sur la commande ls
emica@ubuntuserver:~$ man ls
. On pourra également faire appel à une aide plus condensée en utilisant help comme suit :
emica@ubuntuserver:~$ ls -–help
2. Exercice : Consultation de l’aide
Objectif : Consulter l’aide sur les commandes Linux
À faire ! Comment faire ? Fait
Comment trouver l’option pour afficher le contenu d’un répertoire
au long avec la commande « ls »
ls --help
Comment consulter le manuel de la commande « cal », servant à
afficher un calendrier?
man cal
Résultat escompté : Affichage de l’aide des commandes ls et cal
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 8 sur 37 Correction par Gilles Leblanc mai 2012
ls
ls permet de lister le contenu d’un répertoire
Il est possible d’utiliser plusieurs options avec la commande ls je vous renvoie donc au manuel ! On
retiendra par exemple l’option –l
Quelques explications :
total 24 signifie que le répertoire data occupe 24 blocs sur le disque
la première colonne fournit des informations sur les droits ;
la seconde représente le nombre de liens pointant sur ce fichier ;
la suivante donne le nom du propriétaire du fichier.
la quatrième indique le nom du groupe qui peut accéder au fichier selon les actions autorisées
par le propriétaire ; si vous vous rappelez, c’est l’histoire du partage de fichier entre jean et
emica
la cinquième indique la taille du fichier en octets.
la sixième donne la date et l’heure de la dernière modification du fichier.
la dernière le nom du fichier.
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 9 sur 37 Correction par Gilles Leblanc mai 2012
pwd
La commande pwd permet de retrouver dans quel répertoire je me trouve
cd
cd pour Change Directory ou si vous préférez Changement de Répertoire.
Déplacement à la racine du système
Déplacement dans le répertoire var de la racine
Déplacement dans le répertoire courant perso (à partir de /home/emica)
Déplacement dans le répertoire /usr/bin
Reculer d’une branche vers la racine
Déplacement dans mon répertoire personnel
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 10 sur 37 Correction par Gilles Leblanc mai 2012
Déplacement dans le répertoire personnel de l’utilisateur emica
! Consultez au besoin la vidéo liée à ces commandes disponible dans le cours Moodle
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 11 sur 37 Correction par Gilles Leblanc mai 2012
3. Exercice : Navigation dans le système de fichier
Objectif : Naviguer dans les répertoires du système de fichier. Consulter le contenu des répertoires. (ls – pwd – cd)
À faire ! Comment faire ? Fait
À partir de votre « home directory »… …
Aller dans le répertoire var cd /var
Vérifiez si vous y êtes pwd
Aller à la racine cd / ou cd ..
Vérifiez si vous y êtes pwd
Aller dans votre « home directory » cd
Vérifiez si vous y êtes pwd
Aller dans /home en évitant d’utiliser la commande : « cd
/home »
cd ..
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 12 sur 37 Correction par Gilles Leblanc mai 2012
mkdir
La commande mkdir permet de créer un réperoire (Make Directory). mkdir photos créera le répertoire
photos dans le repértoire /home/emica
! Consultez au besoin la vidéo liée à ces commandes disponible dans le cours Moodle
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 13 sur 37 Correction par Gilles Leblanc mai 2012
4. Exercice : Créer une arborescence de fichiers
Objectif : Créer une arborescence de fichiers (mkdir - tree)
À faire Comment faire ?
F
a
i
t
Dans votre répertoire personnel…
Créer l’architecture de dossier suivante :
Fruits / pommes /rouges
/vertes
/granny smith
/bananes
Vérifier le tout
cd
mkdir fruits
cd fruits
mkdir bananes pommes
cd pommes
mkdir rouges vertes « granny smith »
cd ..
tree fruits
Détruisez l’architecture créée (attention !!!) rm –Rf fruits
La recréer en une ligne seulement… (défi)
mkdir –p fruits/bananes
fruits/pommes/rouges
fruits/pommes/vertes
fruits/pommes/granny\ smith
Résultat escompté :
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 14 sur 37 Correction par Gilles Leblanc mai 2012
cp
La commande cp (copy) permet de copier des fichiers. Copier le fichier fichier1.doc dans le même
répertoire et de le nommer fichier2.doc (Duplication). Voir ce qui suit.
Copier le fichier2.doc dans le répertoire /comp
Copier TOUS les fichiers du répertoire exercice4 dans le répertoire exercice3
Copier tous les fichiers du répertoire exercice4, y compris les sous-répertoires, dans le répertoire
exercice3
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 15 sur 37 Correction par Gilles Leblanc mai 2012
mv
La commande mv (move) permet de renommer un fichier ou de le déplacer dans un répertoire. Ainsi la
commande suivante renommera le fichier1.doc comme fichier1b.doc
Pour déplacer le fichier fichier1b.doc dans le répertoire /home/emica/perso, on procède comme suit :
! Consultez au besoin la vidéo liée à ces commandes disponible dans le cours Moodle
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 16 sur 37 Correction par Gilles Leblanc mai 2012
5. Exercice : Copie et déplacement de fichiers
Objectif : Copier et déplacer des fichiers et des arborescences. (cp, mv)
À faire ! Comment faire ? Fait
Dans votre répertoire personnel
Créer un dossier nommé pratique
Aller dans le dossier pratique
Faire ces commandes :
touch fichier1
touch fichier2
touch fichier3
Créer cette arborescence :
Copier fichier1 dans teleromans cp fichier1
television/teleromans
Déplacer fichier2 dans radio mv fichier2 radio
Renommer fichier3 comme fichier3b mv fichier3 fichier3b
Copier le fichier3b dans jeunesse cp fichier3b
television/jeunesse
Renommer radio pour internet mv radio internet
Résultat escompté :
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 17 sur 37 Correction par Gilles Leblanc mai 2012
cat
La commande cat permet d’afficher le contenu d’un fichier…
Si on a 2 fichiers fichier1.txt et fichier2.txt, cette commande renvoie le contenu des 2 fichiers à la file
l’un de l’autre, on parle de concaténation ! Évidemment, on peut appliquer cela à plus de 2 fichiers.
less
Lorsque les fichiers sont de grande taille, on voit clairement que la commande cat n’est plus appropriée,
puisque le texte affiché défile trop rapidement. La commande less permet de faire défiler le contenu du
fichier à son rythme, à l’aide des flèches haut et bas! On peut aussi utiliser la commande « cat | more »
mais elle est moins flexible.
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 18 sur 37 Correction par Gilles Leblanc mai 2012
tail
Lorsqu’on doit lire la fin d’un fichier, tail est tout indiqué. Il suffit donc de l’appeler et votre vœu sera
exaucé.
Utilisation :
tail fichierlong.txt (10 dernières lignes, par défaut)
tail –n 15 fichierlong.txt (les 15 dernières lignes)
! Consultez au besoin la vidéo liée à ces commandes disponible dans le cours Moodle
6. Exercice : Affichage du contenu des fichiers texte
Objectif : Afficher le contenu d’un fichier texte (cat, less, tail)
À faire ! Comment faire ? Fai
t
Afficher le contenu du fichier /etc/samba/smb.conf avec la
commande « cat »
cat /etc/samba/smb.conf
Afficher le contenu du fichier /etc/samba/smb.conf avec la
commande « less ».
Notez la différence ici :
Less /etc/samba/smb.conf
Afficher les 15 dernières lignes du fichier log
« /var/log/samba/log.nmdb »
tail –n 15
/var/log/samba/log.nmdb
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 19 sur 37 Correction par Gilles Leblanc mai 2012
rm
rm (Remove), cette commande permet d’effacer des fichiers. Elle effacera le fichier fichier3.txt.
On peut également effacer le contenu d’un répertoire :
La commande « rm –R exercice3/» effacera tous les fichiers et sous répertoire exercice3, ainsi que le
répertoire exercice3 lui même.
rmdir
rmdir (Remove Directory), cette commande d’effacer des répertoire vides
! Consultez au besoin la vidéo liée à ces commandes disponible dans le cours Moodle
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 20 sur 37 Correction par Gilles Leblanc mai 2012
7. Exercice : Effacement de fichiers
Objectif : Effacer des fichiers et des arborescences (rm, rmdir)
À faire ! Comment faire ? Fait
Dans le répertoire pratique dans votre répertoire
personnel…
Supprimer tous les fichiers1. … rm –R fichier1*
Supprimer le répertoire television rm –R television
Supprimer le répertoire internet rm –R internet
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 21 sur 37 Correction par Gilles Leblanc mai 2012
nano
Nano est un éditeur de texte simple. Nous l’utiliserons dans le cours pour modifier les fichiers
suivants :
/data/samba/netlogon/logon.cmd
/etc/samba/smb.conf
Nous utiliserons seulement les commandes suivantes :
CTRL-X Quitter (enregistrer = y…)
ALT-6 Copie la ligne
CTRL-U Colle la ligne
CTRL-O Enregistre les modifications sans quitter
CTRL-G Aide (un peu complexe… j’avoue)
CTRL-6 ou ALT-M-A Place une marque ici pour sélectionner plusieurs lignes avec les flèches
haut et bas. (il faut copier avec alt-6 puis coller plusieurs lignes avec ctrl-U)
Enregistrer
Quitter
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 22 sur 37 Correction par Gilles Leblanc mai 2012
8. Exercice : Éditer un fichier
Objectif : Éditer, sauvegarder et modifier un fichier texte avec nano
À faire ! Comment faire ? Fait
Dans /data/exercice1, créer un fichier
nommé poeme.txt avec nano
cd /data/exercice1
nano poeme.txt
Écrire 4 lignes et sauvegarder le fichier CRTL-O
Ajouter une ligne en bas du fichier et
sauvegarder le fichier sous le nom
poeme2.txt
CTRL-O - changer le nom et confirmer
Copier et coller les quatre lignes trois fois
(pour un total de quatre blocs de quatre
lignes)
Placer le curseur en haut et CTRL-6
Avec les flèches, sélectionner les
lignes à copier
Copier avec ALT-6
Placer le curseur à l’endroit ou vous
désirez coller les lignes
Coller avec CRTL-U
Sauvegarder votre poeme2.txt et quitter CTRL-O puis CTRL-X
Afficher les 8 dernières lignes de votre fichier
poeme2.txt
Renommer le fichier poeme2.txt pour
poemefinal.txt
Copier le fichier poemefinal.txt dans votre
répertoire personnel
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 23 sur 37 Correction par Gilles Leblanc mai 2012
Hiérarchie des répertoires sous Linux
Source : http://www.math-linux.com/spip.php?article24
Nous allons voir dans cet article l’organisation ou si vous préférez la hiérarchie des répertoires sous
Linux. On y expose les particularités de chacun d’entre eux ainsi que le rôle joué par les répertoires au
sein du système. Bien que ce contenu ne soit pas capital pour la réussite de
La racine /
La racine contient évidemment tout les répertoires que nous allons étudier.
/bin
Le répertoire /bin (binaries) contient des exécutables spécifiques au mode utilisateur.
/boot
/boot contient les fichiers nécessaires au démarrage ainsi que des fichiers de configuration des
gestionnaires de démarrage (boot loader) comme grub par exemple./dev
/dev contient des fichiers spéciaux appelés file device qui se référent aux périphériques du système.
Quelques exemples :
le premier lecteur de disquette est appelé /dev/fd0
le second lecteur de disquette est appelé /dev/fd1
le disque maître sur le contrôleur IDE primaire est appelé /dev/hda
le disque esclave sur le contrôleur IDE primaire est appelé /dev/hdb
la première partition du disque maître sur le contrôleur IDE primaire est appelée /dev/hda1
/etc
/etc contient des répertoires et des fichiers de configuration des programmes. On y retrouve par
exemples les répertoires cups, X11 etc. L’extension des fichiers de configuration est en général .conf
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 24 sur 37 Correction par Gilles Leblanc mai 2012
/home
/home c’est le répertoire utilisateurs. Il contient des répertoires propres à chaque utilisateur du système.
C’est l’administrateur (root) qui crée ces répertoires.
/lib
/lib contient les librairies nécessaires à l’amorçage du système et à l’exécution de commandes.
/mnt
/mnt pour mount, ce répertoire contient des répertoires appelés points de montage. Ce sont des
répertoires qui pointent vers les fichiers de périphériques, tels que les cdrom, les disques durs externes,
ou des systèmes de fichiers comme des partitions ntfs, dos, etc .
/proc
Le répertoire /proc donne des informations sur le système et le noyau. /root
C’est le répertoire personnel de l’administrateur. En général, on n’ouvre jamais de session en tant que
root. Par défaut, ce n’est pas possible d’ouvrir une session « root ».
/sbin
Le répertoire /sbin contient des exécutables spécifiques au système.
/sys
Le répertoire /sys permet à l’administrateur de l’ordinateur d’activer et de désactiver des fonctions du
noyau. Ce répertoire fournit également des informations sur le système.
/tmp
/tmp contient les fichiers temporaires issus des processus en cours d’exécution.
/usr
/usr (unix system ressource) est un répertoire important du système Linux. Il contient des données et
des programmes communs aux utilisateurs.
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 25 sur 37 Correction par Gilles Leblanc mai 2012
/var
/var contient les journaux d’activités du système appelés logs. Ces fichiers contiennent les dates d’accès
de certains programmes, les tâches journalières exécutées par crontab y sont également reportées.
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 26 sur 37 Correction par Gilles Leblanc mai 2012
La sécurité des fichiers sous Linux
Propriétaire et groupes (users and groups)1
Par la propriété d'un fichier, on désigne à quel utilisateur appartient le fichier, qui est-ce qui le possède.
À partir de cette possession (ou non), il sera ensuite possible de définir des permissions d'accès sur le
fichier.
La possession d'un fichier se définit sur trois catégories :
1- l'utilisateur propriétaire du fichier (u). La plupart du temps, il s'agit du créateur du fichier. Il est à noter qu'un fichier créé par une commande exécutée à l'aide de sudo appartiendra à l'utilisateur root ; on sera potentiellement amené à devoir changer le propriétaire de ce fichier afin de s’en servir avec son propre compte utilisateur.
2- le groupe propriétaire du fichier (g). Si un utilisateur est membre d'un certain groupe qui possède la propriété d'un fichier, l'utilisateur aura aussi certaines permissions particulières sur ce fichier.
-3-les autre, world, le reste du monde(o). Bref, tout un chacun n'étant ni propriétaire du fichier, ni membre du groupe propriétaire du fichier.
Faisons une analogie avec les voitures. Le propriétaire serait la personne au nom de laquelle la voiture
est immatriculée. Le groupe propriétaire est l'ensemble des personnes qui sont inscrites en tant que
conducteurs secondaires de la voiture chez l'assureur. Enfin, les autres correspond à toutes les autres
personnes n'étant ni détenteur de l'immatriculation ni inscrites en tant que conducteurs de la voiture chez
l'assureur.
Vous devez être capable de :
Modifier seulement le propriétaire (user) d’un fichier/dossier (chown user dossier/)
Modifier seulement le groupe d’un fichier/dossier (chgrp group dossier/)
Modifier le propriétaire ET le groupe d’un fichier/dossier (chown user.group dossier/)
Appliquer les changements dans toute l’arborescence (chown -R user.group dossier/)
9. Exercice : La sécurité des fichiers (propriétaires et groupe)
Objectif : Condulter et modifier le propriétaire et le groupe de répertoires et de fichiers (chown - chgrp – tree – ls – sudo)
1 http://doc.ubuntu-fr.org/droits
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 27 sur 37 Correction par Gilles Leblanc mai 2012
À faire ! Comment faire ? Fait
Dans le répertoire /data, créez un répertoire du nom de
ex_sec et y accéder.
cd /data
mkdir ex_sec
cd ex_sec
Confirmez que votre répertoire de travail est bien le
/data/ex_sec
Pwd
Créez trois répertoires sous ex_sec, nommés un, deux et
trois. Dans ces répertoires, créer des fichiers texte vides
(texte1.txt, texte2.txt, texte3.txt). Confirmez votre
arborescence avec la commande tree.
mkdir un deux trois
touch un/fichier1.txt
touch deux/fichier2.txt
touch trois/fichier3.txt
tree
Afficher la sécurité (propriétaire, groupe) des répertoires un,
deux et trois à l’aide de ls et de tree.
ls -l
tree -ug
Le propriétaire du répertoire un devient user1 sudo chown user1 un
Le groupe du répertoire deux devient gr_logiciels_rw sudo chgrp gr_logiciels_rw
deux
Le propriétaire du répertoire trois devient user2 et leur
groupe gr_logiciels_rw.
sudo chown
user2.gr_logiciels_rw trois
Le propriétaire du répertoire et de ses enfants (sous-
répertoires) trois devient user2 et leur groupe
gr_logiciels_rw.
sudo chown -R
user2.gr_logiciels_rw trois
Afficher la nouvelle sécurité des fichiers et répertoires. tree -ug
Résultat escompté :
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 28 sur 37 Correction par Gilles Leblanc mai 2012
Les permissions2
Les permissions désignent ce que les diverses catégories d'utilisateurs (propriétaire d'un fichier,
membres du groupe propriétaire d'un fichier et le reste du monde) ont l'autorisation d'effectuer sur un
fichier donné. Par exemple, une catégorie d'utilisateurs peut avoir accès en lecture et écriture à un
fichier, alors qu'une autre catégorie a accès en lecture seulement à ce même fichier.
Les permissions se définissent sur trois niveaux :
1. la lecture d'un fichier : cette permission est nécessaire pour pouvoir accéder au contenu d'un fichier (écouter une piste audio, visionner un film, lire un texte, naviguer à l'intérieur d'un répertoire…). Cette permission est notée r (pour read, lire).
2. l'écriture dans un fichier : cette permission est nécessaire pour pouvoir apporter des modifications à un fichier (corriger un texte et enregistrer les changements ; ajouter, modifier ou supprimer un fichier dans un dossier ; etc.). Cette permission est notée w (pour write, écrire).
3. l'exécution d'un fichier : cette permission est nécessaire particulièrement pour les logiciels, afin qu'ils puissent être exécutés. Cette permission est notée x (pour execute, exécuter).
Par exemple, l'utilisateur toto dispose des droits de lecture et d'exécution sur le répertoire foo, mais pas
la permission d'écriture sur ce répertoire ; toto peut donc exécuter les programmes présents dans ce
répertoire et ouvrir les fichiers qu'il contient, mais ne peut pas les modifier ni en créer de nouveaux.
Pour chacune des trois catégories d'utilisateurs (propriétaire, membres du groupe propriétaire et reste du
monde) sont définies ces trois permissions :
le propriétaire dispose ou non de la permission de lecture, d'écriture et d'exécution sur un fichier ; le membre du groupe propriétaire dispose ou non de la permission de lecture, d'écriture et d'exécution
sur un fichier ; tous les autres utilisateurs disposent ou non de la permission de lecture, d'écriture et d'exécution sur un
fichier.
2 http://doc.ubuntu-fr.org/droits
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 29 sur 37 Correction par Gilles Leblanc mai 2012
Les droits sont affiché pars une série de 9 caractères, associés 3 par 3 (rwx rwx rwx) qui
définissent les droits des 3 identités (u, g et o).
rwxr-xr--
\ /\ /\ /
v v v
| | droits des autres utilisateurs (o)
| |
| droits des utilisateurs appartenant au groupe (g)
|
droits du propriétaire (u)
Les répertoires : un cas particulier
Les répertoires sont un cas particulier. Pour accéder au contenu d'un répertoire (pour ouvrir un fichier ou se
déplacer dans un sous-répertoire), un utilisateur doit disposer de la permission d'exécution (x) sur ce répertoire.
De plus, pour être en mesure de lister le contenu d'un répertoire, l'utilisateur doit avoir la permission de lecture
(r) sur ce répertoire. Pour écrire dans le répertoire, la permission d'écriture (w) doit être accordée. L'utilisateur
peut disposer de ces permissions selon qu'il est propriétaire du répertoire, membre du groupe propriétaire du
répertoire ou faire partie du reste du monde.
Un utilisateur ne disposant ni des permissions de lecture ni d'exécution ne pourra aucunement accéder au contenu du répertoire.
Un utilisateur ne disposant que de la permission de lecture pourra lister le contenu du dossier. (Par exemple, avec la commande ls dans une fenêtre de terminal.) Il ne pourra pas accéder au dossier avec son navigateur de fichiers.
Un utilisateur ne disposant que de la permission d'exécution peut ouvrir un répertoire, mais ne peut pas en voir le contenu. C'est utile, par exemple, pour traverser un répertoire dont on ne doit pas pouvoir lister le contenu.
Un utilisateur disposant des droits de lecture et d'exécution pourra lister le contenu d'un dossier et y entrer avec son navigateur de fichiers.
Toujours donner les droits d’exécution aux dossiers!!!
CONFIGURER l’HÉRITAGE DU PROPRIÉTAIRE GROUPE
Les faits :
Un dossier /data/test appartient à emica (user) et à gr_logiciels_rw (groupe)
Un usager nommé jean (user) dont le groupe principal est jean(groupe) crée un sous dossier nommé sousrep dans /data/test
Le sous dossier sousrep aura les propriétaires suivants : user (jean) group (jean)
La solution
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 30 sur 37 Correction par Gilles Leblanc mai 2012
N’oublions pas que nous attribuons le droit d’écriture aux fichiers et dossiers par le biais du groupe, le groupe doit donc être toujours le même.
Un propriétaire usager peut être modifié c’est peu important et même profitable parfois pour le suivi et les exceptions.
Attribuer le droit S au groupe du dossier de tête conservera le même groupe propriétaire pour tous les fichiers/dossiers enfants créés, peu importe qui les créera.
La commande : chmod g+s dirname
Exemple :
Donc pour le dossier suivant :
drwxrwxr-x emica gr_logiciels_rw test
On modifie le droit d’héritage du groupe (chmod g+s test)
Le dossier devient :
Drwxrwsr-x emica gr_logiciels test
Tous les sous-dossiers auront le rws au niveau du groupe
Tous les sous-dossiers auront gr_logiciels_rw comme propriétaire groupe
C’EST CAPITAL POUR DES DOSSIERS PARTAGÉS EN LECTURE ET ÉCRITURE
Source d’information complémentaire : http://www.debian.org/doc/manuals/debian-reference/ch01.fr.html#_filesystem_permissions
10. Exercice : La sécurité des fichiers (droits)
Objectif : Consulter et modifier la sécurité des répertoires et des fichiers
(chmod – tree – ls – sudo)
À faire ! Comment faire ? Fait
Créer la structure de répertoire suivante dans /data :
Effectuer cette opération sur abc, avant de commencer :
sudo chmod –R g+s abc
sudo chgrp –R gr_logiciels_rw abc
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 31 sur 37 Correction par Gilles Leblanc mai 2012
Dans le répertoire tata :
L’administrateur de base (propriétaire des fichiers) doit
être emica ;
Les membres du groupe gr_logiciels_rw doivent pouvoir
écrire et lire ;
Tous les autres doivent pouvoir lire.
Dans le répertoire toto :
L’administrateur de base est emica ;
Tous les autres doivent pouvoir lire.
Essayer le résultat avec l’usager user1 (membre de
gr_logiciels_rw), il devrait pouvoir écrire dans tata et seulement
lire dans toto.
Pourquoi l’usager user1 peut-il seulement lire dans toto? (2
réponses).
Résultat escompté :
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 32 sur 37 Correction par Gilles Leblanc mai 2012
Gestion des usagers et des groupes
Créer/supprimer un usager Unix (adduser, deluser)
Pour lister tous les usagers du système : cat /etc/passwd
Pour lister les 10 derniers usagers du système : tail /etc/passwd
Exemple : ========== USERS ======================
sshd:x:105:65534::/var/run/sshd:/usr/sbin/nologin
saned:x:106:114::/home/saned:/bin/false
hplip:x:107:7:HPLIP system user,,,:/var/run/hplip:/bin/false
landscape:x:108:116::/var/lib/landscape:/bin/false
emica:x:1000:1000:emica,,,:/home/emica:/bin/bash
xp-client$:x:1006:1008:Client Windows:/var/lib/nobody:/bin/false
user1:x:1001:1001:user1,,,:/home/user1:/bin/bash
user2:x:1002:1002:user2,,,:/home/user2:/bin/bash
un:x:1003:1003:un,,,:/home/un:/bin/bash
toto:x:1004:1005:toto,,,:/home/toto:/bin/bash
Pour ajouter un usager manuellement : adduser USERNAME
Pour supprimer un usager : deluser USERNAME
Pour supprimer un usager et son répertoire personnel : deluser - -remove-home USERNAME
No
m d
e l’usager
ID d
e l’usager (p
lus q
ue 1
000
= usager
créé m
anu
ellemen
t)
Rép
ertoire p
erson
nel d
e l’usager
Shell d
e l’usager p
ou
r ou
vrir un
e
session
dan
s Linu
x
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 33 sur 37 Correction par Gilles Leblanc mai 2012
11. Exercice : Création de comptes
Objectif : Créer et supprimer des comptes sur un système Linux (adduser, deluser, fichier passwd)
À faire ! Comment faire ? Fait
Créer un usager pour Michel
Chartrand
Le nom d’usager doit être le
nom de famille suivi de la
première lettre de son
prénom (chartrandm)
**Jamais d’accents, jamais
d’espaces dans un nom
d’usager**
Son numéro de téléphone :
514-555-5555
Local : 116
Mot de passe : chartrandm
Ouvrir une session, la fermer puis
supprimer le compte chartrandm avec
son home directory
Pour supprimer :
sudo deluser –remove-home chartrandm
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 34 sur 37 Correction par Gilles Leblanc mai 2012
Créer/supprimer un groupe Unix (addgroup, delgroup)
Pour créer un groupe : addgroup GROUPNAME
Pour supprimer un groupe : delgroup GROUPNAME
Pour lister les groupes du système : cat /etc/group
tail /etc/group (dix dernières lignes)
Exemple: ========== Groups =====================
admin:x:117:emica
administrateurs:x:1004:
logiciels:x:1006:
machines:x:1008:
user1:x:1001:toto
user2:x:1002:toto
un:x:1003:
toto:x:1005:
grtoto1:x:1007:toto
grtoto2:x:1009:toto
12. Exercice :
Objectif :
À faire ! Comment faire ? Fait
Ajouter les groupes suivants :
gr_datab_rw
gr_photos_rw
gr_photos_ro
gr_pasbon
Supprimer le groupe gr_pasbon
Afficher les groupes
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 35 sur 37 Correction par Gilles Leblanc mai 2012
Gérer les groupes et et les usagers Unix (usermod, groups,
deluser, members)
Pour ajouter un usager à un groupe : usermod –a –G GROUP USERNAME
Exemple : la commande (usermod -a –G comp toto) ajoute l’usager toto au groupe comp
Pour ajouter un usager à plusieurs groupes : usermod -a –G GROUP1, GROUP2 USERNAME
Exemple : la commande (usermod -a –G comp, adm, tous toto) ajoute l’usager toto au groupes
comp, adm et tous
Pour lister les groupes dont font partie un usager : groups USERNAME
Pour retirer un usager d’un groupe : deluser USER GROUP
Pour lister les membres d’un groupe : members –a GROUP
Pour supprimer un usager d’un groupe : Éditer /etc/group avec nano
EMICA – DEP Soutien Informatique Introduction au système Linux Module 14 : Gestion de l’Accès
Par Sébastien Ross juin 2012 Page 36 sur 37 Correction par Gilles Leblanc mai 2012
13. Exercice : gestion du membership (usermod)
Objectif :
À faire ! Comment faire ? Fait
Créer les usagers :
Georges Dutalent (nom d‘usager = gdutalent)
Louis Lappas (nom d‘usager = llappas)
Bernard Dene (nom d‘usager = bdene)
Créer les groupes
gr_datab_rw
gr_photo_rw
gr_photo_ro
Vérifier votre travail en lisant /etc/passwd et /etc/group
Ajouter gdutalent, llappas et bdene à
gr_datab_rw
usermod -a –G gr_datab_rw gdutalent
usermod -a –G gr_datab_rw llappas
usermod -a –G gr_datab_rw bdene
Ajouter gdutalent à gr_photos_rw usermod -a –G gr_photos_rw gdutalent
Ajouter bdene et llappas à gr_photos_ro
Vérifier votre travail
usermod -a –G gr_photos_ro llappas
usermod -a –G gr_photos_ro bdene
tail –n 5 /etc/group
Vous devriez voir ceci avec « tail – n 3
/etc/group » :