Download - Linux Chap2 SystemeFichier1

Transcript
  • Gnal VALET Version 1.21 : Jan 2011Gnal VALET Version 1.21 : Jan 2011

  • Quest-ce quun systme de fichier ?

    Organisation physique des donnes sur un support Sur un disque dur, une cl USB, un DVD,

    Quest-ce quune arborescence ?

    Organisation logique des fichiers sur un ou plusieurs systmes de fichiers

    Il sagit dune structure de donnes hirarchique de type arbre Il sagit dune structure de donnes hirarchique de type arbre

    Racine de larborescence

    RpertoireSous-Rpertoire

    Fichier

  • Voici larborescence typique dun systme Linux :

    Racine du systme

    Fichiers de configurationCommandes principales disponibles pour tous

    Fichiers de dmarrage du systme contenant le noyau

    Point dentre vers les priphriquesRpertoires personnels des utilisateursRpertoires personnels des utilisateurs

    Rpertoire personnel du super-utilisateurLogiciels et librairies supplmentaires

    Journaux systmes (log)

    sur les processus en cours dexcutionSystme de fichiers virtuel (VFS) contenant des infos

    sur les processus en cours dexcution

  • Diffrents symboles sont utiliss pour dsigner des rpertoires

    Le . : Rpertoire courant Le .. : Rpertoire parent Le ~ : Rpertoire personnel de lutilisateur courant

    La commande cd permet de changer de rpertoire

    La commande ls permet de lister un rpertoire

    La commande pwd permet de connatre le rp. courant La commande pwd permet de connatre le rp. courant

    Exemples :

    root@Nom:~# cd /etc/apache2cd /etc/apache2cd /etc/apache2cd /etc/apache2root@Nom:/etc/apache2 # cd ..cd ..cd ..cd ..root@Nom:/etc # ls .ls .ls .ls .root@Nom:/etc # cd ~cd ~cd ~cd ~root@Nom:/etc # pwdpwdpwdpwd/home/karim/home/karim/home/karim/home/karim

    Je suis dans mon rep. perso Je vais dans /etc/apache2

    Je vais dans le rp parent (/etc)

    Je liste le rp. courant (/etc)

    Je retourne dans mon rp perso

    O suis-je ?

  • Il est constitu dun ou de plusieurs plateaux

    Chaque plateau est divis en pistes (tracks) Chaque piste est divise en secteurs (sectors) Le cylindre est form par les pistes de mme rayon sur chaque

    plateau Le formatage est effectu 2 niveaux

    En usine : le formatage bas niveau des pistes et secteurs En usine : le formatage bas niveau des pistes et secteurs Par lutilisateur : Effacement ou rcriture des donnes

    Lors de linstallation du systme dexploitation par exemple

    La capacit dun disque dpend

    De la taille des secteurs Du nombre de cylindres et donc du nombre de plateaux

  • Organisation typique du poste de travail

    Le Master Boot Record est situ dans les 1er secteurs du disque

    Il est constitu de 2 parties :

    DisquePartition systme Partition donnesMBR

    Il est constitu de 2 parties :

    La table des partitions Le programme damorage qui charge le noyau du systme

    Plusieurs types de partitions

    Principale Etendue Logique

  • Les partitions principales

    Au maximum de 4 Accepte tout type de systme de fichiers

    Les partitions tendues

    Destines contenir des partitions logiques et non un systme de fichiers

    Ncessitent au moins une partition principale Ncessitent au moins une partition principale Les partitions logiques

    Contenues dans une partition tendue Accepte tout type de systme de fichiers

    Exemple permettant dinstaller plusieurs systmes dexploitation

    Partition principaleMBR Logique Logique

    EtenduePartition

    principale Logique

  • Le pointeur spcial /dev permet laccs aux disques

    Format des pointeurs sur disque :

    Types de bus

    hd : Priphriques IDE sc : Priphriques SCSI

    Type de bus

    Lettre de priphrique

    N de partition

    sc : Priphriques SCSI sd : Priphriques SATA

    Exemples

    /dev/hda1 : Partition 1 sur le 1er disque IDE

    /dev/sdb2 : Partition 2 sur le 2me disque Sata

  • chaque systme est associ un format

    Dfinit la structure des donnes sur le support Sous Linux

    ext2, ext3, jfs, xfs ext3 est la plus courante pour Linux

    Sous Windows

    fat, fat32, ntfs fat, fat32, ntfs Nfts est utilis sous windows XP et Vista

    Toujours prfrer un systme de fichier journalis

    Chaque squence de lecture/criture est dabord inscrite dans un journal avant dtre effectue

    Si le systme se bloque pendant la squence, elle sera acheve aprs le redmarrage

    On vite les erreurs dans le systme de fichiers

  • Le format swap est utilis comme mmoire virtuelle

    Dans le cas o la mmoire vive est sature Par le systme pour amliorer les performances La taille du swap est fixe au double de la mmoire vive

    Si 512Mo de mmoire vive -> 1024Mo de swap

    Linux peut lire la plupart des formats

    Notamment Ceux de Windows : NTFS, FAT, FAT32 Notamment Ceux de Windows : NTFS, FAT, FAT32 Avant dtre utilis, un disque doit tre partitionn

    A laide de la commande fdisk si Linux est dj install Par le programme dinstallation sinon (dpend de la distribution)

    Il faut ensuite crer un systme de fichier

    Avec lutilitaire gnrique mkfs mkfs.ext2, mkfs.ext3, mkfs.xfs,

  • Sous Linux, Tout est fichier

    Larborescence est construite partir de points de montage Un point de montage est une association entre une partition

    physique et larborescence du systme

    hda

    hda1

    hdb

    hdb1Montage

    Avantages

    Mettre labri certaines donnes stratgiques comme /home La dfaillance du disque hdb nentrane pas une rinstallation totale

    hda1

    hda2

    hdb1

    hdb2

    Arborescence systmeDisque 1 Disque 2

    Montage

    Montage

  • Tant quils ne sont pas effectus, le systme de fichiers est inaccessible

    Ils sont raliss automatiquement au dmarrage du systme

    Seulement ceux qui figurent dans le fichier /etc/fstab Il est possible de crer un point de montage manuellement

    Pour les cls USB ou le CDROM par exemple En utilisant la commande mount En utilisant la commande mount Et umount pour supprimer le point de montage

    Une partition est associe un systme de fichiers

    Il faut parfois prciser le type de ce systme ext2, ext3, xfs, swap, jfs, iso9660, vfat,

    root@Nom:~# mount /dev/hdd /mnt/cdrommount /dev/hdd /mnt/cdrommount /dev/hdd /mnt/cdrommount /dev/hdd /mnt/cdromroot@Nom:~# umount /dev/hddumount /dev/hddumount /dev/hddumount /dev/hdd

  • 3 tapes sont ncessaires

    Cration dune partition : fdisk Initialisation du systme de fichiers : mkfs Cration dun point de montage : mount

    1) Cration dune partition

    Partition principale de 100Mo avec fdisk sur /dev/sdaroot@Nom:~# fdisk /dev/sdafdisk /dev/sdafdisk /dev/sdafdisk /dev/sdaCommande (m pour l'aide): nnnnAction de commande

    e tenduep partition primaire (1-4)

    ppppNumro de partition (1-4): 1111Premier cylindre (1-26, par dfaut 1): Utilisation de la valeur par dfaut 1

    Dernier cylindre ou +taille or +tailleM ou +tailleK (1-26, par dfaut 26): +100M+100M+100M+100MCommande (m pour l'aide): wwwwLa table de partitions a t altre!Appel de ioctl() pour relire la table de partitions.Synchronisation des disques.

    Commande (m pour l'aide): qqqq

  • Vrification de la partition sous fdisk

    2) Initialisation du systme de fichiers

    Avec la commande mkfs

    Commande (m pour l'aide): ppppPriphrique Amorce Dbut Fin Blocs Id Systme/dev/sda1 1 13 104391 83 Linux

    root@Nom:~# mkfs.ext3 /dev/sda1mkfs.ext3 /dev/sda1mkfs.ext3 /dev/sda1mkfs.ext3 /dev/sda1mke2fs 1.40.8 (13-Mar-2008)mke2fs 1.40.8 (13-Mar-2008)tiquette de systme de fichiers=Type de systme d'exploitation : LinuxTaille de bloc=1024 (log=0)Taille de fragment=1024 (log=0)26104 i-noeuds, 104388 blocs5219 blocs (5.00%) rservs pour le super utilisateurPremier bloc de donnes=1Nombre maximum de blocs du systme de fichiers=6737100813 groupes de blocs8192 blocs par groupe, 8192 fragments par groupe2008 i-noeuds par groupeSuperblocs de secours stocks sur les blocs :

    8193, 24577, 40961, 57345, 73729criture des tables d'i-noeuds : complt Cration du journal (4096 blocs) : compltcriture des superblocs et de l'information de comptabilit du systme defichiers : complt

  • Cration du point de montage

    De type ext3 Avec la commande mount

    Le rpertoire /mnt/toto doit dj exister

    Vrification du point de montage avec la commande df

    root@Nom:~# mount mount mount mount ----t ext3 /dev/sda1 /mnt/toto/t ext3 /dev/sda1 /mnt/toto/t ext3 /dev/sda1 /mnt/toto/t ext3 /dev/sda1 /mnt/toto/

    root@Nom:~# dfdfdfdfSys. de fich. 1K-blocs Occup Disponible Capacit Mont sur/dev/sdc1 7913216 2716248 4798156 37% /varrun 127856 108 127748 1% /var/runvarlock 127856 0 127856 0% /var/lockudev 127856 64 127792 1% /devdevshm 127856 12 127844 1% /dev/shmlrm 127856 38176 89680 30% /lib/modules/2.6.24-16-generic/vol../dev/sdd1 8045180 6987320 1057860 87% /media/GEN-USB/dev/sda1 101086 5664 90203 6% /mnt/toto

  • Rpertoire spcial nexistant pas physiquement sur le disque

    /proc est un pseudo-systme de fichiers mis jour en temps rel par le noyau

    Chaque processus en cours dexcution y dispose dun sous rpertoire

    Le nom de ce sous-rpertoire correspond au PID du processus

    Des informations importantes sur le processus y sont stockes Des informations importantes sur le processus y sont stockes

    Fichiers et mmoires utilises par le processus Les fichiers de /proc sont en :

    Lecture seule : Permet dobtenir des infos sur les processus Exemple : /proc/cpuinfo (Infos sur le processeur)

    Ecriture : Permet de modifier des paramtres du noyau Exemple : /proc/sys/net/ipv4/ip_forward (Activation du routage)

  • Quelques fichiers intressants consulter

    cpuinfo : informations sur le(s) processeur(s) meminfo : utilisation de la mmoire ioports : Adresses physiques des diffrents priphriques matriels

    Visualiser le fichier /proc/cpuinfo avec la commande cat

    root@Nom:~# cat /proc/cpuinfo cat /proc/cpuinfo cat /proc/cpuinfo cat /proc/cpuinfo processor : 0processor : 0vendor_id : GenuineIntelcpu family : 6model : 23model name : Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHzIntel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHzIntel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHzIntel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHzstepping : 8cpu MHz : 2500.5852500.5852500.5852500.585cache size : 6144 KBfdiv_bug : nohlt_bug : nof00f_bug : nocoma_bug : no

  • La ligne de commande donne des informations :

    root@Nom:/home/karim# |

    Utilisateur courant

    Nom de la machine

    Rpertoire courant

    # : Superutilisateur$ : Utilisateur normal

    Autre exemple

    karim@Nom:~/Documents/software$ |

    ~ : Rpertoire home de karim (home/karim)

    Sous rpertoire du home de karim /home/karim/Documents/software/

  • La commande pwd permet de savoir quel est le rpertoire courant

    La commande ls permet de lister les fichiers contenus dans un rpertoire

    La commande cd permet de changer de rpertoire

    Les symboles suivants ont une signification particulire :

    . : Le point dsigne le rpertoire courant Exemple : Excuter un script depuis le rpertoire courant

    .. : Les 2 points dsignent le rpertoire parent Exemple : Se dplacer dans le rpertoire parent

    ~ : Dsigne le rpertoire home de lutilisateur courant

    root@Nom:/home/karim# ././././script.sh

    root@Nom:/home/karim/Docs# cd .. cd .. cd .. cd ..

    root@Nom:/home/karim/Docs# cd ~ cd ~ cd ~ cd ~

  • Il existe 2 mthodes pour spcifier un chemin dans le systme de fichiers

    Chemin relatif : Dpend du rpertoire courant Chemin absolu : Dbute la racine du systme (commence tjrs par / )

    Exemplesroot@Nom:/home/karim# cd Documentscd Documentscd Documentscd Documents = root@Nom:/home/karim# cd /home/karim/Documentscd /home/karim/Documentscd /home/karim/Documentscd /home/karim/Documents

    relatif absolu

    Attention aux chemins relatifs lintrieur dun script

    Le script peut-tre excut depuis nimporte o Le rpertoire courant est donc diffrent chaque fois

    root@Nom:/home/Salim# cd /home/karim/Documentscd /home/karim/Documentscd /home/karim/Documentscd /home/karim/Documentsroot@Nom:/home/karim/Documents/# |

    root@Nom:/home/Salim# cd Documentscd Documentscd Documentscd Documentsroot@Nom:/home/Salim/Documents/# | =

    root@Nom:/etc/apache# cd ../cd ../cd ../cd ../root@Nom:/etc/# |

    root@Nom:/etc/apache# cd /etccd /etccd /etccd /etcroot@Nom:/etc/# |=

    karim@Nom:~ # cd Docscd Docscd Docscd Docskarim@Nom:~/Docs# |

    Salim@Nom:/etc# cd /home/karim/Docscd /home/karim/Docscd /home/karim/Docscd /home/karim/Docsroot@Nom:/home/karim/Docs # |=

  • Dans quel rpertoire je suis situ ?

    Rponse : Dans le rpertoire /home/karim/Documents/rep1 Par quel chemin relatif quivalent peut-on remplacer celui-ci ?

    Rponse : ppp/peers

    karim@Nom:~/Documents/rep1$

    karim@Nom:/etc$ cd cd cd cd /etc/ppp/peers//etc/ppp/peers//etc/ppp/peers//etc/ppp/peers/

    Que mindiquera le rsultat de la commande suivante ?

    Rponse : /home/Jamila/Documents/pub Commande la plus courte possible pour revenir dans le rpertoire

    rep2, situ la racine de mon rpertoire home ?

    Rponse :

    Jamila@Nom:~/Documents/pub$ pwdpwdpwdpwd

    karim@Nom:~/rep1/sousrep1$

    karim@Nom:~/rep1/sousrep1$ cd ~/rep2cd ~/rep2cd ~/rep2cd ~/rep2

  • Linux est un systme multi-utilisateurs

    Plusieurs utilisateurs se partagent lespace disque Les fichiers et rpertoires dun utilisateur ne doivent pas tre

    accessibles par les autres Les fichiers de configuration du systme doivent tre protgs

    Ncessit de spcifier des droits pour chaque fichier/rpertoire

    Plusieurs types de droits : Lecture (R), criture (W), excution (X) Plusieurs types de droits : Lecture (R), criture (W), excution (X) Ces droits sappliquent pour 3 groupes dutilisateurs :

    Le propritaire (user) du fichier

    Le groupe (group) propritaire (Tous les utilisateurs membre du groupe)

    Les autres (others). Dsigne tous les utilisateurs non membres des 2 prcdents

    Les droits sont responsables dun grand nombre derreurs de configuration

  • Nous avons vu quil existe 3 types de droits : r, w et x

    Ces droits nont pas la mme signification pour un fichier que pour un rpertoire

    Pour un fichier :

    r : Lecture (afficher) w : Ecriture (modification) x : Excution (excution dun script) x : Excution (excution dun script)

    Pour un rpertoire

    r : Lire le contenu, lister les fichiers (avec ls par exemple) w : Modifier le contenu, crer et supprimer des fichiers (avec les

    commandes cp , mv , rm ) x : daccder aux fichiers du rpertoire. Mais aussi de naviguer dans

    les sous-rpertoires (avec cd ) En gnral, lorsque le droit w est accord, le droit x lest aussi

  • La commande ls -l permet dafficher les droits qui sappliquent

    Signification des diffrents champs

    root@Nom:/home/karim/Documents# lsls --lltotal 20-rw-r--r-- 1 karim karim 0 2008-08-15 14:42 projet.txt-rw-rw-r-x 1 karim ensa 7406 2008-08-15 14:44 rapport2006.ods-rw-rw-r-- 1 karim karim 7363 2008-08-15 14:44 rapport-activite.odt-rw-rwxr-x 1 1 1 1 karimkarimkarimkarim ensaensaensaensa 255 2008255 2008255 2008255 2008----08080808----15 14:52 script.sh15 14:52 script.sh15 14:52 script.sh15 14:52 script.sh

    Groupe Taille Nom du fichierType

    rw- rwx r-x

    propritaire

    Groupe propritaire

    autres

    karim ensa

    Utilisateurpropritaire

    Groupepropritaire

    255 2008255 2008255 2008255 2008----08080808----15 14:52 script.sh15 14:52 script.sh15 14:52 script.sh15 14:52 script.sh

    Taille

    Date/heure modif

    Nom du fichier

    Propritaire : Lecture, critureGroupe : Lecture, criture et excutionAutres : Lecture et excution

    -

    Type

  • Le droit w accord un rpertoire permet :

    Dy effacer des fichiers quels que soient le propritaire et les droits qui sappliquent ces fichiers

    Quand il est donn un groupe, nimporte quel utilisateur de ce groupe peut supprimer des fichiers (dangereux)

    Les droits ne sappliquent pas au super-utilisateur

    Il a tous les droits sur tout le systme de fichiers Cest une trs grande responsabilit puisque sous Linux tout ou presque Cest une trs grande responsabilit puisque sous Linux tout ou presque

    repose sur les fichiers

    Le droit x accord un rpertoire est un pralable indispensable pour exercer des droits sur les fichiers contenus

    Lutilisateur qui cre un fichier en devient le propritaire

    Ce fichier aura comme groupe propritaire, le groupe primaire du propritaire (Groupe principal auquel appartient le propritaire)

  • Quel(s) utilisateur(s) pourra(ont) se dplacer dans le rpertoire suivant ?

    Rponse : karim et les membres du groupe Informatique Qui pourra crer de nouveaux fichiers dans ce rpertoire ?

    drwxrrwxrrwxrrwxr----xxxx------------ 26 karim Informatique 4096 2008-08-28 16:11 karim

    drwxrrwxrrwxrrwxr----xrwxxrwxxrwxxrwx 26 Salim Informatique 4096 2008-08-28 16:11 bilans

    Rponse : Tout le monde sauf les membres du groupe Informatique Soit le fichier suivant :

    Situ dans le rpertoire suivant :

    Qui pourra effacer ce fichier ? Rponse : Tout le monde malheureusement !!!

    -rwxrrwxrrwxrrwxr--------rrrr-------- 26 Souad ensa 25140 2008-08-28 16:11 rapport2006.odt

    drwxrwxrwxrwxrwxrwxrwxrwxrwxrwxrwxrwx 26 Salim ensa 4096 2008-08-28 16:11 rapports

  • Le compte root possde tous les droits

    Celui qui possde le mot de passe root peut tout faire La plupart des distributions rcentes dsactivent le compte

    root

    Certains utilisateurs peuvent endosser temporairement le rle du super-utilisateur

    Avec la commande sudo (Super User Do) Avec la commande sudo (Super User Do)

    La commande qui suit le sudo sera excute en tant que root

    En rgle gnrale, on utilise sudo que temporairement

    Pour des tches administratives Accder lensemble du systme de fichiers

    Grer les utilisateurs

    karim@Nom:~/Documents$ sudosudosudosudo commande

  • Parfois, le super-utilisateur doit endosser un autre rle afin deffectuer une tche

    Que se passe t-il si le super-utilisateur cre un fichier ?

    Ce fichier lui appartient Selon les droits qui sappliquent, les autres utilisateur ne peuvent pas

    y accder Que faire alors ? Que faire alors ?

    Se faire momentanment passer pour un autre utilisateur Avec la commande su

    root@ubuntu:~# su gensu gensu gensu gengen@ubuntu:~$ touch toto.txtgen@ubuntu:~$ ls -ltotal 32drwxr-xr-x 2 gen gen 4096 2009-08-22 14:49 Modles----rwrwrwrw----rrrr--------rrrr-------- 1 gen gen 0 20091 gen gen 0 20091 gen gen 0 20091 gen gen 0 2009----08080808----31 05:47 toto.txt31 05:47 toto.txt31 05:47 toto.txt31 05:47 toto.txtdrwxr-xr-x 2 gen gen 4096 2009-08-22 14:49 Vidosgen@ubuntu:~$ exitexitexitexitexitroot@ubuntu:~#

    Je me fais passer pour gen Je me fais passer pour gen

    Le fichier cr appartient gen Le fichier cr appartient gen

    Je reprends mon rle initialJe reprends mon rle initial

  • Utilis pour dfinir les droits par dfaut

    Droits appliqus pour un nouveau fichier lors de sa cration Les bits du masque 1 empchent le fichier dobtenir le droit

    correspondant

    Exemple avec un masque de protection de 027

    0 2 7

    La commande umask permet de modifier le masque

    Les fichiers et rpertoires nouvellement cres seront alors protgs La valeur par dfaut du masque est 022

    Est-ce suffisant ?

    000 010 111rwx rwx rwx

    rwx r-x ---

    Permissions maximumPermissions effectives aprs application du masque

  • La commande chmod permet de modifier les droits :

    2 syntaxes diffrentes

    Mode symbolique :

    Bas sur des symboles (ugoa) et des oprateurs (+,-,=) u (user), g (group), o (others), a (all users)

    chmod [OPTION]... OCTALchmod [OPTION]... OCTALchmod [OPTION]... OCTALchmod [OPTION]... OCTAL----MODE FILE...MODE FILE...MODE FILE...MODE FILE...

    chmod [OPTION]... MODE[,MODE]... FILE...chmod [OPTION]... MODE[,MODE]... FILE...chmod [OPTION]... MODE[,MODE]... FILE...chmod [OPTION]... MODE[,MODE]... FILE...

    u (user), g (group), o (others), a (all users) + (Ajouter le droit), - (Retirer le droit), = (Ajouter le droit et retirer

    tous les autres) Exemple (Ajoute le droit dexcution au propritaire) :

    Mode octal :

    Bas sur des nombres de 0 7 A chaque bit de la traduction binaire correspond un droit Exemple ( rw- rw- r-- ) :

    chmod u+x rapport.txt

    chmod 664 rapport.txt

  • Les droits sont reprsents par un nombre octal (Base 8)

    De 0 7 La reprsentation binaire (base 2) donne le dtail des droits

    Exemple : 6 5 4110 101 100

    Propritaire :Groupe :Autres :

    Lecture, critureLecture et excutionLecture seulement

    Ce mode permet de modifier tous les droits en mme temps

    A utiliser avec prcaution Trs efficace pour sassurer que tous les fichiers ont les mmes

    droits Utilis pour scuriser les accs des utilisateurs aux fichiers

    rw- r-x r--

  • Retirer le droit dcriture au propritaire et au groupe

    Positionner les droits en rwx r-w ---

    Ajouter le droit de lecture aux autres de tous les fichiers

    chmod u-w,g-w /home/karim/secret.txt

    chmod 750 /home/karim/secret.txt

    chmod o+r /home/karim/*

    Retirer le droit dcriture au groupe propritaire

    Pour tous les fichiers et sous rpertoires dun rpertoire donn (Option R)

    Donner tous les droits tout le monde (dconseill)

    chmod o+r /home/karim/*

    chmod -R g-w /home/karim/*

    chmod 777 /home/karim/secret.txt

  • La commande chown (Change owner) permet de changer lappartenance

    Pour le propritaire ou le groupe propritaire Syntaxe :

    Exemples :

    chown [OPTION]... [OWNER][:[GROUP]] FILE...

    Modification du propritaire (karim)

    Modification du groupe propritaire (ensa)

    Modification du propritaire (Salmi) et du groupe (direction) Pour tout le contenu du rpertoire (Option R - rcursif)

    chown karim /usr/docs/toto.txt

    chown :ensa /usr/docs/toto.txt

    chown R Salmi:direction /usr/docs/rapports/

  • Commande chmod ncessaire pour attribuer le droit dcriture au groupe pour le rpertoire suivant :

    Rponse : Quels seront les droits accords aprs la commande suivante ?

    drwxrrwxrrwxrrwxr----xxxx------------ 26 karim Informatique 4096 2008-08-28 16:11 karim

    chmod 654 file.txt

    chmod g+w karim/

    Rponse : propritaire = rw , groupe = rx et autres = r ( rw- r-x r--) Quels seront les droits maximum accords aux fichiers crs par

    un utilisateur ayant un masque de protection de 023 ?

    Rponse : rwx r-x r

  • La commande cp copie des fichiers source vers une ou plusieurs destinations

    Syntaxe :

    Exemples

    Copie le fichier toto.txt vers /home/karim

    cp [OPTION]... SOURCE... DIRECTORY

    Copie tous les fichiers du rpertoire /home/Salmi vers /home/karim

    Copie le rep /home/Salmi tout entier vers /home/karim

    Copie en conservant les droits et lappartenance (-a)

    cp toto.txt /home/karim

    cp /home/Salmi/* /home/karim

    cp -r /home/Salmi/ /home/karim

    cp -a /home/Salmi/rapport.odt /home/karim

  • Copier un fichier revient crer un nouveau fichier

    Identique loriginal Cest donc lutilisateur qui a effectu la copie qui devient le

    propritaire A moins dutiliser loption a Exemple :

    Je suis connect en tant que root

    root@Nom:/home/Salmi# ls ls ls ls ----lllltotal 0lrwxrwxrwx 1 Salmi Salmi 26 2008-08-21 18:04 Examples -> /usr/share/example-content-rw-r--r-- 1 Salmi SalmiSalmi SalmiSalmi SalmiSalmi Salmi 0 2008-08-21 18:14 rapport.odtrapport.odtrapport.odtrapport.odtroot@Nom:/home/Salmi# cp rapport.odt /home/karim/cp rapport.odt /home/karim/cp rapport.odt /home/karim/cp rapport.odt /home/karim/root@Nom:/home/Salmi# ls ls ls ls ----l /home/karim/l /home/karim/l /home/karim/l /home/karim/total 4-rw-r--r-- 1 root rootroot rootroot rootroot root 0 2008-08-21 18:14 rapport.odtrapport.odtrapport.odtrapport.odtdrwxr-xr-x 2 karim karim 4096 2008-08-21 17:59 rep1drwxr-xr-x 2 karim karim 4096 2008-08-21 18:00 rep2drwxr-xr-x 2 karim karim 4096 2008-08-15 14:41 Vidosroot@Nom:/home/Salmi#

    Je suis connect en tant que root

    Je liste le rpertoire de Salmi

    Ce fichier appartient Salmi

    Je le copie chez karim

    La copie mappartient (root)

  • La commande mv dplace ou renomme une source vers une destination.

    Syntaxe :

    Exemples

    Dplace le fichier toto.txt vers /home/karim sans le renommer

    mv [OPTION]... SOURCE... DIRECTORY

    Renomme le fichier toto.txt en tata.txt

    Dplace tous les fichiers de rep1 vers rep2

    mv toto.txt /home/karim

    mv toto.txt tata.txt

    mv rep1/* rep2/

  • La commande rm permet deffacer des fichiers et des rpertoires

    A utiliser avec prcaution (Surtout avec loption r) Exemples :

    Effacer le fichier rapport.txt

    Effacer le rpertoire /home/karim karim@Nom:~$ rm /home/karim/rapport.txtrm /home/karim/rapport.txtrm /home/karim/rapport.txtrm /home/karim/rapport.txt

    Effacer le rpertoire /home/karim

    Effacer tous les fichiers du rp. courant commenant par rapport

    Effacer les fichiers du rp. courant se terminant par .txt

    Avant dutiliser rm , savoir avant quelle sera la porte

    rm -r /* peut gnrer une catastrophe

    karim@Nom:~$ rm rm rm rm ----r /home/karim/r /home/karim/r /home/karim/r /home/karim/

    karim@Nom:~$ rm ./rapport*rm ./rapport*rm ./rapport*rm ./rapport*

    karim@Nom:~$ rm ./*.txtrm ./*.txtrm ./*.txtrm ./*.txt

  • Un(e) inode est une structure de donnes concernant un fichier

    Contient des informations sur : Les droits, le propritaire et le groupe

    Le priphrique qui le contient

    Des donnes relatives au systme de fichiers et lemplacement du fichier sur le support de stockagefichier sur le support de stockage

    A chaque fichier, correspond un inode

    Il est unique pour le priphrique de stockage qui contient le fichier Pour connatre linode dun fichier, la commande ls avec

    loption -i . karim@Nom:~/Documents/essais$ ls ls ls ls ----il /home/karim/Documentsil /home/karim/Documentsil /home/karim/Documentsil /home/karim/Documentstotal 12

    8246824682468246 drwxr-xr-x 2 karim karim 4096 2008-08-25 15:08 essais467165467165467165467165 drwxr-xr-x 3 karim karim 4096 2008-06-02 14:20 software475969475969475969475969 drwxr-xr-x 3 karim karim 4096 2008-07-29 15:54 vmware-tools

    inode

  • Un lien est un type spcial de fichier qui fait rfrence un autre fichier

    Axe central du fonctionnement de Linux, le lien permet :

    De crer des raccourcis vers des fichiers existants

    Dviter de stocker plusieurs fois le mme fichier dans des rpertoires diffrentsrpertoires diffrents

    Un petit dessin :

    01100011110101010110010101001000010101010

    fich1

    fich2

    01100011110101010110010101001000010101010

    fich1

    fich2liens physiques lien symbolique

    support de stockage support de stockage

  • Le lien symbolique est une rfrence vers un fichier cible

    Lorsque le fichier cible est effac, le lien est rompu Lorsque le lien est effac, le fichier cible nest pas effac

    Exemple :karim@Nom:~/Documents$ ls ls ls ls ----lllltotal 8lrwxrwxrwx 1 karim karim 29 2008-08-25 14:23 ipipipip -> /proc/sys/net/ipv4/ip_forwarddrwxr-xr-x 3 karim karim 4096 2008-06-02 14:20 softwaredrwxr-xr-x 3 karim karim 4096 2008-07-29 15:54 vmware-tools

    Nom du lien

    La commande ln avec loption -s est utilise pour crer un lien symbolique

    drwxr-xr-x 3 karim karim 4096 2008-07-29 15:54 vmware-tools

    Emplacement du vrai fichierIndique que cest un lien

    karim@Nom:~/Documents$ ln ln ln ln s /proc/sys/net/ipv4/ip_forward ip s /proc/sys/net/ipv4/ip_forward ip s /proc/sys/net/ipv4/ip_forward ip s /proc/sys/net/ipv4/ip_forward ip

    Nom du lien (link name)Cible (Target)

  • Un lien physique est associ un emplacement sur le support de stockage

    2 liens peuvent tre associs au mme inode Similaire la notion de pointeurs du langage C Deux liens physiques sont considrs comme 2 fichiers

    indpendants ( 2 i-nodes diffrents) Mme si leur contenu est au mme emplacement sur le support Mme si leur contenu est au mme emplacement sur le support

    Le lien physique est vu comme un fichier rgulier Crer un lien physique avec la commande ln :karim@Nom:~/Documents$ ln /home/karim/Documents/rapport2007ln /home/karim/Documents/rapport2007ln /home/karim/Documents/rapport2007ln /home/karim/Documents/rapport2007----2008.doc rap07082008.doc rap07082008.doc rap07082008.doc rap0708karim@Nom:~/Documents/essais$ ls ls ls ls ----ililililtotal 176470930 -rw-r--r-- 2 karim karim 84091 2008-08-25 14:48 rap0708470930 -rw-r--r-- 2 karim karim 84091 2008-08-25 14:48 rapport-annee2007_2008.doc

    Nombre de liens vers cet inode. Cest un indice permettant de supposer quil sagit dun lien

    cible

    nom fichier

    L inode est identique. Il sagit bien de liens

    physiques

  • O seront copis les fichiers ?

    Rponse : Dans /home/jean/Documents/ensa/ Que risque t-on deffacer ?

    Rponse : Tout le systme de fichiers !!! (en tant que root)

    Salim@Nom:~/Documents$ cp /usr/docscp /usr/docscp /usr/docscp /usr/docs----ensa/* ensa/ensa/* ensa/ensa/* ensa/ensa/* ensa/

    root@Nom:/# rm rm rm rm ----r ./*r ./*r ./*r ./*

    Par quelle commande peut-on remplacer la suivante afin dviter davoir plusieurs copies des mmes fichiers ?

    Rponse : Comment copier des fichiers en conservant les droits des fichiers

    sources ?

    Rponse : Utiliser loption -a de la commande cp

    karim@Nom:~$ cp cp cp cp ----r /usr/docsr /usr/docsr /usr/docsr /usr/docs----ensa ./ensa ./ensa ./ensa ./

    karim@Nom:~$ ln ln ln ln s /usr/docss /usr/docss /usr/docss /usr/docs----ensa docsensa docsensa docsensa docs----ensaensaensaensa