Sujet 104 : Disques, Système de fichiers Linux , FHS
104.1 Création de partitions et systèmes de fichiers. (Weight 2)
104.2 Maintenir l'intégrité des systèmes de fichiers (Weight 2)
104.3 Contrôle du montage et du démontage des systèmes de fichiers
(Weight 3)
104.4 Gestion des quotas de disque (Weight 1)
104.5 Gérer les permissions et les propriétaires des fichiers (Weight 3)
104.6 Créer et changer les liens symboliques et physiques sur les fichiers
(Weight 1)
104.7 Recherche de fichiers et placement des fichiers aux endroits adéquats
(Weight 2)
ziedbouziri.com
1
Création de partitions et systèmes de fichiers.
Description : Les candidats doivent être capables de créer des partitions et des
systèmes de fichiers. Ceci inclut la prise en charge des partitions d'échange (swap).
Termes, fichiers et utilitaires utilisés :
● fdisk
● mkfs
● mkswap
ziedbouziri.com
2
Création de partitions et systèmes de fichiers.
ziedbouziri.com
3
Disques
/dev/hda
/dev/hdb
/dev/hdc
/dev/hdd
/dev/sda
/dev/sdb
– périphérique IDE primaire maître (Disque dure)
– périphérique IDE primaire esclave IDE
– périphérique IDE secondaire maître (CD-ROM)
– périphérique IDE secondaire esclave
– premier disque SCSI /sata
– Second disque SCSI /sata
ziedbouziri.com
4
fdisk : Créer les partitions (1)
fdisk /dev/hda
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1027, default 1): Enter
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1027, default 1027): +300M
Command (m for help): a (bootable)
Partition number (1-4): 1
ziedbouziri.com
5
fdisk : Créer les partitions (2)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 2
First cylinder (40-1027, default 40): Enter
Using default value 40
Last cylinder or +size or +sizeM or +sizeK (40-1027, default 1027): Enter
Using default value 1027
ziedbouziri.com
6
fdisk : Créer les partitions (3)
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (40-1027, default 40): Enter
Using default value 40
Last cylinder or +size or +sizeM or +sizeK (40-1027, default 1027): +200M
ziedbouziri.com
7
fdisk : Créer les partitions (4)
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (79-1027, default 79): Enter
Using default value 79
Last cylinder or +size or +sizeM or +sizeK (79-1027, default 1027): +128M
Command (m for help): t
Partition number (1-6): 6
Hex code (type L to list codes): 82
Changed system type of partition 6 to 82 (Linux swap)
ziedbouziri.com
8
fdisk : Créer les partitions (5)
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (118-1027, default 118): Enter
Using default value 118
Last cylinder or +size or +sizeM or +sizeK (118-1027, default 1027): Enter
Using default value 1027
ziedbouziri.com
9
fdisk : Créer les partitions (6)
Command (m for help): p
Disk /dev/hda: 255 heads, 63 sectors, 1027 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 39 313236 83 Linux
/dev/hda2 40 1027 7936110 5 Extended
/dev/hda5 40 65 208813+ 82 Linux swap
/dev/hda6 66 82 136521 83 Linux
/dev/hda7 83 1027 7590681 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl( ) to re-read partition table.
Syncing disks.
ziedbouziri.com
10
Maintenir l'intégrité des systèmes de fichiers
ziedbouziri.com
11
Maintenir l'intégrité des systèmes de fichiers
Description : Les candidats doivent être capables de maintenir l'intégrité d'un système de fichiers, ainsi que les données supplémentaires associées à la journalisation.
Termes, fichiers et utilitaires utilisés :
● du
● df
● fsck
● e2fsck
● mke2fs
Publicité
● debugfs
● dumpe2fs
● tune2fs
● xfs tools (tels que xfs_metadump et xfs_info)
ziedbouziri.com
12
Création de système de fichiers : Formatage
Système de fichier
Commande de création
ext2
ext3
ext4
reiserfs
xfs
vfat
mke2fs ou mkfs.ext2
mke2fs -j ou mkfs.ext3
mkfs.ext4
mkreiserfs
mkfs.xfs
mkfs.vfat
ziedbouziri.com
13
Création de système de fichiers : Formatage (Suite ...)
mkfs -t <type de sys de fichier> <partiiton> Formatage de la partition hda1 avec la création d'un système de fichier
de type ext3
● mkfs.ext3 /dev/hda1 , ou bien ● mkfs -t ext3 /dev/hda1 , ou bien ● mke2fs -j /dev/hda1 Transformer une partition ext2 en ext3 ● tune2fs -j /dev/hda2
ziedbouziri.com
14
Contrôle d'intégrité et réparation
fsck -t <type de fichier> partition Contrôle l'intégrité et réparation du système de fichiers de la
partition /dev/hda1
● fsck -t ext2 /dev/hda1 ou bien ● e2fsck /dev/hda1 ● fsck.ext2 /dev/hda1
ziedbouziri.com
15
df
Examiner l'utilisation de l'espace disque de tous les systèmes
de fichiers. ● df -h
Examiner le taux d'utilisation des inodes
● df -i
Quelle est la partition du répertoire de travail actuel
● df .
ziedbouziri.com
16
du
Examiner l'espace occupé par chaque élément dans le
répertoire /home: ● du /home
Espace total occupé : ,-s fait la somme pour les répertoires et
des sous répertoires ● du -s /home
Afficher le total de l'espace occupé pour chaque répertoire,
● du -sh /home/* ● du -sk /home/* | sort -nr
ziedbouziri.com
17
Contrôle du montage et du démontage des systèmes de fichiers
ziedbouziri.com
18
Contrôle du montage et du démontage des systèmes de fichiers
Description :Les candidats doivent être capables de configurer le montage, le
démontage et les options de montage des systèmes de fichiers.
Termes, fichiers et utilitaires utilisés :
● /etc/fstab
● /media
● mount
● umount
ziedbouziri.com
19
Montage manuel : mount , umount
Afficher les systèmes de fichier déjà montés :
mount
Monter un disque usb
mount /dev/sda1 /media/FLASH
le démonter
umount /media/FLASH
l'option -t , fstype
mount -t iso9660 /dev/hdc /mnt/cdrom mount -t nfs tunis:/home/ali /mnt/aliLoca
ziedbouziri.com
20
Montage automatique : fichier /etc/fstab
Les systèmes de fichiers définis dans ce fichier sont montés au moment de démarrage.
ziedbouziri.com
21
Gestion des quotas de disque
ziedbouziri.com
22
Gestion des quotas de disque
Description :Les candidats doivent être capables de gérer les quotas disque
des utilisateurs.
Termes, fichiers et utilitaires utilisés :
● quota
● edquota
● repquota
● quotaon
ziedbouziri.com
23
Introduction
Pour éviter la saturation du système et limiter l'espace alloué à chaque utilisateur, Linux
permet de mettre en place des limites d'utilisation des ressources disques
Le quota permet de limiter l’espace disque alloué a un utilisateur ou un groupe
d’utilisateurs.
Pour le mettre en place, il faut disposer d’un noyau activant sa prise en charge
ziedbouziri.com
24
Limite douce, limite dure et période de grâce
Deux types de limites sont définis :
– La limite douce (ou soft limit) : indique la quantité maximale d'espace qu'un utilisateur peut
occuper sur le système de fichiers. Si cette limite est atteinte, l'utilisateur reçoit des messages d'avertissement.
– La limite dure (ou hard limit) définie une limite absolue pour l'utilisation de l'espace.
L'utilisateur ne peut pas dépasser cette limite. Passée cette limite, l'écriture sur ce système de fichiers lui est interdite.
La limite douce est combinée avec un délai (ou grace period), A l'issue de ce délai de
grâce, et lorsque l'utilisateur continue à dépasser sa limite soft, la limite douce se transforme en limite dure.
ziedbouziri.com
25
Activer les options usrquota et grpquota dans le fichier /etc/fstab :
/dev/sda4 /home ext2 defaults,rw,usrquota,grpquota 0 0
La commande quotacheck permet de vérifier la cohérence des informations des quotas.
aquota.user et aquota.group Base de données des quotas.
quotaon : activer les quotas.
quotaoff : désactiver les quotas.
edquota -u user : modifier les quotas affectés à un utilisateur
edquota -g groupe. modifier les quotas affectés à un groupe.
ziedbouziri.com
26
Gérer les permissions et les propriétaires des fichiers
ziedbouziri.com
27
Gérer les permissions et les propriétaires des fichiers
Description : Les candidats doivent être capables de gérer les droits d'accès et les
propriétaires des fichiers.
Termes, fichiers et utilitaires utilisés :
● chmod
● umask
Publicité
● chown
● chgrp
ziedbouziri.com
28
les utilisateurs et les permissions
Trois classes d'utilisateur :
● u : le propriétaire du fichier ● g : Le groupe propriétaire du fichier ● o : les autres utilisateurs.
Trois types de permissions
Permission
Lecture (r)
Fichier
Répertoire
Examiner le contenu
Lister le contenu (ls)
Écriture (w)
Écrire et changer le contenu
créer et supprimer des fichiers
Exécution (x)
Exécuter ce fichier comme un programme
Accéder au rep. (cd)
ziedbouziri.com
29
Les droits d'accès (bits)
ziedbouziri.com
30
Les droits spéciaux et utilisations
SUID : (Set User ID)
– Lorsque ce bit est positionné, une commande peut être lancée par un
autre utilisateur avec l'UID de son propriétaire (cf passwd)
SGID : (Set Group ID)
– idem que SUID, une commande peut être lancée par un autre
utilisateur avec le GID de son propriétaire
– Quant le SGID est assigné à un répertoire, tout fichier créé sur ce
répertoire appartiendra au même groupe propriétaire de ce répertoire
Sticky bit :
– Si ce bit est placé sur un dossier, seul le propriétaire d'un fichier
pourra le renommer ou le supprimer. (cf /tmp)
ziedbouziri.com
31
droits d'accès : binaire, octale ou symbolique
stat /bin/mount
File: "/bin/mount"
Size: 53620 Filetype: Regular File
Mode: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Device: 3,2 Inode: 20335 Links: 1
Access: Tue Aug 10 23:57:11 1999(00144.11:34:49)
Modify: Tue Aug 10 23:57:11 1999(00144.11:34:49)
Change: Wed Dec 8 20:59:02 1999(00024.13:32:58)
ziedbouziri.com
32
chmod
chmod [options] symbolic_mode[,symbolic_mode]... files
chmod [options] octal_mode files
Les modes symboliques de la commande chmod
Permissions :
Opération :
● r : lecture, ● w : écriture, ● x : exécution ● s : SUID ou GUID ● t : (sticky-bit)
classe d'utilisateur : ● u : User ● g : Group ● o : Others ● a : all class
–
● - : interdire un accès
● + : autoriser un accès
● = :autorise exclusivement l'accès indiqués
ziedbouziri.com
33
chmod : exemples
chmod 644 afile chmod -v u=rw,go=r afile chmod -R -v o-rwx adir chmod -v +t adir chmod +x mon_pgr chmod u+s afile1 chmod -v 4700 afile1 chmod g+s adir1 chmod 2700 adir1
ziedbouziri.com
34
umask
Des droits d'accès par défaut sont associés aux fichiers et aux
répertoires lors de leurs créations.
umask : permet de définir ces droits d'accès par défaut. Droits d'accès d'un fichier créé : 666 – umask Droit d'accès d'un répertoire créé : 777 – umask Final Permissions = Standard Permissions (logical AND)
(NOT)Umask
Afficher la valeur actuel de umask
$umask
Modifier la valeur de umask
$umask 422
ziedbouziri.com
35
chown
Modifier le propriétaire et le groupe d'un fichier.
chown -v samir.users afile changed ownership of `afile' to samir:users # chown -v salah afile changed ownership of `afile' to salah $chown -Rv ali docs changed ownership of `docs/lpi/101' to ali changed ownership of `docs/lpi/102' to ali changed ownership of `docs/lpi' to ali changed ownership of `docs' to ali
Syntaxe BSD : user.group Syntaxe SysV : user:group
ziedbouziri.com
36
chgrp
Changer le groupe propriétaire d'un fichier.
chgrp -Rv isetch docs changed group of `docs/lpi/101' to isetch changed group of `docs/lpi/102' to isetch changed group of `docs/lpi' to isetch changed group of `docs' to isetch
ziedbouziri.com
37
Créer et changer les liens symboliques et physiques sur les fichiers
ziedbouziri.com
38
Créer et changer les liens symboliques et physiques sur les fichiers Description : Les candidats doivent être capables de gérer des liens symboliques
et physiques sur un fichier.
Termes, fichiers et utilitaires utilisés :
● ln
ziedbouziri.com
39
Liens symboliques versus liens matériels
Lien symbolique ( ou logique) :
– un petit fichier spécial (un simple pointeur) vers un un autre fichier. – peut pointer vers un fichier sur un système de fichiers différent (local ou distant ) de
celui qui l'accueille.
– Peut pointer un répertoire.
– Peut pointer un fichier qui n'existe pas actuellement : (broken link).
–
résultat de la commande ls -l : l à la première colonne.
Lien matériel ( ou physique) :
– une autre entrée vers le fichier : deux noms vers le même fichier et les deux entrées
pointent vers le même inode (mêmes caractéristiques).
– Doit résider sur le même système de fichiers.
– Ne peut pas pointer des répertoires.
– Un fichier n'est effacé réellement que lorsque son dernier lien matériel est supprimé.
ziedbouziri.com
40
Why Links
/etc/init.d :
-drwxr-xr-x 2 root root 1024 Dec 2 09:41 rc0.d
drwxr-xr-x 2 root root 1024 Dec 2 09:41 rc1.d
drwxr-xr-x 2 root root 1024 Dec 24 15:15 rc2.d
drwxr-xr-x 2 root root 1024 Dec 24 15:15 rc3.d
drwxr-xr-x 2 root root 1024 Dec 24 15:16 rc4.d
drwxr-xr-x 2 root root 1024 Dec 24 15:16 rc5.d
drwxr-xr-x 2 root root 1024 Dec 14 23:37 rc6.d
...... + (scripts de démarrage des services)
/etc/init.d/rc5.d
lrwxrwxrwx 1 root root 9 Feb 17 2007 S09splash -> ../splash
lrwxrwxrwx 1 root root 7 Feb 17 2007 S09sshd -> ../sshd
lrwxrwxrwx 1 root root 9 Dec 18 23:22 S09vsftpd -> ../vsftpd
lrwxrwxrwx 1 root root 7 Nov 25 09:00 S10nscd -> ../nscd
lrwxrwxrwx 1 root root 11 Nov 25 09:00 S10sendmail -> ../sendmail
......
ziedbouziri.com
Publicité
41
ln
$ touch myfile $ ln -s myfile myslink $ ln myfile myhlink $ ls -l my* -rw-r--r-- 2 jdoe jdoe 0 Jan 3 13:21 myfile -rw-r--r-- 2 jdoe jdoe 0 Jan 3 13:21 myhlink lrwxrwxrwx 1 jdoe jdoe 6 Jan 3 13:21 myslink -> myfilep
ziedbouziri.com
42
Liens symboliques versus liens matériels
$ stat my*
File: 'myfile'
Size: 0 Blocks: 0 IO Block: 4096 Regular File
Device: 3a05h/14853d Inode: 1212467 Links: 2
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
....
File: 'myhlink'
Size: 0 Blocks: 0 IO Block: 4096 Regular File
Device: 3a05h/14853d Inode: 1212467 Links: 2
...
File: 'myslink' -> 'myfile'
Size: 6 Blocks: 0 IO Block: 4096 Symbolic Link
Device: 3a05h/14853d Inode: 1213365 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
........
ziedbouziri.com
43
Recherche de fichiers et placement des fichiers aux endroits adéquats
ziedbouziri.com
44
Recherche de fichiers et placement des fichiers aux endroits adéquats
Description :Les candidats doivent être familiarisés avec l'arborescence standard de fichiers FHS (Filesystem Hierarchy Standard), y compris la place adéquate d'un fichier et les classifications des répertoires.
Termes, fichiers et utilitaires utilisés :
● find
● locate
● updatedb
● whereis
● which
● type
● /etc/updatedb.conf
ziedbouziri.com
45
Filesystem Hierarchy Standard
Norme de la hiérarchie des systèmes de fichiers . Définit l'arborescence et le contenu des principaux répertoires des systèmes
de fichiers des systèmes d'exploitation GNU/Linux.
Version 2.3 http://www.pathname.com/fhs/ Principe : Les données sur un système peuvent être classées selon deux
catégories :
– Données partagées versus non partagées. – Données statiques versus dynamiques.
ziedbouziri.com
46
Filesystem Hierarchy Standard (suite ...)
ziedbouziri.com
47
Boite d'outils
find : commande classique, n'utilise pas de base de données indexée
locate, slocate : utilise une base de données (plus rapide que find)
which : recherche l'emplacement d'un programme par rapport au
contenu de la variable PATH.
whereis : Rechercher les fichiers exécutables, les sources et les pages de
manuel d'une commande.
whatis : utilise une base de données qui contient une courte description.
apropos : utilise la même base de données que whatis, mais plus
d'informations
ziedbouziri.com
48
find
find /bin -perm -4001 -exec ls -lad {} \;
ziedbouziri.com
49
locate et slocate
Utilisent une base de données, mis à jour automatiquement par cron ou manuellement par
la commande updatedb
les options de la commande updatedb sont décrit dans le fichier updatedb.conf :
–
–
–
les types de systèmes de fichiers à exclure (PRUNEFS)
les fichiers à exclure (PRUNEPATHS)
etc ..
slocate : est la version sécurisé de locate, elle n'affiche pas dans le résultat les fichiers
auxquels l'utilisateur n'auraient pas accès
ziedbouziri.com
50
locate et slocate : exemples
locate csh
/home/jdean/.tcshrc
/root/.cshrc
/root/.tcshrc
/usr/bin/sun-message.csh
/usr/doc/tcsh-6.08.00
/usr/doc/tcsh-6.08.00/FAQ
ziedbouziri.com
51
which
Utiliser PATH pour trouver l'emplacement d'un programme. Utile pour le troubleshooting Exemple :
which java /usr/bin/java
ziedbouziri.com
52
whereis
Rechercher les fichiers exécutables, les fichiers de
configuration, les sources et les pages de manuel d'une commande. Exemple : $ whereis pam pam: /etc/pam.d /usr/include/pam.h /usr/share/man/man5/pam.5.gz /usr/share/man/man8/pam.8.gz
ziedbouziri.com
53
whatis
Syntaxe :
● whatis motclés
Rechercher exactement motsclés dans la base de données whatis.
Exemple
$ whatis pam ls
pam (5) - see http://netpbm.sourceforge.net/doc//pam.html
PAM (8) - Pluggable Authentication Modules for Linux
pam (8) - Pluggable Authentication Modules for Linux
ls (1) - list directory contents
ls (1p) - list directory contents
makewhatis : création de la base de données whatis par root
ziedbouziri.com
54
apropos
Syntaxe :
● apropos motclés
Rechercher dans la base de données whatis toutes les entrées qui contiennent
partiellement la chaîne motsclés.
Exemple
$ apropos pam
pam_echo (8) - PAM module for printing text messages
pamseq (1) - see http://netpbm.sourceforge.net/doc//pamseq.html
pfmtopam (1) - see http://netpbm.sourceforge.net/doc//pfmtopam.html
pamcut (1) - see http://netpbm.sourceforge.net/doc//pamcut.html
pam (5) - see http://netpbm.sourceforge.net/doc//pam.html
PAM (8) - Pluggable Authentication Modules for Linux
......
ziedbouziri.com
55