-
-1-
Travaux pratiques UNIX
Zied BOUYAHYA-Groupe II1
LE SYSTEME DE GESTION DES FICHIERS Premire partie : La gestion
du disque Rappel du cours : Comme tous les priphriques, sous Linux,
le disque est reprsent par un fichier spcial de type bloc. Le S.E.
Linux attribue une nomenclature aux fichiers spciaux reprsentant
les disques et ce suivant le type du contrleur (connecteur la carte
mre) et linterface sur laquelle il est connect. Les disques relis
des contrleurs IDE sont dsigns par hd[a-z]
hda dsigne le 1er disque maitre hdb dsigne le 1er disque esclave
hdc dsigne le 2me disque maitre etc.
Les lecteurs CDROM, DVD et graveurs sont considrs comme des
disques IDE et, par consquent, ont la mme nomenclature. Les disques
relis des connecteurs SCsI, USB, firewire sont dsigns par sdX.
X=[a-z] X dsigne lordre de dtection du disque Listez les
informations relatives aux disques connects en utilisant les
commandes hdparm et sdparm. (Vrifiez les options des commandes) I.
Partitionnement du disque
Une table de partitions contient les caractristiques des
partitions : taille en nombre de secteurs, position par rapport la
partition principale, type de la partition, S.E. rsidant, Nom de
volume etc.
1) Les types des partitions
Il existe 3 types de partitions : primaire, tendue et logique Un
disque peut contenir au max 4 partitions primaires (dont une seule
doit tre active) Si on veut plus de partitions alors : On cre 3
partitions primaires et on laisse une partition tendue. Celle-ci
pourra son tour tre partitionne en plusieurs lecteurs logiques
(disques logiques) Les partitions sont numrotes de 1 15 tel que
:
-
-2-
De 1 4 on rfre une partition primaire ou tendue De 5 15 on rfre
une partition logique
Exemples : hda2 dsigne la 1re partition primaire du 1er disque
maitre IDE sdb5 dsigne 1re partition logique du 2me disque SCSI
2) La commande fdisk a. Syntaxe
fdisk [-options] priphrique
b. Description La commande fdisk (cfdisk) est un programme dirig
par le menu qui permet de manipuler les partitions sur le
priphrique spcifi en argument. (on indique le chemin
/dev/[h|s]d[a-z]
Comment raliser les tches suivantes laide de fdisk ?
Cration dune partition Suppression dune partition Changement du
type de la partition
Tapez fdisk priphrique
3) Manipulation des swaps a. La commande mkswap
Cette commande permet de crer une zone de swap linux sur un
priphrique ou dans un fichier (taille sup. 40kB) Exemple : mkswap
/dev/hda4
b. La commande swapon Cette commande permet dactiver une zone de
swap
c. La commande swapoff Cette commande dsactive la pagination sur
toutes les entres de /etc/fstab
II. Formatage dun systme de fichiers
Le formatage dun S.F. consiste crer une organisation logique
(arborescence) avant de placer les donnes. Cas de Linux : Les
systmes de fichiers rpandus sont : ext2, ext3, reiserfs, xfs, VFAT,
iso 9600, ext4, HPFS etc La commande mkfs permet de crer un systme
de fichiers Syntaxe : mkfs t type_fs [-options] priphrique ou mkfs
.type_fs priphrique On peut convertir un S.F ext2 en ext3 avec
tune2fs j ou inversement avec mkfs O On peut galement avoir les
informations sur un priphrique en utilisant la commande dumpe2fs
-h
III. Montage dun systme de fichiers a. Montage Manuel Syntaxe
gnrale: mount -t -o options /dev/rep-spcial /mnt/rep-montage Si
cette description est prsente dans le fichier /etc/fstab, la
commande peut tre
-
-3-
simplifie mount /dev/rep-spcial ou mount /mnt/rep-montage
Testez les options de montage suivantes :
default, sync/async, exec/noexec, atime, user/nouser, ro/rw,
dev/nodev, noload, usrquota/grpquota
Exercice :
On veut raliser le schma de partitionnement suivant : (la taille
du disque est limite 2GO)
Device Boot Start End Id System /dev/sda1 * 1 512 b NTFS (VFAT)
/dev/sd2 513 2000 5 Extended /dev/sda5 513 1750 83 Linux /dev/sda6
1751 2000 82 Swap
1. Identifiez les diffrentes partitions : Disque partitionn
Types : (primaire, tendue, logique) Tailles Identificateurs
2. Utilisez lutilitaire fdisk/cfdisk pour crer les partitions
considres. 3. Formater les diffrentes partitions pour avoir un
S.F
/dev/sda1 contient un S.F Vfat /dev/sda5 contient un S.F
ext2
4. Changez le S.F de /dev/sda5 en ext3 5. Initialisez et activez
la zone de swap 6. Montez les diffrents systmes de fichiers. Pour
cela
a. Crez un rpertoire /TPSF qui servira de point de montage b.
Montez le S.F ext3 sur ce rpertoire c. Dmontez-le d. Ajouter ce
quil faut dans /etc/fstab pour assurer un montage automatique
du
S.F. e. Donnez la commande pour monter automatiquement le S.F
sur /TPFS
-
-4-
IV. Gestion des quotas
Il s'agit de limiter l'espace disque et/ou le nombre de fichiers
allous aux utilisateurs ou aux groupes, sur un systme de fichiers
dsign (une partition). Il existe deux types de limite :
o Limite soft : il s'agit d'une tolrance, cette limite peut tre
franchie (pendant 7 jours par dfaut)
o Limite hard : franchie par un utilisateur ou un groupe,
celui-ci ne peut plus crire sur le disque, tant qu'elle est
dpasse
1. Vrifier d'abord que le paquetage est bien install : rpm -q
quota 2. Activer la prise en charge des quotas pour un systme de
fichiers, en ajoutant sur la
ligne adquate de /etc/fstab, le mot-cl usrquota dans la liste
des options On suppose dans la suite que la partition /dev/hda6 est
affect au rpertoire /home. Pour activer la surveillance des
rpertoires personnels, on doit effectuer cette dclaration dans le
fichier /etc/fstab, en ajoutant l'option usrquota (et/ou
groupquota) sur la ligne qui configure le montage de /home :
/dev/hda6 /home ext2 defaults,usrquota 1 2
3. Initialiser les tables de quotas
# quotacheck /dev/hda6 On peut vrifier que le fichier quota.user
a t cr dans /home. Il renferme la table des quotas. Et gnrer un
rapport de surveillance par repquota -a
4. Attribuer des limites aux utilisateurs " surveiller" La
commande edquota fait passer en mode dition dans vi
# edquota -u toto Quotas for user toto: /dev/hda6 : blocks in
use: 148, limits (soft = 0 , hard = 0) inodes in use: 37, limits
(soft = 0 , hard = 0)
Il suffit de modifier les valeurs des limites soft et hard.
2. La ligne de commande suivante est souvent adopte pour
attribuer les mmes quotas un ensemble dutilisateurs (au lieu de
faire edquota u individuellement) :
# edquota -p toto `awk -F: '$3 >500 {print $1}' /etc/passwd `
Les commandes utiles
quotaon/quotaoff partition|-a : active/dsactive les quotas sur
la|toutes partition(s) repquota a : affiche un rapport complet par
utilisateur et par groupe quota -v toto tat des quotas pour
l'utilisateur toto quotacheck Met jour les tables de quotas. Lanc
chaque dmarrage du systme
-
-5-
edquota -u toto Edition sous vi des limites edquota -p toto
liste Impose les quotas de toto aux membres de la liste edquota -t
Edition sous vi de la dure de la "grace"
Exercice
1. Vrifier que vous disposez d'une partition ddie /home 2.
Mettre en uvre la vrification des quotas sur cette partition 3.
Crer un utilisateur standard toto (avec les options par dfaut) 4.
Quelle est la taille de son rpertoire personnel ? 5. Configurez et
activez les quotas sur cette partition 6. Surveiller toto en lui
fixant des limites d'espace disque 100 Ko et 300 Ko 7. Que vous
indique alors le rapport fourni par repquota ? 8. toto n'en tenant
pas compte, recopie dans son rpertoire perso la doc d'apache
/usr/share/doc/apache/ Que se passe t-il ? Conclusions ?
9. toto fait le mnage dans son rpertoire personnel. Peut-il de
nouveau en disposer ? 10. Si root dsactive la surveillance par
quotaoff -a, que peut faire toto ? 11. Comparez les commandes
repquota -a et du -h /home/toto. Suffit-il de ractiver par
quotaon -a ? Testez ! 12. Crer quelques nouveaux utilisateurs et
leur imposer les mmes quotas qu' toto
2me partie Gestion des utilisateurs et des droits daccs
Ajouter un utilisateur : useradd Modifier un utilisateur usermod
Supprimer un utilisateur userdel Ajouter un groupe groupadd
Modifier un groupe groupmod Supprimer un groupe groupdel Changer
lutilisateur dun fichier : chown Changer le groupe dun fichier
chgrp
1. Crez un nouvel utilisateur user_ii2h_tp avec le rpertoire
personnel correspondant. 2. Modifiez le champ comment de
lutilisateur cre pour devenir excellent_etudiant 3. Visualisez la
ligne correspondante la liste des informations dans le fichier
adquat 4. Fixez la date dexpiration du mot de passe de cet
utilisateur 3 jours. 5. Crez un groupe nomm ii2H_tp. 6. Modifiez le
groupe de user_ii2h_tp par ii2H_tp 7. Crez un nouveau groupe nomm
ii2H_ENSI ayant comme identifiant 2011 8. Visualisez les
informations relatives ce groupe dans le fichier adquat 9. Ajouter
le groupe ii2H_ENSI la liste des groupes secondaires de
lutilisateur
user_ii2h_tp 10. (vrifiez le rsultat avec la commande id) 11.
Crez un nouveau fichier file_test et modifiez son appartenance pour
le groupe
ii2H_ENSI 12. Modifiez le nom de connexion de lutilisateur cre
new_ user, puis modifiez son mot
de passe
-
-6-
13. Attribuez lidentifiant 2012 cet utilisateur 14. Revrifiez
les informations sur new_user dans le fichier appropri. 15.
Supprimez lutilisateur cre et son rpertoire personnel 16. Supprimez
le groupe cre
Remarque : pour faire ces oprations vous devez vous connecter en
tant que super root $ sudo su 3me partie Manipulation des fichiers
Exercice 1 Dans votre rpertoire personnel crez 2 rpertoires nomms
respectivement rep_tp1 et rep_tp2 et 8 fichiers f_1, f_2, f_3, f_4,
f_5, f_6, f_7, f_8. Dplacez les fichiers f_1 f_5 dans rep_tp1 et
les autres fichiers dans rep_tp2 Attribuez les droits daccs
suivants aux fichiers (mthode symbolique) :
f_1 640 f_2 600 f_3 544 f_4 740 f_5 644 f_6 430 f_7 664 f_8 334
rep_tp1 640 rep_tp2 330
Peut-on dplacer le fichier f_7 dans le rpertoire rep_tp1 ? Sinon
comment pourrait-on le faire ? Peut-on afficher le contenu du
rpertoire rep_tp2 ? Pourquoi ? Quels sont les droits par dfaut ?
Modifiez les droits par dfaut pour crer des fichiers avec les
droits 444. Crez un nouveau rpertoire rep_tp3 sous /home et deux
fichiers f_9 et f_10 Visualisez les droits daccs de tous les
fichiers et rpertoires de votre rpertoire (/home) Etudiez la
faisabilit des commandes suivantes
ls rep_tp3 cp f_9 rep_tp3 mv f_10 rep_tp3 cat rep_tp3/f_9 cat
>> rep_tp3/f_9 rm rep_tp3/f_9