Vous êtes sur la page 1sur 9

Vrification si le noyau supporte les acl grep ACL /boot/config-$(uname -r) Monter la Partition La commande mount La commande mount

permet de manipuler tous les montages de systmes de fichier de manire trs prcise. Elle est invoque de la manire suivante et il vous faudra les droits d'administration pour l'utiliser. : sudo mount /dev/hda3 /media/stock La prcdente commande a pour effet de monter l'unit de stockage "/dev/hda3" dans le dossier "/media/stock". Le systme de fichier utilis est dtect automatiquement. NB : Sous Ubuntu, l'utilisateur par dfaut ne peut pas forcment accder de cette manire aux dossiers monts. Pour cela, il faut dfinir un u-mask (voir ci-dessous). Le point de montage est un rpertoire de l'arborescence de votre systme de fichier. Vous pouvez monter un disque dans n'importe quel rpertoire de votre systme de fichier, il suffit de vrifier qu'il existe (le crer avant sinon) et qu'il soit vide bien entendu. Ubuntu monte automatiquement les disques dans des sous-dossiers du rpertoire /media par exemple, dossiers qu'il cre automatiquement avant. Point de montage dont le nom comporte un espace. Pour la commande mount : l'espace doit tre prcd d'un caractre d'echappement \, ou le nom du dossier mis entre guillements "" Pour Fstab : l'espace doit tre remplac par \040

Il est possible de passer des options mount pour spcifier un systme de fichier s'il ne le trouve pas ou pour imposer des droits particuliers sur le volume mont par exemple. Nous allons voir ici les principales d'entre elles. Options de montage Format de la partition : Le type de fichier peut tre dtect automatiquement par mount par une analyse des premiers bits de la partition demande, nanmoins dans certains cas il peut tre ncessaire de lui imposer un format. sudo mount -t [type] /dev/hda3 /media/stock

Liste rapide des systmes de fichiers dont vous avez une description plus dtaille sur la page systme de fichiers. Nom Usuel Nom dans le fstab Nom dtaill Ext2FS ext2 Extended File System v2 Ext3FS ext3 Extended File System v3 Ext4FS ext4 Extended File System v4 FAT 16 fat File Allocation Table 16b FAT 32 vfat File Allocation Table 32b NTFS ntfs New Technology FileSystem ISO 9660 iso9660 format des CDROM exemples : mount -t ext3 /dev/hda3 /media/stock mount -t vfat /dev/hda3 /media/partage mount -t iso9660 /dev/hdd /media/cdrom Monter une partition dans le fichier /etc/fstab : Le fichier fstab Le fichier /etc/fstab contient les points de montage pour chacun des systmes de fichiers utiliss couramment sur le systme et qui seront monts au dmarrage. Un fstab est compos de plusieurs lignes dcrivant chacune les conditions de montage de chaque systme de fichier. Note sur les UUIDs Il est prfrable de noter les UUIDs des partitions plutt que leur types bloc (exemple: /dev/sda4, /dev/sdb2). En effet, l'UUID est unique la partition, elle vous assure qu'il n'y aura pas d'ambigut dans votre fstab. Pour obtenir les UUIDs de vos partitions, tapez sudo blkid Vous obtiendrez la liste de vos partitions, leurs types blocs, leurs UUIDs, leurs tiquettes, leurs types: /dev/sda5: UUID="c3cc32c0-b4bd-49f6-b23c-35fed37adea5" TYPE="ext2" /dev/sda6: UUID="2c442228-1991-48c7-bad9-a80dfc8267cf" TYPE="swap" /dev/sda7: UUID="33b870b8-a81e-4203-a4fd-7affa9f412fb" TYPE="ext4" /dev/sda8: UUID="c2d386a1-c2f9-4d2f-957a-65a5d9b4c4d7" TYPE="ext4" /dev/sda9: UUID="050d0aa7-e04c-4f3a-895d-4b228a0ba049" TYPE="ext4" /dev/sdd1: LABEL="Datas" UUID="77F65A7545C503E9" TYPE="ntfs" Ainsi, dans votre fstab, les deux lignes suivantes sont quivalentes, mais on prfrera la seconde: /dev/sdd1 /mnt/Datas ntfs defaults 0 0 UUID=77F65A7545C503E9 /mnt/Datas ntfs defaults 0 0 Montage et dmontage la vole Il faut monter les partitions voulues avec l'option acl. Par exemple : mount -t ext3 -o defaults,acl /dev/hda2/ /var/www/ Si la partition est dj monte, on peut modifier ces paramtres la vole : mount -o remount,acl /var/www/

L'inscription dans /etc/fstab des options de gestion des ACL est recommande quand leur utilisation est rgulire. Par exemple, notre mme couple partition / point de montage serait dclar ainsi : /dev/hda2 /var/www ext3 defaults,acl 0 0 Activation des ACL Les ACL ne sont nativement pas actives sur Ubuntu mais le noyau les prend en charge. Le paquet apt://acl doit normalement tre dj install. La commande grep ACL /boot/config-$(uname -r) permet de vrifier si le noyau prend en charge les ACL. Elle doit retourner 'y' pour le type systme de fichier qui nous intresse. Il faut maintenant prciser lors du montage de la partition que l'on veut utiliser les ACL. Soit en montant la partition avec l'option acl mount -t ext3 -o defaults,acl /dev/sdaX/ /mount/folder/ soit en inscrivant l'option dans le fichier fstab UUID=xxxxxxxxx / ext4 [autres options],acl 0 puis en remontant la partition (si l'on ne veut pas redmarrer) mount -a -o remount /dev/sdax La syntaxe fondamentale est simple. La commande setfacl -m u:khadija:rw /var/www/index.php modifiera (-m) l'ACL de /var/www/index.php en attribuant l'utilisateur (prfixe u:) khadija les droits rw et en lui refusant le droit d'excution (qui n'a pas t mentionn dans la commande). Les principaux paramtres connatre sont : prfixes : u: (droits pour un utilisateur, nomm ou dsign par son uid) ; g: (droits pour un groupe, nomm ou dsign par son gid) ; o: (droits pour other, le reste du monde) ; permissions : elles sont codes dans l'ordre r, w et x ou X (ce dernier reprsentant, comme avec chmod, le droit d'entre dans les rpertoires ou celui d'excution pour les fichiers qui ont dj un marqueur x). On les remplace par - pour une interdiction explicite. Ne pas mentionner un droit revient aussi une interdiction : setfacl -m u:khadija:w /var/www/index.php et setfacl -m u:khadija:-w- /var/www/index.php reviennent au mme. On peut construire des commandes plus complexes en enchanant les entres dans l'ACL : setfacl -m u:khadija:rw,g:site1:r--,o:--- /var/www/index.php dfinit des permissions dans l'ACL de /var/www/index.php pour l'utilisateur khadija, le groupe site1 et le reste du monde. Cette commande permet aussi de modifier les permissions classiques (et remplace dans ce cas chmod) : l'utilisateur, le groupe et le reste du monde initiaux du fichier sont simplement dsigns par le prfixe (u:, g:, o:) suivi d'un nom vide : si un fichier index.php appartient luce:www-data avec les droits r--r-----, pour donner l'utilisateur et le groupe les droits en lecture et criture il suffit d'une commande setfacl -m u::rw,g::rw /var/www/index.php. Si l'utilisateur et le groupe possdent 1

dj un droit qui ne serait pas mentionn dans la commande setfacl, ce droit sera annul. Soit le fichier index.php avec les droits rw-r----- pour luce:www-data. La commande setfacl -m u::r,g::x index.php modifiera les droits r----x--- pour pour luce:www-data. Noter qu'un fichier dont seules les permissions classiques ont t altres par setfacl au lieu de chmod ne reoit pas pour autant une ACL. De fait, il n'est pas rfrenc par ls -l comme fichier ACL (marqueur + ; voir plus bas). Droits par dfaut et hritage des droits tendus Les droits tendus d'un objet parent ne sont pas automatiquement hrits par les objets contenus. Par exemple, si un rpertoire (root:www-data, rwxr-x-r-x) possde une ACL u:luce:rwx, un fichier cr l'intrieur (ou dj prsent avant l'adjonction de l'ACL) ne reoit pas cette ACL et ses droits sont ceux impliqus par l'umask dfini. On peut modifier ce comportement en ajoutant, aux rpertoires seulement, un attribut default, cod d:, qui se transmet tous les fichiers crs dans le rpertoire aprs l'ajout de l'ACL par dfaut. Par exemple, setfacl -m d:u:luce:rwX /var/www donne luce les droits de lecture et criture (ainsi qu' excution quand il s'agit de rpertoires) pour tous les fichiers qui seront crs sous /var/www partir de ce moment, jusqu' ce que cette ACL par dfaut soit annul ou remplac. >>>[modifier] Retirer des permissions Pour annuler tout ou partie d'une ACL : setfacl -b /var/www/index.php te tout le contenu de l'ACL du fichier, tandis que setfacl -x u:khadija,g:site1 /var/www/index.php retire les permissions propres khadija et au groupe site1. Les permissions ACL par dfaut d'un rpertoire (d:) s'annulent par setfacl -k. Le masque Le masque est une synthse des valeurs les plus permissives que possde un fichier dot d'une ACL. Les droits de l'utilisateur fondamental ne sont cependant pas pris en compte. Le masque est calcul automatiquement : chown luce:www-data index.php chmod 640 index.php ls -l index.php -rw-r----- 1 luce www-data 5055 2005-10-16 18:53 index.php getfacl index.php # file: index.php # owner: luce # group: www-data user::rwgroup::r-other::--Ce fichier n'a pas d'ACL donc pas de masque. setfacl -m u:jean:rw,g:web:rw index.php getfacl index.php # file: index.php # owner: luce # group: www-data user::rwuser:jean:rwgroup::r--

group:web:rwmask::rwother::--Maintenant que le fichier possde une ACL, il a reu un masque : les permissions les plus leves (utilisateur exclu) tant rw, c'est aussi la valeur du masque. L'intrt du masque est de pouvoir limiter d'un coup toutes les permissions d'un fichier (tendues ou non), sauf celles du propritaire ; on utilise pour cela le prfixe m: suivi du droit maximal accorder : getfacl index.php # file: index.php # owner: luce # group: www-data user::rwuser:jean:rwgroup::r-group:web:rwmask::rwother::--setfacl -m m:r index.php getfacl index.php # file: index.php # owner: luce # group: www-data user::rwuser:jean:rw#effective:r-group::r-group:web:rw#effective:r-mask::r-other::--Les valeurs modifies sont indiques par le commentaire effective: suivi des permissions effectives aprs l'application du masque (ici, jean et web n'ont plus que le droit r, la situation reste la mme pour www-data). L'existence mme d'un masque renvoie au fonctionnement profond des ACL. Pour en comprendre l'utilit relle sans se limiter l'application pragmatique qui en est donne ici, on se reportera POSIX Access Control Lists on Linux. >>[modifier] getfacl Cette commande suivie d'un nom de fichier affiche l'ACL de ce fichier (get file's ACL rcuprer l'ACL du fichier ). Par exemple : getfacl /var/www # file: var/www # owner: root # group: www-data user::rwx user:luce:rwx group::rwx mask::rwx other::r-x default:user::rwx default:user:khadija:rwx default:group::rwx

default:group:www-data:r-x default:mask::rwx default:other::r-x On voit qu'outre les droits traditionnels attribus root:www-data (droits indiqus aprs user:: et group::), sont aussi dfinis : des droits complets pour luce (user:luce:rwx) ; une permission ACL par dfaut donnant des droits complets khadija sur tous les nouveaux fichiers crs sous /var/www/ (default:user:khadija:rwx) ; une autre permission ACL par dfaut donnant des droits de lecture et d'excution au groupe wwwdata sur les mmes fichiers (default:group:www-data:r-x). Noter que user::, group:: et other:: reprsentent le triplet utilisateur / groupe / reste du monde des permissions classiques. Appliquer cette commande sur un fichier qui n'a pas d'ACL dfinie donne les mmes informations que ls -l, dans un format diffrent : setfacl -b index.php # retirer les ACL pouvant exister ls -l index.php -rw-r----- 1 root www-data 5055 2005-10-16 18:53 index.php getfacl index.php # file: index.php # owner: root # group: www-data user::rwgroup::r-other::--Ainsi les deux commandes suivantes sont quivalentes : chmod u=rw fichier setfacl -m u::rw fichier Un fichier dont les ACL auront t spcifis verra s'ajouter un + la fin de la liste des droits avec la commande : ls -l fichier getfacl permet d'afficher l'ensemble des permissions dfinies : $ getfacl fichier # file: fichier # owner: utilisateur # group: utilisateur user::rwx user:utilisateur1:rwuser:utilisateur2:r-group::r-mask::rwx other::--ici on peut voir que le propritaire du fichier (utilisateur) a les droits rwx, utilisateur1 rw- et utilisateur2 r, les autres utilisateurs n'ont aucun droit getfacl omit-header supprime de l'affichage les 3 premires lignes du nom de fichier, owner et group.

$ mkdir dir $ ls -ld dir drwxr-xr-x 2 root root 4096 Mar 12 13:54 dir $ getfacl --omit-header dir user::rwx group::r-x other::r-x Sans acl, la command getfacl donne les mmes informations que ls -ld getfacl -d spcifie des acl par dfaut, qui ne peuvent s'appliquer qu'aux dossiers. $ setfacl -m user:fdsadmin:rwx dir $ setfacl -d -m group:nasgrp:r-x dir $ getfacl --omit-header dir user::rwx user:fdsadmin:rwx group::r-x mask::rwx other::r-x default:user::rwx default:group::r-x default:group:nasgrp:r-x default:mask::r-x default:other::r-x getfacl access default L'affichage prcdent peut se dcomposer en droits d'accs fichier, et en droits par dfaut : $ getfacl --omit-header --access dir user::rwx user:fdsadmin:rwx group::r-x mask::rwx other::r-x $ getfacl --omit-header --default dir user::rwx group::r-x group:nasgrp:r-x mask::r-x other::r-x Les permissions effectives sont affiches individuellement pour les users ou groups qui subissent un droit de hirarchie suprieure diffrent : $ chmod g-w dir $ ls -ld dir drwxr-xr-x+ 2 root root 4096 Mar 12 13:54 dir $ getfacl --omit-header dir user::rwx user:fdsadmin:rwx #effective:r-x group::r-x mask::r-x other::r-x

default:user::rwx default:group::r-x default:group:nasgrp:r-x default:mask::r-x default:other::r-x Exemples autoriser "utilisateur" la lecture et l'criture sur "fichier" setfacl -m user:utilisateur:rw fichier setfacl -m u:utilisateur:rw fichier La mme commande est disponible pour les groupes. Il suffit de remplacer u/user par g ou group modifier les permissions de plusieurs utilisateurs/groupes sur "fichier" en mme temps setfacl -m user:utilisateur:rwx,user:utilisateur2:r,group:groupe:rw fichier dfinir l'accs en lecture par dfaut pour "utilisateur" pour les nouveaux fichiers crs dans "dossier" setfacl -m d:u:utilisateur:r dossier supprimer les ACL sur un fichier/dossier setfacl -b fichier ARCHIVAGE les drivs dont Linux. Il ne compresse pas les fichiers, mais les concatne au sein d'une seule et mme archive. La majorit des programmes linux utilisent ce systme d'archivage. 1. Installation Le programme tar est disponible par dfaut sous Ubuntu. Il fait partie de l'installation minimale. Pour tous les formats base de Tar, vous verrez que les options de tar sont les mmes : c : cre l'archive x : extrait l'archive f : utilise le fichier donn en paramtre v : active le mode verbeux (bavard, affiche ce qu'il fait). Puis selon la compression souhaite : z : ajoute la compression Gzip. j : ajoute la compression Bzip2. J : ajoute la compression Lzma. 2. Utilisation en archivage simple 2.1 Utilisation tar seul : concatnation de fichiers

Cration d'une archive, archivage de plusieurs fichiers : tar -cvf archive.tar fichierarchive1 fichierarchive2... De mme pour un dossier : tar -cvf archivedossier.tar dossier/ Pour l'extraction : tar -xvf archive.tar Utilisation en archivage incrmentiel 4.1 Pourquoi utiliser un archivage incrmentiel ? La taille des archives et leur stockage peut trs vite poser problme. Voici un cas d'utilisation illustrant l'utilit de cet archivage. Vous dsirez sauvegarder le /home (donnes des utilisateurs) toutes les semaines sur un second disque dur, tout en gardant les donnes antrieures. Vous avez en tout 50 Go de donnes et le second disque dur fait 500Go. 10% de ces donnes changent toutes les semaines (5Go). Dans le cas d'une sauvegarde complte, chaque archive fait 50Go, votre disque serait rempli en deux mois. Nous remarquons que si 10% de ces donnes changent toutes les semaines, 90% sont identiques et ne ncessitent pas d'tre sauvegardes chaque fois. Il nous faut donc sauvegarder uniquement les nouvelles donnes en utilisant la sauvegarde incrmentielle. La premire sauvegarde est complte, la suivante copie uniquement les nouveaux fichiers et ainsi de suite. Vous gardez ainsi chaque sauvegarde dans l'tat diffrentes dates. 4.2 Utilisation Crer la premire sauvegarde (sauvegarde complte) : tar --create --file=archive.1.tar --listed-incremental=/save/save.list /home Seconde sauvegarde (incrmente avec uniquement les fichiers ayant chang) : tar --create --file=archive.2.tar --listed-incremental=/save/save.list /home Restauration : tar --extract --listed-incremental=/dev/null --file archive.1.tar tar --extract --listed-incremental=/dev/null --file archive.2.tar Utiliser la date pour incrmenter le numro : tar --create --file=/save/archive.`date --rfc-3339=date`.tar --listedincremental=/save/archive.list /home