administration unix2010

Upload: marc-brayer

Post on 15-Jul-2015

749 views

Category:

Documents


0 download

TRANSCRIPT

Administration Unix V 2010 Chapitre 1: Introduction ......................................................................................................... 6 1. Rle d'un administrateur................................................................................................. 6 2. Disponibilit du Systme d'Exploitation ........................................................................ 6 3. Journal de bord ............................................................................................................... 6 4. Prvention....................................................................................................................... 7 Chapitre 2: La gestion des Utilisateurs et des Groupes ........................................................ 9 1. L'environnement .............................................................................................................. 9 1. Description d'un Utilisateur ............................................................................................ 9 2. Description d'un Groupe................................................................................................. 9 2. Les fichiers de paramtrage .......................................................................................... 10 1. Le fichier : /etc/passwd ................................................................................................ 10 2. Le fichier : /etc/group ................................................................................................... 11 3. Le fichier : /etc/shadow ................................................................................................ 12 4. Vrification des fichiers ............................................................................................... 13 a. La commande : pwck ............................................................................................... 13 b. La commande : grpck ............................................................................................... 14 3. La gestion des Utilisateurs ............................................................................................. 15 1. La commande : useradd ................................................................................................ 15 2. La commande : userdel ................................................................................................ 16 3. La commande : usermod .............................................................................................. 17 4. La commande : passwd ................................................................................................ 18 5. La commande : finger .................................................................................................. 19 4. La gestion des Groupes .................................................................................................. 20 1. La commande : groupadd ............................................................................................. 20 2. La commande : groudel ................................................................................................ 21 3. La commande : groupmod............................................................................................ 21 5. Configuration de lenvironnement utilisateur ............................................................. 22 1. Les variables denvironnement .................................................................................... 22 2. liste des variables ......................................................................................................... 22 3. Modification du contenu dune variable ...................................................................... 23 4. Les principales variables .............................................................................................. 23 a. La variable : HOME ................................................................................................. 23 b. La variable : PATH .................................................................................................. 23 c. La variable : PWD .................................................................................................... 24 d. La variable : PS1 ...................................................................................................... 24 e. La variable : PS2 ...................................................................................................... 25 f. La variable : TMOUT .............................................................................................. 25 g. La variable : TERM.................................................................................................. 26 h. La variable : LOGNAME ......................................................................................... 26 i. Exportation dune variable ....................................................................................... 26 6. Les alias ........................................................................................................................ 27 7. Paramtrer le rappel de commandes ............................................................................. 27 a. Paramtrer le rappel de commandes en ksh ............................................................. 27 b. Paramtrer le rappel de commandes en bash............................................................ 28 8. Les fichiers denvironnement ....................................................................................... 28 a. Lenvironnement texte ............................................................................................. 28 b. Lenvironnement graphique ..................................................................................... 28 c. Fichiers denvironnement lus par le Shell de connexion ......................................... 29

1

d. Les fichiers complments ......................................................................................... 31 Chapitre 3 : Les Fichiers ....................................................................................................... 35 1. Les Fichiers Ordinaires ................................................................................................. 35 1. Les Types de Fichiers Ordinaires ................................................................................. 35 2. Les Caractristiques dun Fichier ................................................................................. 36 3. Les Fichiers cachs ....................................................................................................... 36 2. Les Fichiers Rpertoires ................................................................................................ 37 1. Dplacement dans le Rpertoire ................................................................................... 37 2. Chemin Absolu et Relatif ............................................................................................. 37 3. Les Rpertoires usuels sous Unix................................................................................. 37 4. Les Droits dAccs un Fichier Unix ........................................................................... 38 1. Gnralits .................................................................................................................... 38 2. Les Droits : r w x .......................................................................................................... 39 a. Les Attributs dun Fichier ........................................................................................ 39 b. Les Changements dattributs .................................................................................... 40 3. La commande : umask .................................................................................................. 41 4. Les Droits dendossement et le Sticky-bit.................................................................... 41 Chapitre 4: Les Systmes de Fichiers ................................................................................... 43 1. Description d'un Systme de Fichiers ........................................................................... 43 2. Structure d'un Systme de Fichiers .............................................................................. 43 1. Bloc de Boot ................................................................................................................. 43 2. Super-Bloc .................................................................................................................... 43 a. La table des inodes ................................................................................................... 43 b. Les Blocs de Donnes .............................................................................................. 44 3. Description d'une inode ................................................................................................. 44 1. Structure interne d'un fichier ........................................................................................ 44 2. Structure interne d'un rpertoire ................................................................................... 44 3. L'arborescence Unix ...................................................................................................... 45 4. Description des principaux rpertoires ........................................................................ 45 5. Les Notions de Montage et de Dmontage ................................................................... 46 1. Notion de Montage ....................................................................................................... 46 a. La commande : mount .............................................................................................. 46 b. Le fichier : /etc/vfstab .............................................................................................. 47 c. Les options de montage ............................................................................................ 48 d. La commande : mountall .......................................................................................... 49 6. Notion de Dmontage ..................................................................................................... 49 1. La commande : umount ................................................................................................ 49 2. Le fichier : /etc/mntab .................................................................................................. 50 7. La cration des Systmes de Fichiers ........................................................................... 51 1. La commande : format ................................................................................................. 51 2. Cration d'un Systme de Fichiers ............................................................................... 52 a. Cration manuelle .................................................................................................... 52 b. Cration semi-automatique....................................................................................... 54 3. Formatage des partitions .............................................................................................. 56 a. La commande : newfs .............................................................................................. 56 b. Recopie du Super-Bloc par fsck ............................................................................... 57 4. Montage des Systmes de Fichiers............................................................................... 58 a. Montage manuel ....................................................................................................... 58 b. Montage automatique ............................................................................................... 58 8. La gestion de la mmoire virtuelle ................................................................................ 59

2

La commande : swap .................................................................................................... 60 Cration d'une zone de swap ........................................................................................ 61 a. Cration d'une zone de swap fichier ......................................................................... 61 b. La commande : mkfile .............................................................................................. 61 c. Cration d'une zone de swap partition...................................................................... 62 d. Activation des zones dchange lors du dmarrage ................................................. 64 9. Gestion des Systmes de Fichiers .................................................................................. 65 1. La commande : df ......................................................................................................... 65 2. La commande : fsck ..................................................................................................... 66 3. La commande : ncheck ................................................................................................. 67 4. La commande : fuser .................................................................................................... 68 10. La gestion des quotas ................................................................................................. 69 1. Description d'un quota Utilisateur ................................................................................ 69 a. Procdure d'installation d'un quota Utilisateur ......................................................... 70 b. La commande : edquota ........................................................................................... 70 c. La commande : quotaon ........................................................................................... 71 d. La commande : quotaoff .......................................................................................... 71 e. La commande : quota ............................................................................................... 71 f. La commande : repquota .......................................................................................... 71 g. La commande : quotacheck ...................................................................................... 72 2. Cration dun quota utilisateur ..................................................................................... 72 11. Sauvegarde & Restauration des Systmes de Fichiers............................................ 74 1. Nommage des lecteurs de bandes ................................................................................. 75 2. La commande ufsdump ................................................................................................ 75 3. La commande ufsrestore .............................................................................................. 76 4. Chapitre 5: Dmarrage et arrt du Systme ................................................................ 77 1. Dmarrage du Systme .................................................................................................. 77 1. Squence de Dmarrage ............................................................................................... 77 2. Le fichier : /etc/inittab .................................................................................................. 78 3. Les scripts de dmarrage .............................................................................................. 82 2. Arrt du systme............................................................................................................. 87 1. La commande : poweroff ............................................................................................. 87 2. La commande : halt ...................................................................................................... 88 3. La commande : reboot .................................................................................................. 88 4. La commande : shutdown ............................................................................................ 88 5. La commande : init ....................................................................................................... 89 Chapitre 6: Le systme d'impression ................................................................................... 90 1. Dfinition ......................................................................................................................... 90 2. Outils de gestion dimpression ...................................................................................... 90 3. Le modle Client-Serveur .............................................................................................. 90 1. Le serveur dimpression ............................................................................................... 90 2. Le client dimpression .................................................................................................. 90 4. Types de configurations dimpression possibles .......................................................... 91 1. Imprimante locale ......................................................................................................... 91 2. Imprimante rseau ........................................................................................................ 91 3. Imprimante distante ...................................................................................................... 91 5. Principe de fonctionnement d'une file d'impression ................................................... 91 6. Dfinition d'une classe d'imprimantes ......................................................................... 92 7. Dmarrage et arrt du service d'impression ................................................................ 92 1. La commande : lpshut .................................................................................................. 92

a. b.

3

La commande : lpsched ................................................................................................ 93 La cration dune file dattente ..................................................................................... 93 1. La commande : lpadmin ............................................................................................... 93 2. Le fichier : /etc/printers.conf ........................................................................................ 94 9. Configuration du systme d'impression ....................................................................... 94 1. La commande : accept .................................................................................................. 95 2. La commande : reject ................................................................................................... 95 3. La commande : enable .................................................................................................. 95 4. La commande : disable ................................................................................................. 95 10. Gestion du systme dimpression .............................................................................. 96 1. La commande : lpstat ................................................................................................... 96 2. La commande : cancel .................................................................................................. 97 3. La commande : lpmove ................................................................................................ 98 4. La commande : lp ......................................................................................................... 99 Chapitre 7: Gestion du Systme d'Exploitation ................................................................ 100 1. La comptabilit systme............................................................................................... 100 2. Les fichiers de base de donnes ................................................................................... 100 1. Le fichier : utmpx ....................................................................................................... 100 2. Le fichier : wtmpx ...................................................................................................... 100 3. Contenu des fichiers base de donnes ........................................................................ 100 4. Lancement de la comptabilit .................................................................................... 101 a. La commande : last ................................................................................................ 102 b. La commande : lastcomm ...................................................................................... 104 c. La commande : acctadm ......................................................................................... 105 3. Le lancement de tches ................................................................................................ 106 1. La commande : crontab .............................................................................................. 106 a. Le paramtrage ....................................................................................................... 107 b. Le dmon ................................................................................................................ 108 c. Modification ........................................................................................................... 108 d. Vrification............................................................................................................. 109 2. Les droits .................................................................................................................... 109 a. Le fichier : cron.allow ............................................................................................ 109 b. Le fichier : cron.deny ............................................................................................. 109 Chapitre 8: Installation des Packages et des Modules ...................................................... 111 1. Installation de packages ............................................................................................... 111 1. La commande : pkginfo .............................................................................................. 111 2. La commande : pkgadd .............................................................................................. 112 3. La commande : pkginfo .............................................................................................. 113 2. Les Modules du Noyau ................................................................................................. 115 1. Les fichiers pris en compte......................................................................................... 115 2. La commande : prtconf .............................................................................................. 115 3. La commande : modinfo ............................................................................................ 120 4. La commande : modload ............................................................................................ 121 5. La commande : modunload ........................................................................................ 122 3. Installation des fichiers tar.gz ..................................................................................... 123 1. Rcupration des sources de l'application : Webmin ................................................. 123 2. Installation de l'application : Webmin ........................................................................ 124 Chapitre 9: La gestion du Systme et des priphriques .................................................. 127 1. Informations sur le systme et les priphriques ...................................................... 127 1. La commande : uname ............................................................................................... 127 8.

2.

4

2. La commande : what .................................................................................................. 128 3. La commande : dmesg................................................................................................ 129 4. Le fichier : /etc/syslog.conf ............................................................................................ 130 a. Structure du fichier ................................................................................................. 130 b. Fonctionnement du fichier ..................................................................................... 131 c. Les priorits et sous-systmes ................................................................................ 131 2. Les fichiers spciaux..................................................................................................... 132 1. Structure d'un fichier spcial ...................................................................................... 132 2. Les fichiers spciaux bloc .......................................................................................... 132 3. Les fichiers spciaux caractres ................................................................................. 133 3. Les disques .................................................................................................................... 133 1. Contrleur direct ........................................................................................................ 133 a. Architecture SPARC .............................................................................................. 133 b. Architecture x86 ..................................................................................................... 134 2. Contrleur indirect ..................................................................................................... 134 a. Architecture SPARC .............................................................................................. 135 b. Architecture x86 ..................................................................................................... 135

5

Chapitre 1: Introduction1. Rle d'un administrateurL'administrateur d'un Systme d'Exploitation Unix doit garantir l'accs toutes les applications demandes par les Utilisateurs en assurant l'intgrit de leurs donnes. Dans tous les cas, l'administrateur aura la charge de maintenir le Systme d'Exploitation dans un tat tel que les Utilisateurs pouvaient travailler en toute confiance et de manire productive. L'administrateur aura les charges suivantes : dmarrage et arrt du Systme d'Exploitation ajouter, modifier, supprimer un compte Unix ajout de priphrique ajout de logiciel planification des sauvegardes des donnes grer les imprimantes maintenir le systme jour etc.

Toutes ces tches ne sont pas exhaustives,

2. Disponibilit du Systme d'ExploitationLa charge la plus contraignante est que l'administrateur doit tout faire pour que le systme soit disponible envers les Utilisateurs. Ceci est de la responsabilit de l'administrateur. Quoiqu'il arrive, panne de disques, arrt de services, etc., l'administrateur doit faire en sorte que ces problmes ne se rpercutent pas sur l'Utilisateur. Ces problmes doivent rester le plus possible transparent. Votre systme est fragile, une application peut ne plus fonctionner correctement et provoquer des erreurs d'exploitation, de telles manires qu'elle ne puisse plus remplir correctement sa tche. En dernier recours, vous devez tre capable de rinstaller votre Systme d'Exploitation tel qu'il tait avant le dysfonctionnement, vous devez donc tre sr que vos sauvegardes (Systmes d'Exploitation et les donnes Utilisateurs) seraient correctement faites.

3. Journal de bordL'administrateur doit possder un journal de bord pour chaque Serveur Unix, dtaillant pour chacun d'entre eux toutes les caractristiques de la machine : hard, du Systme d'exploitation et des applications 'soft', mais aussi toutes les interventions, procdure, etc. plac de faon chronologique. Ce journal constitue la mmoire de votre Systme, vous devez consigner en annexe les fichiers de configuration. Le complment logique de ce journal est fourni par les logs systme qu'il faut archiver. Voici quelques questions (non exhaustive que vous pouvez avoir dans votre journal de bord). 6

a. Architecture du serveur Quelle est l'architecture de votre serveur (SPARC ou x86) Cela dterminera le type d'intervention (remplacement matriels, etc.) Dtermine les sources de votre Systme d'Exploitation Dtermine les packages chargs, les applications, etc.

b. Le Systme d'Exploitation et ses mises jour Quelle est la version de votre Systme d'Exploitation Vos applications fonctionnent-elles avec cette version Une mise jour du Noyau est programme ? Prsence d'une procdure de mise jour ?

c. Installation des applications Quelles sont les applications installes ( quoi servent-elles ?) O se trouvent les sources d'installations ? Comment les installer (ou les rinstaller) ? Quels sont les services utiliss pour ces applications ? Quels sont les procdures pour valider son fonctionnement ? Y a-t-il une procdure explicitant les problmes rencontrs ?

d. Les priphriques Caractristiques de tous les priphriques (comment s'en procurer ? et o) Frquence et type de sauvegarde des donnes Comment les restaurer A quel moment peut-on les remplacer (et de quelle manire) ?

e. Les sauvegardes Comment se passent les sauvegardes, qui s'en occupent, quelle frquence ? O se trouvent les priphriques de sauvegarde Ou placs les supports de sauvegarde, procdure suivre, etc.

Ceci n'est qu'une liste de ce que peut contenir un journal, il peut paratre dsuet d'en avoir un pour chaque Serveur, mais rappelez-vous que quelqu'un d'autre peut amener effectuer une intervention sur le serveur.

4. PrventionPensez agir de manire rversible. Chaque fois que l'on installe un priphrique, un logiciel que l'on met jour des donnes, il faut pouvoir revenir en arrire, car l'opration peut tre accomplie de faon incorrecte. Pour atteindre cet objectif, il faut prendre des prcautions supplmentaires la sauvegarde du systme et la tenue du journal de bord. Avant d'accomplir une action importante, vous devez vous poser la question suivante, comment revenir en arrire ? Vous devez automatiser les procdures rptitives (sauvegarde, installation d'un poste client, cration de comptes) via des scripts. L'avantage est double, gain de temps et scurit

7

accrue. A dfaut de scripts, les procdures manuelles d'exploitation doivent tre consignes trs clairement. Toutes les procdures d'exploitation doivent tre consignes dans le journal de bord. Mais avant tout, il faut anticiper les problmes (vrification de la place disponible sur le systme de fichiers par exemple). Prenez votre temps pour rgler un problme, si vous allez trop vite, vous risqu de faire des erreurs.

8

Chapitre 2: La gestion des Utilisateurs et des GroupesDans ce chapitre, nous allons tudier non seulement la gestion des Utilisateurs et des Groupes Unix, mais aussi les fichiers pris en comptes lors de cette gestion. Pour grer un compte ou un groupe Unix (cration, modification, suppression), vous avez la possibilit de modifier directement (manuellement) les fichiers contenant les informations. Mais nous vous dconseillons de les diter manuellement pour plusieurs raisons : Les fautes de saisies pourraient empcher une nouvelle connexion. Mme consquence pour une mauvaise manipulation (destruction d'un fichier ou d'une ligne) Si un utilisateur change de Mot de passe au mme moment, la modification ne sera pas prise en compte, le fichier tant dj ouvert.

Il est possible de modifier directement les fichiers si cela ne concerne qu'une seule modification, mais nous verrons plus loin que cette modification doive tre rpercute sur plusieurs fichiers, il est plus rapide d'utiliser la commande adquate.

1. L'environnement1. Description d'un UtilisateurUn Utilisateur n'est pas forcment une personne physique, c'est une entit qui peut excuter un programme et dtenir des fichiers sur un Systme d'Exploitation. Dans notre cas, nous parlons de : pseudo Utilisateur. Cela peut donc tre un autre Systme d'Exploitation, une fonction ou un groupe d'individus. Certains pseudo Utilisateur n'existent que dans le but de dtenir un ensemble de fichier, d'excuter des processus requis pour un sous-systme particulier. Pour des raisons de comprhension, nous utiliserons maintenant le terme : comptes Unix qui regroupera les comptes Utilisateurs et les comptes pseudo Utilisateurs. Chacun de ses comptes a besoin d'un login (nom de connexion) et d'un Mot de passe afin de valider son identification auprs du Systme d'exploitation.

2. Description d'un GroupeUn Groupe est un regroupement de plusieurs comptes Unix sous un nom unique. Etant donn comme nous l'avons vu plus haut que certains comptes Unix ne sont pas forcment des personnes physiques, nous utiliserons le terme de : groupe Unix.

9

2. Les fichiers de paramtrageNous allons tudier pour l'instant les trois fichiers les plus important pour un utilisateur ou pour un groupe, en effet, la majorit des informations ncessaires la connexion un Systme sont rpertories dans ces trois fichiers, savoir : - /etc/passwd - /etc/group - /etc/shadow Remarque : Ces trois fichiers sont dpendants les uns des autres, si l'un d'eux est manquant, l'identification au Systme se fera partiellement dans le meilleur des cas, ou pas du tout.

1. Le fichier : /etc/passwdLe fichier : /etc/passwd contient la liste de tous les comptes pouvant se connecter, chaque ligne reprsente un compte Unix.# more /etc/passwd root:x:0:1:Super-User:/:/sbin/sh daemon:x:1:1::/: bin:x:2:2::/usr/bin: sys:x:3:3::/: adm:x:4:4:Admin:/var/adm: lp:x:71:8:Line Printer Admin:/usr/spool/lp: uucp:x:5:5:uucp Admin:/usr/lib/uucp: nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico smmsp:x:25:25:SendMail Message Submission Program:/: listen:x:37:4:Network Admin:/usr/net/nls: nobody:x:60001:60001:Nobody:/: noaccess:x:60002:60002:No Access User:/: nobody4:x:65534:65534:SunOS 4.x Nobody:/: user1:x:101:100::/export/home/user1:/bin/sh user2:x:102:100::/export/home/user2:/bin/sh user3:x:103:100::/export/home/user3:/bin/sh user4:x:104:100::/export/home/user4:/bin/sh user5:x:105:100::/export/home/user5:/bin/sh user6:x:106:100::/export/home/user6:/bin/sh user7:x:107:100::/export/home/user7:/bin/sh

Structure du fichier : Chaque ligne contient plusieurs sept informations, spares par le caractre : Nom x UID GID Information Rpertoire Shell

Champs Nom x UID GID Information

Description Nom de connexion (login), limit huit caractres. Ancienne localisation du Mot de passe crypt. Celui-ci est dsormais stock dans le fichier : /etc/shadow. Numro de lUtilisateur (UID), doit tre unique et suprieur ou gal 100 si ce nest pas un compte systme Numro du groupe propritaire Commentaire (GCOS), utilis dans certains services comme

10

Rpertoire Shell

la messagerie (voir commande : finger) Rpertoire de connexion. Interprteur de connexion.

Remarque : Ce fichier est important pour le Systme d'Exploitation, sans lui, aucun compte ne peut se connecter

2. Le fichier : /etc/groupUn groupe est un regroupement de comptes Unix dsign par un nom unique. Tous les comptes d'un groupe auront des droits communs sur certains fichiers et/ou Rpertoires. La liste des groupes est enregistre dans le fichier : /etc/group. Chaque ligne reprsente un groupe Unix. Exemple :$ more /etc/group root::0:root other::1: bin::2:root,bin,daemon sys::3:root,bin,sys,adm adm::4:root,adm,daemon uucp::5:root,uucp mail::6:root tty::7:root,adm lp::8:root,lp,adm nuucp::9:root,nuucp staff::10: daemon::12:root,daemon sysadmin::14: smmsp::25:smmsp nobody::60001: noaccess::60002: nogroup::65534: form::100: proj::101:

Structure du fichier : ...................................................................................................................................................... Chaque ligne reprsente un groupe. Chacune d'entre elles contient plusieurs informations (4 champs), spares par le caractre : Nom x GID ListeChamps Description Nom Nom du groupe x Inutilis Numro du groupe (GID), doit tre unique et suprieur ou gal GID 100 si ce nest pas un groupe systme (cette valeur dpend du systme dexploitation) Liste des comptes appartenant au groupe (le caractre de Liste sparation est la virgule (,)

Remarque :

Si le fichier est inexistant, l'identification au Systme se fera partiellement. Le systme lui attribuera un groupe par dfaut.

11

3. Le fichier : /etc/shadowLe fichier : /etc/shadow contient les informations ncessaires la scurit des comptes Unix (Mot de passe, dlai de validation, etc.). Chacune de ces lignes reprsente les comptes Unix du fichier : /etc/passwd. Exemple :$ more /etc/shadow root:Ov9UEJqCU1qYE:6445:::::: daemon:NP:6445:::::: bin:NP:6445:::::: sys:NP:6445:::::: adm:NP:6445:::::: lp:NP:6445:::::: uucp:NP:6445:::::: nuucp:NP:6445:::::: smmsp:NP:6445:::::: listen:*LK*::::::: nobody:NP:6445:::::: noaccess:NP:6445:::::: nobody4:NP:6445:::::: user1:VrxE.TkwczONQ:13341:::::: user2:gay.XgUXq5Zls:13346:::::: user3:NDSBWp/tSqmkk:13346:::::: user4:gajxZH79K.djI:13346:::::: user5:Ax8dpob6tYedU:13346:::::: user6:67n9p4usmnwCM:13346:::::: user7:LgHPNgz7m9mZA:13346::::::

Structure du fichier : Chaque ligne contient plusieurs informations (9 champs), spares par le caractre : NomMdP

Dch

Min

Max

Alerte

Dsac

Arrt

Drapeaux

Champs Nom MdP Dch Min Max Alerte Dsac Arrt Drapeaux

Description Nom de lUtilisateur. Mot de Passe crypt (*LK* Compte verrouill). Si ce champ est vide, aucun mot de passe sera demand. Dernier Changement (Nombre de jours depuis le 01/01/1970, depuis le dernier changement du Mot de Passe). Nombre de jours minima devant scouler avant toute autre modification de Mot de Passe. Nombre de jours maxima pendant lesquels le Mot de Passe sera valide. Au-del, il sera ncessaire de le changer. Nombre de jours avant la date dexpiration, partir desquels lutilisateur sera averti de lexpiration prochaine de son Mot de Passe. Nombre de jours aprs lexpiration du Mot de Passe, au bout desquels le compte sera dsactiv. Nombre de jours depuis le 01/01/1970 au bout desquels le compte est automatiquement dsactiv. Rserv pour des utilisations futures

Remarque : Si ce fichier n'existe pas, aucune connexion ne sera possible.

12

4. Vrification des fichiersVous avez votre disposition des commandes vous permettant de vrifier la cohrence des fichiers prcdents. Cette vrification se fera notamment sur la structure des fichiers, comme nous allons nous en apercevoir. Pour tudier le niveau de la vrification, nous avons modifi de faon manuel les fichiers tudi prcdemment, savoir : - /etc/passwd - /etc/group - /etc/shadow Liste des modifications : 1) 2) 3) 4) 5) 6) Modification du rpertoire de connexion du compte : user1 Ajout d'un champ supplmentaire la fin de la ligne pour le compte : user5 Modification de la valeur d'un UID (deux UID identiques) Modification d'un login d'un compte Unix (deux noms de login identiques) Suppression du compte : user3 seulement dans le fichier : /etc/shadow Suppression du compte : user7 seulement dans le fichier : /etc/passwd

Nous avons bien entendu sauvegarder auparavant les trois fichiers : - /etc/passwd - /etc/group - /etc/shadow Remarque : Ces modifications ne sont pas raliser sur un serveur de production. Nous l'avons fait dans le seul but d'tudier les commandes suivantes.

a. La commande : pwckLa commande : pwck permet de vrifier la syntaxe entre les deux fichiers : - /etc/passwd - /etc/shadow Syntaxe : Exemple :# pwck user1:x:101:1::/export/home/user1a:/bin/sh Login directory not found user4:x:105:1::/export/home/user5:/bin/sh:champ_en_trop Trop ou trop peu de zones

pwck

Si nous tudions convenablement le rsultat de cette commande, nous remarquons que celle-ci n'a dcel que deux erreurs entre les fichiers : - /etc/passwd - /etc/shadow Les modifications repres sont les suivantes : 1) Modification du rpertoire de connexion du compte : user1 2) Ajout d'un champ supplmentaire la fin de la ligne pour le compte : user5

13

La dernire ligne correspond au compte : user5 mme si son nom a t modifi (modification n4)

b. La commande : grpckLa commande : pwck permet de vrifier la syntaxe entre les deux fichiers : - /etc/passwd - /etc/group Syntaxe : Exemple :# grpck bin::2:root,bin,daemon bin - Entre de nom de connexion en double (gid apparat d'abord dans l'entre passwd) sys::3:root,bin,sys,adm sys - Entre de nom de connexion en double (gid apparat d'abord dans l'entre passwd) adm::4:root,adm,daemon adm - Entre de nom de connexion en double (gid apparat d'abord dans l'entre passwd) uucp::5:root,uucp uucp - Entre de nom de connexion en double (gid apparat d'abord dans l'entre passwd) lp::8:root,lp,adm lp - Entre de nom de connexion en double (gid apparat d'abord dans l'entre passwd) nuucp::9:root,nuucp nuucp - Entre de nom de connexion en double (gid apparat d'abord dans l'entre passwd) smmsp::25:smmsp smmsp - Entre de nom de connexion en double (gid apparat d'abord dans l'entre passwd)

grpck

La commande : grpck n'a trouv aucune modification, par contre, celle-ci ne fait pas la diffrence entre : - Le nom d'un groupe Unix - Le login d'un compte Unix Si nous reprenons un seul exemple, voici ce que nous obtenons : Exemple :lp::8:root,lp,adm lp - Entre de nom de connexion en double (gid apparat d'abord dans l'entre passwd)

La commande indique que nous avons employ comme nom d'un groupe Unix, un nom de login, en effet, si nous regardons l'intrieur du dernier champs, nous voyons que le compte : lp fait partie du groupe : lp. Remarque : Nous vous avons montr la possibilit de ces deux commandes afin de vous persuader d'utiliser les commandes permettant de 14

grer les comptes et les groupes Unix au lieu de les modifier manuellement.

3. La gestion des UtilisateursNous allons maintenant tudier les commandes permettant de grer un utilisateur, allant de la cration, la modification jusqu' la suppression.

1. La commande : useraddLa commande : useradd permet de crer un compte Unix. Syntaxe : Exemple :# rep=/export/home/util # useradd u 504 g proj m d ${rep}1 util1 64 blocs # useradd u 505 g proj c "util2" m d ${rep}2 util2 64 blocs # useradd u 506 g proj c "util3" s /bin/bash m d ${rep}3 util3 64 blocs # useradd u 507 g proj G form m d ${rep}4 util4 64 blocs # useradd u 508 g form G proj m d ${rep}5 util5 64 blocs # useradd u 509 g form G proj f 10 m d ${rep}6 util6 64 blocs # useradd u 510 g form f 10 e 03/07/07 m d ${rep}7 util7 64 blocs # passwd util7 Nouveau mot de passe : Entrez de nouveau le mot de passe : passwd : mot de passwd correctement modifi pour util7

useradd [-u uid [-o] | -g group | -G group[[,group]...] | -d dir | -s shell | -c comment | -m [-k skel_dir] login

Nous avons plac entre parenthses les fichiers qui sont modifis lors de l'excution de la commande : useradd.Options -u -g -m -d -c "xxxxx" -s -G -f -e -k Description

UID du compte, unique et positif (/etc/passwd et /etc/shadow)Dfinit le groupe primaire (GID ou nom) dans le fichier : /etc/passwd Cration du rpertoire de connexion dans l'arborescence Renseigne le nom du rpertoire de connexion (/etc/passwd) Renseigne le champ commentaire (/etc/passwd) Dfinit le Shell de connexion Groupes secondaires (liste de groupe spar par des virgules) Nombre de jours dinactivit, au bout duquel le compte devient invalide. Dfinit la date d'expiration du compte sous le format mm/jj/aa (/etc/shadow) Dtermine le Rpertoire partir duquel tous les fichiers d'origine vont

15

-o

tre recopis. Autorise quun uid da utilis pour un utilisateur le soit nouveau pour un autre. Cela permet que plusieurs utilisateurs nen fasse quun.

Nous venons de crer des comptes Unix, en voici le rsultat par rapport au contenu des trois fichiers :# tail -7l /etc/passwd util1:x:504:101::/export/home/util1:/bin/sh util2:x:505:101:util2:/export/home/util2:/bin/sh util3:x:506:101:util3:/export/home/util3:/bin/bash util4:x:507:101::/export/home/util4:/bin/sh util5:x:508:100::/export/home/util5:/bin/sh util6:x:509:100::/export/home/util6:/bin/sh util7:x:510:100::/export/home/util7:/bin/sh # tail -2l /etc/group form::100:util4 proj::101:util5,util6,util7 # tail -7l /etc/shadow util1:*LK*::::::: util2:*LK*::::::: util3:*LK*::::::: util4:*LK*::::::: util5:*LK*::::::: util6:*LK*:::::10:: util7:CL0syaB.bwxHI:13346::::10:13598:

# ls l /export/homedrwx-----drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 root user1 user2 user3 user4 user5 user6 user7 util1 util2 util3 util4 util5 util6 util7 root other other other other other other other proj proj proj proj form form form 8192 512 512 512 512 512 512 512 512 512 512 512 512 512 512 juil juil juil juil juil juil juil juil juil juil juil juil juil juil juil 6 17 17 17 17 17 17 17 17 17 17 17 17 17 17 22:50 18:13 17:57 17:57 17:57 17:57 17:57 17:57 22:30 22:31 22:31 22:32 22:33 22:33 22:33 lost+found user1 user2 user3 user4 user5 user6 user7 util1 util2 util3 util4 util5 util6 util7

Remarque :

Sur Solaris 9, nous ne pouvons pas intgrer par dfaut directement le mot de passe du compte avec la commande : useradd. Par contre, cela est possible avec la version 10 de Solaris.

2. La commande : userdelLa commande : userdel permet de supprimer un compte Unix. Syntaxe : userdel [-r] login

16

Exemple :# userdel util7 # userdel r util6 # tail -5l /etc/passwd util1:x:504:101::/export/home/util1:/bin/sh util2:x:505:101:util2:/export/home/util2:/bin/sh util3:x:506:101:util3:/export/home/util3:/bin/bash util4:x:507:101::/export/home/util4:/bin/sh util5:x:508:100::/export/home/util5:/bin/sh # tail -2l /etc/group form::100:util4 proj::101:util5 # tail -5l /etc/shadow util1:*LK*::::::: util2:*LK*::::::: util3:*LK*::::::: util4:*LK*::::::: util5:*LK*::::::: # ls l /export/home drwx-----2 root drwxr-xr-x 2 user1 drwxr-xr-x 2 user2 drwxr-xr-x 2 user3 drwxr-xr-x 2 user4 drwxr-xr-x 2 user5 drwxr-xr-x 2 user6 drwxr-xr-x 2 user7 drwxr-xr-x 2 util1 drwxr-xr-x 2 util2 drwxr-xr-x 2 util3 drwxr-xr-x 2 util4 drwxr-xr-x 2 util5 drwxr-xr-x 2 510 root other other other other other other other proj proj proj proj form form 8192 512 512 512 512 512 512 512 512 512 512 512 512 512 juil juil juil juil juil juil juil juil juil juil juil juil juil juil 6 17 17 17 17 17 17 17 17 17 17 17 17 17 22:50 18:13 17:57 17:57 17:57 17:57 17:57 17:57 22:30 22:31 22:31 22:32 22:33 22:33 lost+found user1 user2 user3 user4 user5 user6 user7 util1 util2 util3 util4 util5 util7

Remarque :

Le troisime champ de la dernire ligne correspond au numro UID du compte Unix : util7. Le fait de voir le numro signifie que ce compte n'exite plus. Le Systme d'Exploitation ne peut pas effectuer la correspondance entre le n UID et le nom de login car la ligne n'existe plus.

Options -r

Description Supprime le rpertoire de connexion du compte Unix

3. La commande : usermodLa commande : usermod permet de modifier tous les paramtres du compte Unix crer auparavant par la commande : useradd. Syntaxe : usermod [ -u uid [-o]] [-g group] [ -G group [ , group...]] [ -d dir [-m]] [-s shell] [-c comment] [-l new_name] [-f inactive] [-e expire] [-A authorization [, authorization]] [-P profile [, profile]] [-R role [, role]] login

Exemple : 17

# more /etc/passwd | grep util1 util1:x:504:101::/export/home/util1:/bin/sh # usermod c "Compte util1" util1 # usermod u 700 util1 # more /etc/passwd | grep util1 util1:x:700:101:Compte util1:/export/home/util1:/bin/sh # more /etc/passwd | grep util2 util2:x:505:101:util 2:/export/home/util2:/bin/sh # more /etc/shadow | grep util2 util2:*LK*::::::: # usermod u 710 s /bin/bash f7 e 03/27/07 util2 # more /etc/passwd | grep util2 util2:x:710:101:util 2:/export/home/util2:/bin/bash # more /etc/shadow | grep util2 util2:*LK*:::::7:13599:

Nous avons plac entre parenthses les fichiers qui sont modifis lors de l'excution de la commande : usermod.Options -u -g -m -d -c "xxxxx" -s -G -f -e Description

UID du compte, unique et positif (/etc/passwd et /etc/shadow)Dfinit le groupe primaire (GID ou nom) dans le fichier : /etc/passwd Cration du rpertoire de connexion dans l'arborescence Renseigne le nom du rpertoire de connexion (/etc/passwd) Renseigne le champ commentaire (/etc/passwd) Dfinit le Shell de connexion Groupes secondaires (liste de groupe spar par des virgules) Prcise le nombre de jours maximum aprs l'expiration du Mot de passe au bout desquels le compte sera dsactiv (/etc/shadow) Dfinit la date d'expiration du compte sous le format mm/jj/aa (/etc/shadow)

4. La commande : passwdUn utilisateur peut changer le mot de passe de son compte de connexion. Pour cela il doit utiliser la commande : passwd. Le mot de passe devra rpondre certains critres (diffrents du compte de connexion, contenir un caractre non alphabtique,...). En fonction de l'administration des comptes UNIX, l'utilisateur devra changer ou non son mot de passe de faon rgulire. Syntaxe :Options -g -h -f -d -l -n min -x max

passwd [-gh] [name] passwd [-d | -l] [-f] [-n min] [-w warn] [-x max] nameDescription Change le commentaire du compte Unix Change le rpertoire local Force l'utilisateur changer le mot de passe la prochaine ouverture Supprime le mot de passe Verrouille le compte Unix Nombre de jours minima devant scouler avant toute autre modification de Mot de Passe. Nombre de jours maxima pendant lesquels le Mot de Passe sera

18

-w warn

valide. Au-del, il sera ncessaire de le changer. Nombre de jours avant la date dexpiration, partir desquels lutilisateur sera averti de lexpiration prochaine de son Mot de Passe.

Exemple :# more /etc/shadow | grep user1 user1:EuDvolrlvjclU:13359:::::: # passwd n 10 x 20 w 5 user1 passwd: informations de mot de passe modifies pour user1 # more /etc/shadow | grep user1 user1:EuDvolrlvjclU:13360:10:20:5::: # passwd d user1 passwd: informations de mot de passe modifies pour user1 # more /etc/shadow | grep user1 user1::13360:10:20:5::: # passwd l user1 passwd: informations de mot de passe modifies pour user1 # more /etc/shadow | grep user1 user1:*LK*:13360:10:20:5::: # passwd f user1 passwd: informations de mot de passe modifies pour user1 # passwd h user1 Les valeurs par dfaut sont imprimes entre '[]'. Pour accepter la valeur par dfaut, tapez . Pour avoir une entre vide, tapez le mot 'none'. Rpertoire d'accueil [/export/home/user1] : Informations Homedir non modifies. # passwd g user1 Les valeurs par dfaut sont imprimes entre '[]'. Pour accepter la valeur par dfaut, tapez . Pour avoir une entre vide, tapez le mot 'none'. Nom [] : Informations Finger non modifies.

5. La commande : fingerLa commande : finger permet d'afficher des informations concernant la connexion de chaque compte Unix. Syntaxe : Exemple :# finger Login Name user1 ??? user1 ??? TTY pts/1 pts/3 Idle When Where Mon 02:36 192.168.1.2 Mon 02:59 192.168.1.2

finger [-fiq] [compte Unix]

# finger user1 Login name: user1 Directory: /export/home/user1 Shell: /bin/sh On since Jul 31 02:36:33 on pts/1 from 192.168.1.2 No unread mail No Plan.

19

Login name: user1 Directory: /export/home/user1 Shell: /bin/sh On since Jul 31 02:59:26 on pts/3 from 192.168.1.2 1 minute 9 seconds Idle Time # finger f user1 ??? user1 ??? # finger i Login TTY user1 pts/1 user1 pts/3 # finger m Login Name user1 ??? user1 ??? pts/1 pts/3 Mon 02:36 192.168.1.2 2 Mon 02:59 192.168.1.2

When Idle Mon Jul 31 02:36 Mon Jul 31 02:59 3 minutes 11 seconds TTY pts/1 pts/3 Idle When Where Mon 02:36 192.168.1.2 4 Mon 02:59 192.168.1.2

Options -f -i -q

Description N'affiche pas l'en-tte Affiche le login, terminal, dbut de la connexion et la dure. Affiche en particulier le terminal, et la dure.

4. La gestion des GroupesLa gestion des groupes va nous permettre de crer, modifier ou de supprimer un ou plusieurs groupes Unix.

1. La commande : groupaddLa commande : groupadd permet de crer des groupes locaux Unix en modifiant le contenu du fichier : /etc/group. Syntaxe : Exemple :# tail -2l /etc/group form::100:util4 proj::101:util5,util6 # groupadd mission # groupadd g 476 unix # groupadd g 101 proj1 UX: groupadd: ERROR: 101 is already in use. Choose another. # groupadd g 101 o proj1 # tail -5l /etc/group form::100:util4 proj::101:util5,util6 mission::102: unix::476: proj1::101:

groupadd [ -g gid [ -o ]] nom_groupe

Options -g gid

Description Spcification du numro GID du groupe de travail, celui-ci ne doit pas

20

-n name -o

tre ngatif. Les numros 0-99 sont rservs pour le systme dexploitation (Groupe systme et pour des futures applications). Sans cette option, le numro GID suivra par ordre croissant le numro prcdent. Nom du groupe de travail Permet de crer un groupe avec un numro GID dj existant

2. La commande : groudelLa commande : groupdel permet de supprimer un groupe Unix en modifiant le contenu du fichier : /etc/group. Syntaxe : Exemple :# tail -5l /etc/group form::100:util4 proj::101:util5,util6 mission::102: unix::476: proj1::101: # groupdel unix # groupdel proj1 # groupdel mission # tail -2l /etc/group form::100:util4 proj::101:util5,util6

groupdel nom_groupe

3. La commande : groupmodLa commande : groupmod permet de modifier tous les paramtres d'un groupe Unix crer auparavant par la commande : groupadd. Syntaxe : Exemple :# tail -2l /etc/group form::100:util4 proj::101:util5,util6 # groupmod n mission proj # tail -2l /etc/group form::100:util4 mission::101:util5,util6 # groupmod g 197 n unix form # tail -2l /etc/group unix::197:util4 mission::101:util5,util6

groupmod [ -g gid [ -o]] [ -n name] nom_groupe

Options -g gid

Description Spcification du numro GID du groupe de travail, celui-ci ne doit pas tre ngatif. Les numros 0-99 sont rservs pour le systme dexploitation (Groupe systme et pour des futures applications)

21

-n name -o

Nom du groupe de travail Permet de crer un groupe avec un numro GID dj existant

5. Configuration de lenvironnement utilisateur1. Les variables denvironnementUn certain nombre de variables sont dfinis dans l'environnement du Shell. Elles contiennent des informations ncessaires au fonctionnement de l'interprteur et/ou des commandes lances partir de celui-ci.

2. liste des variablesLa commande: set donne la liste des variables dfinies dans le Shell courant. Exemple :$ set BASH=/bin/bash BASH_VERSINFO=([0]="2" [1]="05" [2]="0" [3]="1" [4]="release" [5]="sparc-sun-solaris2.9") BASH_VERSION=$'2.05.0(1)-release' COLUMNS=80 DIRSTACK=() EUID=100 GROUPS=() HISTFILE=/export/home/user1/.bash_history HISTFILESIZE=500 HISTSIZE=500 HOME=/export/home/user1 HOSTNAME=Solaris HOSTTYPE=sparc HZ=100 IFS=$' \t\n' LC_COLLATE=fr_FR.ISO8859-1 LC_CTYPE=fr_FR.ISO8859-1 LC_MESSAGES=fr LC_MONETARY=fr_FR.ISO8859-1 LC_NUMERIC=fr_FR.ISO8859-1 LC_TIME=fr_FR.ISO8859-1 LINES=30 LOGNAME=user1 MACHTYPE=sparc-sun-solaris2.9 MAIL=/var/mail/user1 MAILCHECK=60 OLDPWD=/export/home/user1 OPTERR=1 OPTIND=1 OSTYPE=solaris2.9 PATH=/usr/bin: PIPESTATUS=([0]="0") PPID=433

22

PS1=$'\\s-\\v\\$ ' .........

3. Modification du contenu dune variableLinterprteur permet dinitialiser ou de modifier le contenu dune variable. Exemple :$ echo $var $ var=12 echo $var 12

Si la valeur contient des caractres spciaux du Shell :

-$ -> - espace

Il faut empcher le Shell de les interprter en entourant la variable avec des . Cest l'une des trois manires de masquer des caractres en Shell. Exemple :$ var=bonjour> $ echo $var bonjour>

Remarque :

Il ne faut pas mettre d'espace autour du symbole =. Linterprteur ne comprendrait pas quil sagit dune affectation.

4. Les principales variablesCertaines variables contiennent des informations concernant lutilisateur. La modification du contenu dune dentre-elles peut engendrer des disfonctionnement.

a. La variable : HOMELa variable : HOME contient la valeur du rpertoire de connexion de lutilisateur. Exemple :$ echo $HOME /export/home/user1

b. La variable : PATHLa variable : PATH contient la liste des rpertoires qui vont tre explors par linterprteur lorsquune commande est lance (lecture de la gauche vers la droite). Si le rpertoire courant nest pas spcifi, la recherche ne seffectuera pas dans celui-ci. Exemple :$ echo $PATH /usr/bin:

23

Pour quune commande soit recherche dans le rpertoire courant, nous devons modifier le contenu de la variable : PATH. Nous allons lui indiquer le chemin du rpertoire courant laide du point. Exemple :$ PATH=$PATH:. $ export PATH

Remarque : La commande : export est ncessaire pour faire connatre cette valeur dans tous les processus (voir exportation des variables).

c. La variable : PWDLa variable : PWD contient la chane de caractre reprsentant le rpertoire o lutilisateur se trouve actuellement (rpertoire courant) Exemple :$ echo $PWD /export/home/user1 $ cd .. $ pwd /export/home

d. La variable : PS1La variable : PS1 contient la chane de caractre reprsentant le prompt principal. Il est possible de modifier le prompt principal (attention au type de linterprteur). Exemple :$ echo $PS1 $ $ PS1="bonjour> " bonjour>

Nous pouvons modifier cette variable afin quelle puisse nous prsenter chaque fois le rpertoire courant. Paramtrage pour linterprteur : ksh$ PS1='$PWD> ' /export/home/user1>

Paramtrage pour linterprteur : bashOptions \u \h \w \w Description Nom de l'utilisateur Nom de la machine Rpertoire courant Partir terminale du rpertoire courant

Exemple :$ PS1='\h'>

24

Solaris> PS1='\W'> user1> PS1='\w'> ~> cd .. /export/home>

e. La variable : PS2La variable : PS2 contient la chaine de caractre reprsentant le prompt secondaire. Celui-ci apparat lorsque des lments de syntaxe Shell sont manquants. Exemple :$ echo Bonjour> > Il manque un guillemet la fin > pour terminer la commande, > tant que je ne le mettrais pas, il ne terminera > pas la commande $ Il manque un guillemet la fin pour terminer la commande, tant que je ne le mettrais pas, il ne terminera pas la commande

Comme la variable : PS1, nous pouvons modifier la variable : PS2 afin quelle puisse fournir plus dinformations lutilisateur. Exemple :$ PS2=Information ? > $ echo Bonjour Information ? > encore un Bonjour encore un

f. La variable : TMOUTLa variable : TMOUT contient une valeur (en seconde) permettant de dfinir un dlai de dsactivation du terminal si aucune action nest dtecte. Si la valeur est : 0, le timeout est dsactiv. Dans notre exemple, nous allons initialiser la variable et attendre le nombre de seconde ncessaire la dconnexion (ici : 30 secondes). Exemple :$ echo $TMOUT $ TMOUT=30 $ export TMOUT $ timed out waiting for input : auto-logout

25

g. La variable : TERMLa variable : TERM contient le type de terminal utilis par lutilisateur. Plusieurs types de terminaux existent : - ansi - vt100 - vt220 - dtterm - xterm Ces fichiers renvoient un fichier de paramtrage du systme. Exemple :$ echo

$TERM

ansi

h. La variable : LOGNAMELa variable : LOGNAME contient le nom de connexion de lutilisateur. Exemple :$ echo

$LOGNAME

user1 Remarque : Il est possible de changer didentit sans pour autant se dconnecter (nous verrons la commande dans ce cours). Dans ce cas, nous aurons le mme rsultat, savoir le nom de connexion, car cest au moment de la connexion que cette variable est initialise.

i. Exportation dune variablePar dfaut les variables dfinies au niveau de linterprteur ne sont pas transmises aux commandes lances partir de celui-ci. Pour quelles le soient, il faut demander linterprteur de les exporter. Un certain nombre de variables sont exportes par dfaut ( laide de la commande : set). Exemple :$ PS1=Bonjour> Bonjour> ksh $

Une variable exporte au niveau de linterprteur sera transmise tous les processus issus de celui-ci. Exemple :$ var=12 $ echo $var 12 $ ksh $ echo $var 12

26

6. Les aliasLinterprteur propose une commande interne : alias qui permet de crer des raccourcis sur des commandes. Un certain nombre dalias existent par dfaut.Options alias=commande alias alias nom_alias unalias nom_alias Description Dfinition dun alias Affiche tous les alias Affiche lalias : nom_alias Supprime lalias : nom_alias

Exemple :$

alias l='ls /etc/passwd' $l /etc/passwd $ alias lalias l='ls /etc/passwd'

$ unalias l $ alias

7. Paramtrer le rappel de commandesa. Paramtrer le rappel de commandes en ksh1. Avec loption vi Le shell propose dutiliser des commandes identiques celles de lditeur vi pour rappeler et ventuellement modifier les commandes stockes dans le fichier ~/. sh_history. Il faut pour cela activer loption : set o vi A partir de maintenant, il faut simaginer dans lditeur vi. Certaines actions seffectuent en mode commande, dautres en mode insertion. Pour un utilisateur peu familier avec lditeur vi, son utilisation peu paratre complique. Il est recommand dutiliser le mode emacs car avec un paramtrage supplmentaire, les flches du clavier peuvent tre utilises pour parcourir lhistorique. 2. Avec loption emacs Le shell propose dutiliser des commandes identiques celles de lditeurs emacs pour rappeler et ventuellement modifier les commandes stockes dans le fichier ~/.sh_history. Il faut pour cela activer loption : set o emacs Reprsentation des flches : Symboles reprsentants les flches en mode emacs _ _A _ _B _ _C

Flche correspondante

27

_ _D

La commande alias permet de faire corresponde les flches du clavier avec des commandes du mode emacs. Voici la manire dont il faut sy prendre : set o emacs alias __A=^P alias __B=^N alias __C=^F alias __D=^B

Pour faire apparatre le caractre ^, il faut saisir par exemple alias __A=\touchectrl P La commande alias | cat -v permet dafficher ces alias proprement.

b. Paramtrer le rappel de commandes en bashLoption emacs est active par dfaut. La correspondance commandes emacs flches est automatique.

8. Les fichiers denvironnementLes fichiers d'environnement servent stocker de manire permanente les dfinitions lies aux paramtrages de l'environnement utilisateur. Ils contiennent des commandes Unix et sont toujours interprts par un Shell. Ce sont des scripts Shell d'environnement

a. Lenvironnement texteEn environnement texte, le Shell de connexion est lanc immdiatement aprs l'identification de l'utilisateur par son nom de login et son Mot de passe. Ce processus est l'anctre commun de toutes les commandes qui seront lances pendant la session. Tout Shell lanc ultrieurement n'aura pas le statut de Shell de connexion

b. Lenvironnement graphiqueEn environnement graphique, le Shell de connexion est lanc entre la bannire de connexion et l'affichage du bureau. Ce n'est donc pas un Shell interactif. Le bureau et toute application lance ultrieurement partir des icnes sont des processus descendant du Shell de connexion Dans la majorit des cas, un terminal ouvert partir de l'environnement graphique n'est pas associe a un Shell de connexion. Cependant certaines plates-

28

formes permettent de lancer partir du bureau soit un Shell de connexion (Console sous Solaris), soit un Shell ordinaire (terminal sous Solaris). Les fichiers d'environnement mis en jeu ne seront pas les mmes dans chaque cas.

c. Fichiers denvironnement lus par le Shell de connexionLe Shell de connexion lit un script Shell systme qui se nomme : /etc/profile. Ce fichier est gr par l'administrateur du systme et contient des paramtrages communs tous les utilisateurs. Il recherche ensuite dans le rpertoire de connexion de lutilisateur un script denvironnement dont le nom dpend quant lui du Shell.Shell sh ou ksh bash Nom des fichiers .profile .bash_profile .bash_login .profile

Ordre de lecture (si ceux-ci existe)

Le fichier contient principalement : Exemple :$ cd $ more .profile # This is the default standard profile provided to a user. # They are expected to edit it to meet their own needs. MAIL=/usr/mail/${LOGNAME:?} PATH=${PATH}:. export PATH

Les paramtres systmes (par exemple la commande : umask) La dfinition des variables exportes.

Si lutilisateur apporte des modifications, ce dernier devra tre relu par le Shell, pour cela il existe deux mthodes : Se dconnecter et se reconnecter. Relire le fichier en utilisant une commande interne (la commande . ). Remarque : La premire mthode est dconseille car si le fichier nest pas correctement modifi, lutilisateur risque de recevoir des messages derreur et les paramtres (ainsi que les variables et alias) risquent de ne pas tre chargs. Exemple :$ echo "date" >> .profile $ .profile ksh: .profile : impossible d'excuter $ . .profile mardi, 13 juin 2006, 10:42:03 CEST

Session utilisant un Bourne Shell :

29

- Phase didentification effective - Lancement dun Shell de connexion (Bourne Shell) - Lecture du script : /etc/profile - Lecture du script : ${HOME}/.profile (sil existe) - Tous les descendants du Shell de connexion vont recevoir les paramtres systmes ainsi que les variables exportes. Session utilisant un Korn Shell : Les variables et les paramtres utilisateurs doivent tre dans le fichier : .profile. Les options et les alias seront stocks dans un autre script (par convention : $HOME/.kshrc). Les options de lditeur vi dans le fichier $HOME/.exrc qui lui peut etre remplacer par la variable EXINIT. - Phase didentification effective. - Lancement dun Shell de connexion (Korn Shell) - Lecture du script : /etc/profile - Lecture du script : ${HOME}/.profile (sil existe) - Tous les descendants du Shell de connexion vont recevoir les paramtres systmes ainsi que les variables exportes. Remarque : Si la variable : ENV est dfinie, linterprteur considre que sa valeur reprsente le nom dun script (ici : $HOME/.kshrc). Attention, la variable : ENV nest pas dfinie par dfaut. Un Shell ordinaire (de non connexion) : - Recevra automatiquement la valeur des paramtres systmes et des variables exportes. - Lire le fichier : .kshrc (si la variable : ENV est renseigne et exporte). - Affichage du prompt principal. Remarque : Un Shell ordinaire (de non connexion) ne lira jamais le fichier : .profile. Session utilisant un Bourne Again Shell : Les variables et les paramtres utilisateurs doivent tre dans le fichier : .bash_profile (si la variable : BASH_ENV est dfinie). Les options et les alias seront stocks dans un autre script (par convention : .bashrc). Seul un Shell ordinaire lira le fichier : .bashrc - Phase didentification effective. - Lancement dun Shell de connexion (Bourne Again Shell) - Lecture du script : /etc/profile - Lecture du script : ${HOME}/.bash_profile (sil existe) - Tous les descendants du Shell de connexion vont recevoir les paramtres systmes ainsi que les variables exportes. Remarque : Une commande telle que : . ./.bashrc peut-tre ajout dans le fichier : .bash_profile pour demander au Shell de connexion de lire ce fichier afin dintgrer les alias et les

30

options.

d. Les fichiers complmentsNous allons maintenant tudier les autres fichiers que nous pouvons rpartir en deux catgories. La premire reprsentant les fichiers pris en compte lors de la gestion d'un compte Unix. La deuxime quant elle, correspond aux fichiers d'environnements permettant d'amliorer la convivialit des Utilisateurs.

1. Le rpertoire : /etc/skel Le rpertoire : /etc/skel contient les fichiers et les rpertoires qui seront recopis dans le rpertoire du compte Unix lors de sa cration. L'administrateur peut choisir un autre rpertoire lors de la cration du compte Unix. Exemple :# ls ld /etc/skel drwxr-xr-x 2 root # ls la /etc/skel drwxr-xr-x 2 root drwxr-xr-x 64 root -rw-r--r-1 root -rw-r--r-1 root -rw-r--r-1 root -rw-r--r-1 root sys sys sys other sys sys sys 512 512 4096 144 136 157 174 juil juil juil juil juil juil juil 6 6 30 6 6 6 6 22:51 22:51 21:57 22:51 22:51 22:51 22:51 /etc/skel . .. .profile local.cshrc local.login local.profile

Visualisons maintenant le contenu d'un rpertoire de connexion :# ls la /export/home/user2 drwxr-xr-x 2 user2 other 512 drwxr-xr-x 18 root root 512 -rw-r--r-1 user2 other 144 -rw-r--r-1 user2 other 136 -rw-r--r-1 user2 other 157 -rw-r--r-1 user2 other 174 juil juil juil juil juil juil 30 30 30 30 30 30 21:31 21:46 21:31 21:31 21:31 21:31 . .. .profile local.cshrc local.login local.profile

2. Le fichier : /usr/include/limits.h Ce fichier contient toutes les limitations d'un compte Unix par dfaut, par exemple, la taille maximale d'un fichier, etc. Exemple :# more /usr/include/limits.h /* * POSIX conformant definitions - An implementation may define * other symbols which reflect the actual implementation. Alternate * definitions may not be as restrictive as the POSIX definitions.

31

*/ #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define

_POSIX_AIO_LISTIO_MAX _POSIX_AIO_MAX _POSIX_ARG_MAX _POSIX_CHILD_MAX _POSIX_CLOCKRES_MIN _POSIX_DELAYTIMER_MAX _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT _POSIX_MQ_OPEN_MAX _POSIX_MQ_PRIO_MAX _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_OPEN_MAX _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_RTSIG_MAX _POSIX_SEM_NSEMS_MAX _POSIX_SEM_VALUE_MAX _POSIX_SIGQUEUE_MAX _POSIX_SSIZE_MAX _POSIX_STREAM_MAX _POSIX_TIMER_MAX _POSIX_TZNAME_MAX

2 1 4096 6 20000000 32 8 255 255 8 32 14 0 16 255 512 8 256 32767 32 32767 8 32 3

3. Le fichier : /etc/user_attr Ce fichier contient pour chaque compte Unix des droits supplmentaires sous la forme de rle. Exemple :# more /etc/user_attr # Copyright (c) 1999-2001 by Sun Microsystems, Inc. All rights reserved. # # /etc/user_attr # # user attributes. see user_attr(4) # #pragma ident "@(#)user_attr 1.5 01/12/11 SMI" # root::::auths=solaris.*,solaris.grant;profiles=All lp::::profiles=Printer Management adm::::profiles=Log Management

4. Le fichier : /etc/issue Ce fichier contient les informations qui seront affiches avant la connexion d'un Utilisateur. Par dfaut, ce fichier n'existe pas. Exemple :# cat > /etc/issue Bonjour tout le monde

32

Pour effectuer une validation, nous pouvons nous connecter via le rseau, nous obtenons ceci :SunOS 5.9 Bonjour tout le monde login:

5. Le fichier : /etc/motd Ce fichier contient les informations qui seront affiches aprs la connexion d'un Utilisateur. Par dfaut, ce fichier contient dj des informations.# more /etc/motd Sun Microsystems Inc. SunOS 5.9 Generic May 2002

Nous allons nous reconnectez pour en savoir plus :SunOS 5.9 Bonjour tout le monde login: user1 Password: Last login: Sun Jul 23 12:18:54 from 192.168.1.2 Sun Microsystems Inc. SunOS 5.9 Generic $

May 2002

6. La commande news La commande : news permet de lire les informations situes dans le rpertoire : /var/news. L'administrateur cre des fichiers dont le nom servira de titre d'information et dont le contenu du fichier sera l'information elle-mme. Syntaxe : news [-a|n|s] titre_infoOptions -a -n -s titre_info Description Affiche toutes les nouvelles, y compris celles dj consultes Affiche seulement les titres des nouvelles Affiche le nombre de nouvelles par encore consultes Titre de l'information

Remarque : La commande : news avec l'option : -s peut tre insre dans le fichier : /etc/profile afin d'avertir l'utilisateur du nombre de nouvelles non encore lues lors de sa connexion au Systme d'Exploitation. Exemple :# cd /var/news cat > chaleur Il va faire encore chaud aujourd'hui < CTRL-D> # cat > temperature Il fait actuellement 34.4 C devant la station La station fonctionne encore Par contre, l'utilisateur... < CTRL-D>

L'utilisateur peut alors regarder les informations suivantes :

33

$ news s 2 news items $ news n news: temperature chaleur $ news -a temperature (root) dim juil 23 16:07:06 2006 Il fait actuellement 34.4 C devant la station La station fonctionne encore Par contre, l'utilisateur... chaleur (root) dim juil 23 12:32:17 2006 Il va encore faire chaud aujourd'hui

34

Chapitre 3 : Les FichiersLes fichiers du systme Unix sont organiss en arbre.

Le systme UNIX distingue plusieurs types de fichiers selon leur contenu, ou encore leur rle dans le Systme d'Exploitation. Les principaux types de fichiers sont : Les fichiers ordinaires (les fichiers courants des utilisateurs) Les rpertoires qui permettent de regrouper des fichiers. Les fichiers correspondant des priphriques. Les fichiers appels liens rfrenant un autre fichier.

Dautres types de fichiers existent qui ne seront pas abords dans ce support de cours. Le pipe ou le tube nomm. Le smaphore. Le segment de mmoire partag.

1. Les Fichiers Ordinaires1. Les Types de Fichiers OrdinairesOn distingue principalement deux catgories de fichiers ordinaires, les fichiers ASCII et les fichiers binaires. Le fichier ASCII ne contient que des caractres affichables, c'est dire pour simplifier, des caractres que l'on trouve sur le clavier. Le fichier binaire, par contre, peut contenir des caractres non affichables. C'est le cas par exemple des fichiers de commandes excutables de type C. Il contient des caractres spcifiques analyss par certains programmes (par exemple : les fichiers d'impression). Le tableau suivant rsume les diffrents types de fichiers ordinaires :Catgories de fichiers ordinaires Le fichier ASCII Sous-catgories Le fichier texte.

35

Le fichier BINAIRE

Le fichier de programme source. Le fichier de donnes ascii. Le fichier excutable. Le fichier de donnes non-ascii.

Nous rappelons que le nom dun fichier est une suite d'au plus 255 caractres alphanumriques. Les caractres alphanumriques, et les autres caractres simples sont autoriss, except (pour le moment) : / * $ - | ? [ ] ( ) ~ & { } @ # ; Espace

2. Les Caractristiques dun FichierLes caractristiques statiques d'un fichier (les donnes contenues dans un fichier) sont stockes dans un descripteur appel : inode. Une inode est un tableau qui contient les informations suivantes : Le type de fichier (ordinaire, rpertoire,...) Les droits d'accs au fichier Le nombre de liens rattachs au fichier Lidentification du propritaire du fichier Lidentification du groupe propritaire du fichier La liste des blocs physiques constituant le fichier La taille en octets La date de cration La date de dernire modification La date de dernire consultation

La correspondance entre le nom du fichier et linode est ralise par les rpertoires. Nous verrons ces notions plus tard dans le cours.

3. Les Fichiers cachsUn fichier cach est un fichier que l'on ne voit pas lorsque l'on utilise certaines commandes. Par exemple la visualisation des fichiers d'un rpertoire ne tiendra pas compte de ces fichiers. Ils sont gnralement utiliss comme fichiers de configuration. Les fichiers cachs commencent par un point. Exemple :$ cd $ ls a . .. .bash_history .profile local.cshrc local.login local.profile

36

2. Les Fichiers RpertoiresUNIX propose une structure en arborescence de rpertoires. Le rpertoire principal est appel rpertoire racine (ou encore racine root). Un rpertoire est un fichier particulier. Nous pouvons le considrer comme un tableau deux colonnes, l'une contenant les noms des fichiers, l'autre leur numro d'inode. Chaque utilisateur d'un systme UNIX possde un rpertoire personnel, que l'on appelle un rpertoire d'accueil (ou de connexion), chaque connexion l'utilisateur se retrouve dans ce rpertoire. On appelle rpertoire courant (ou encore rpertoire de travail), le rpertoire dans lequel se trouve un utilisateur un instant donn.

1. Dplacement dans le RpertoireIl existe une commande (pour afficher le rpertoire courant) : pwd (print work directory). La commande : cd quant elle permet un dplacement entre rpertoires. Sans paramtre, la commande nous positionne au niveau du rpertoire de connexion de lutilisateur.

2. Chemin Absolu et RelatifA cause de cette structure en rpertoires, il devient vident que pour atteindre un fichier, il faut citer tout le chemin des rpertoires "descendre" pour arriver jusqu' lui, depuis la racine, qui, elle, est unique. On appelle cette faon d'atteindre un fichier le chemin absolu. Exemple :$ cd /export/home/user1

L'avantage de ce systme de notation est qu'il est unique et donc non ambigu, et qu'il ne dpend pas de l'endroit o l'on se trouve. L'inconvnient par contre, est que si le chemin est trs long dans larbre, le nom du fichier crire devient d'autant plus long. L'ide, c'est qu'au lieu de partir de la racine de l'arbre, on va partir de la "branche" sur laquelle on est accroch, c'est dire le rpertoire courant. Ce principe utilise le chemin relatif. Ce dplacement ncessite l'utilisation de pseudo rpertoires : Rpertoire courant : . Rpertoire parent : ..

3. Les Rpertoires usuels sous UnixBien que tout utilisateur puisse crer ses propres rpertoires, on retrouve un certain nombre de fichiers standard. Notons que la structure peut changer d'un systme UNIX l'autre.

37

Cette liste des rpertoires n'est pas exhaustive. Le tableau qui suit dcrit brivement le contenu de ces rpertoires.Rpertoires / /bin /sbin /dev /etc /lib /usr/lib /export/home /mnt /usr /usr/bin Description Racine. Commandes systmes. Commandes damorage du Systme. Fichiers spciaux. Fichiers de configuration. Librairies standard. Autres librairies standard. Contient les Rpertoires de connexion des comptes Unix, donc toutes leurs donnes. Rpertoires de montage. Utilitaires. Commandes de base du Systme. Fichiers utiliss pour : - service messagerie - service dimpression - les pages web - service cron Destination pour installer les logiciels Contient toutes les donnes temporaires venant du Systme ou d'applications (messagerie, serveur web, etc)

/var

/opt /tmp

4. Les Droits dAccs un Fichier Unix1. GnralitsTout fichier cr sous UNIX a un propritaire (qui est gnralement le crateur du fichier) et par consquent, un utilisateur connu du systme. De mme au moment de la cration du fichier, le groupe actif (du propritaire) devient le groupe associ au fichier. Les droits d'accs d'un fichier seront donc contrls en fonction de l'appartenance un des trois niveaux ci-dessous : Le propritaire du fichier.

38

-

Le groupe propritaire du fichier. Autres Utilisateurs.

2. Les Droits : r w xLes droits d'accs initiaux se rsument en trois lettres r w x. La signification du privilge associ dpend du type de fichier considr (ordinaire ou rpertoire).Type fichiers Ordinaire Droits r w x r w x Valeur octale 4 2 1 4 2 1 Signification Lire le contenu du fichier. Modifie le contenu du fichier. Excute les fichiers. Liste les fichiers du Rpertoire. Crer/Supprimer des fichiers. Accs au Rpertoire Commandes autorises more, vi, vi, ./, ls, .. mkdir, vi, rm, touch, cd ;

Rpertoire

Ce qu'il faut retenir d'important, c'est que le droit w sur un fichier permet de modifier son contenu, mais pas de le dtruire. Pour dtruire un fichier, il faut avoir le droit w sur le rpertoire qui le contient.

a. Les Attributs dun FichierLorsque nous visualisons le contenu d'un rpertoire l'aide de la commande : ls -l, un grand nombre d'informations nous sont donnes. Le premier caractre de la premire colonne spcifie le type de fichier (ordinaire, rpertoire, spcial, ...). Les autres caractres de cette premire colonne spcifient les droits d'accs au fichier. Exemple :$ ls l drwxr-xr-x -rw-r--r--rw-r--r--rw-r--r--rw-r--r-drwxr-xr-x 3 1 1 1 1 3 user1 user1 user1 user1 user1 user1 formation other other other formation formation 512 136 157 174 98 512 mai mai mai mai mai mai 22 19 19 19 22 19 12:59 20:48 20:48 20:48 12:56 23:40 Formation local.cshrc local.login local.profile prog Resultat

Les informations se dcoupent de la manire suivante :Type d DroitsUID

DroitsGID

rwx rwx

r-r-x

Droits Liens autres r-1 r-x 3

Propritaire

user1 user1

Groupe propritaire formation formation

Taille 98 512

Date 12:56 23:40

Nom progRsultat

Position

Intitul

1

Type

2

Droits Utilisateur

Description Type de fichier : ordinaire l lien symbolique d rpertoire b/c spcial bloc/caractre Droits du propritaire du fichier.

39

3 4 5

Droits Groupe Droits Autres Lien

6 7 8 9 10

Propritaire Groupe Propritaire Taille octets Date modification Nom

Droits du groupe propritaire du fichier. Droits des autres Utilisateurs. Pour un fichier ordinaire, cest le nombre de liens physiques. Pour un rpertoire, cest le nombre de sous rpertoire, y compris . et .. (notions que nous verrons plus tard dans le cours). Nom du propritaire du fichier. Nom du groupe propritaire du fichier. Taille en octets du fichier. Date de dernire modification du fichier. Nom du fichier.

b. Les Changements dattributsIl est possible de changer les attributs d'un fichier. Les commandes sont chown, chrgrp et chmod. La commande : chown permet de changer le nom du propritaire d'un fichier, pour cela il faut tre le super utilisateur. On peut utiliser le nom du compte UNIX ou son UID associ. Syntaxe : Exemple :# ls l prog -rw-r--r-1 user1 formation 98 mai 22 12:56 prog

chown Nouveau_propritaire fichier

# chown user2 prog # ls l prog -rw-r--r-1 user2 formation

98

mai 22 12:56

prog

Remarque :

Le crateur du fichier nest pas forcment le propritaire.

La commande : chgrp permet de changer le nom du groupe propritaire du fichier, pour cela il faut aussi tre le super utilisateur. On peut utiliser le nom du groupe UNIX ou son GID associ Syntaxe : Exemple :# ls l prog -rw-r--r-1 user2 formation 98 mai 22 12:56 prog

chgrp Nouveau_groupe_propritaire fichier

# chgrp root prog # ls l prog -rw-r--r-1 user2 root

98

mai 22 12:56

prog

Remarque :

Nous venons ici de voir un principe important. Le propritaire du fichier ne fait pas forcment partie du groupe propritaire. Lutilisateur : user2 ne fait pas partie du groupe : root.

La commande : chmod permet de modifier les droits d'accs. Seul le propritaire du fichier ou le super utilisateur (root) peuvent changer les droits d'accs sur un fichier (ou un rpertoire).

40

3. La commande : umaskLes droits par dfaut lors de la cration sont normalement de 644 pour un fichier, cest--dire rw-r--r--, et de 755 pour un rpertoire, soit rwxr-xr-x. Ces droits par dfaut peuvent tre contrls en utilisant la commande : umask (user file creation mask). La valeur du masque initialis par cette commande peut tre connue en excutant celle-ci sans argument. Syntaxe : Exemple :$ umask 0022

umask [valeur octal]

La commande : umask travaille par complmentation octale la valeur 777 pour un rpertoire, et la valeur 666 pour un fichier. Pour modifier la valeur de ce masque, on fournit un nombre octal en argument qui sera retranch de la valeur de base. La valeur par dfaut de umask est 022 (Nous verrons juste aprs la signification du premier 0). Ce qui a pour effet de modifier les droits par dfaut sur les fichiers par : Fichiers ordinaires : -666 -022 644 -777 -022 755

soit rw-rr

Fichiers Rpertoire :

soit rwxr-xr-x

4. Les Droits dendossement et le Sticky-bitCertaines commandes posent des problmes. Pour s'excuter, elles doivent donner des permissions qu'un utilisateur ne devrait normalement pas avoir. Un exemple simple est celui de la commande : passwd qui permet de modifier le mot de passe dun compte UNIX. Cette commande modifie le fichier : /etc/shadow qui contient entre autre, les mots de passe crypts de tous les comptes UNIX, alors qu'un utilisateur normal n'a pas de permission d'criture sur ce fichier (il ne possde mme pas le droit de lecture). Pour raliser cette manipulation, le systme donne temporairement un utilisateur les droits ncessaires sur le fichier : passwd (ou shadow), et uniquement durant le temps d'excution de la commande. Pour cela on positionne ce que l'on appelle le set user id bit (suid) ou le set group id bit (sgid) qui donnent respectivement les droits du propritaire du fichier ou les droits du groupe propritaire pendant lexcution de cette commande. La commande utilise pour ces affectations est la commande : chmod

41

Exemple :$ ls l prog1 -rwxr-xr-1 user1 formation 0 mai 22 15:34 prog1

$ chmod u+s prog1 $ ls l prog1 -rwsr-xr-1 user1 formation

0

mai 22 15:34

prog1

Le premier 0 (de la valeur 0022) dtermine en fait la position du droit dendossement : s ou du droit sticky-bit: t. Cest le mme principe que pour les autres droits. suid sgid sticky bit Exemple :$ ls l prog1 -rwsr-xr-1 user1 formation 0 mai 22 15:34 prog1

4 2 1

$ chmod 3551 prog1 $ ls l prog1 -r-xr-s--t 1 user1 formation

0

mai 22 15:34

prog1

Remarque :

Seul le propritaire du fichier peut effectuer cette commande. Vous pouvez visualiser la commande : passwd afin de voir les droits daccs.

42

Chapitre 4: Les Systmes de FichiersNous allons tudier un chapitre trs important dans l'administration Unix : les Systmes de Fichiers. Ils contiennent toutes les donnes ncessaires au bon fonctionnement du Systme d'Exploitation.

1. Description d'un Systme de FichiersAvant de commencer, nous allons considrer qu'un Systme de Fichiers est en fait une partition immuable sur le disque dur.

2. Structure d'un Systme de FichiersLe Systme de Fichiers est compos de quatre partitions, les voici :

1. Bloc de BootPendant le formatage, le Systme d'Exploitation rserve une partition au dbut du Systme de Fichiers. Il existe une zone de 'Bloc de Boot' pour chaque Systme de Fichiers, mais une seule est active c'est cette zone qui sera lu lors du dmarrage du serveur pour rcuprer les informations ncessaires pour continuer les autres phases de dmarrages.

2. Super-BlocLe Super-Bloc est la deuxime zone du Systme de Fichiers, elle contient toutes les caractristiques du Systme de Fichiers, savoir : - Taille du Systme de Fichiers - Taille de la table des inodes (voir ci-dessous) - Nombre d'inodes disponibles - Nombre de blocs de donnes disponibles Ce Super-Bloc est charg en mmoire afin d'optimiser les performances du Systme d'Exploitation, c'est pour cette raison qu'il ne faut en aucun cas teindre lectriquement le serveur.

a. La table des inodesUne inode est un pointeur qui relie le nom du fichier (ou du Rpertoire) vers les blocs de donnes constituant le contenu du fichier (ou du Rpertoire). La taille de la table des inodes dpend de la taille du Systme de Fichiers.

43

b. Les Blocs de DonnesLes blocs de donnes contiennent les informations des fichiers, nous verrons par la suite qu'il y a plusieurs types de blocs.

3. Description d'une inode1. Structure interne d'un fichierLes caractristiques statiques d'un fichier (les donnes contenues dans un fichier) sont stockes dans un descripteur appel : inode. Une inode est un tableau qui contient les informations suivantes : Le type de fichier (ordinaire, rpertoire, ...) Les droits d'accs au fichier Le nombre de liens rattachs au fichier Lidentification du propritaire du fichier Lidentification du groupe propritaire du fichier La liste des blocs physiques constituant le fichier La taille en octets La date de cration La date de dernire modification La date de dernire consultation

La correspondance entre le nom du fichier et linode est ralise par les rpertoires. Nous verrons ces notions plus tard dans le cours. Lorsquun Utilisateur accde un fichier, il accde tout d'abord l'inode afin de valider l'accs ou non.

2. Structure interne d'un rpertoireUn rpertoire possde uns structure simple par rapport un fichier. Nous pouvons le considrer comme un tableau deux colonnes, l'une contenant les noms des fichiers, l'autre leur numro d'inode. Comme nous l'avons vu plus haut, le nom du fichier ne se trouve pas dans l'inode mais l'intrieur du rpertoire. C'est lorsque l'Utilisateur accdera au fichier ( l'aide d'une commande), que le Systme effectuera la correspondance entre le nom et le numro d'inode. Le Systme interrogera ensuite l'inode.

44

3. L'arborescence UnixToutes les informations (Systme d'Exploitation, donnes Utilisateurs, Applications) sont stockes et hirarchises sous forme d'arbre invers. Unix regroupe un ensemble de fichiers dans des rpertoires, un ensemble de rpertoires l'intrieur d'un Systme de Fichiers. Un regroupement de Systmes de Fichiers sur l'arborescence Unix. Il n'y a qu'une seule arborescence, quel que soit le nombre de Systmes de Fichiers. Ceux-ci ne sont pas rpertoris par une lettre mais par un nom de rpertoire prsent directement sur l'arborescence

4. Description des principaux rpertoiresL'arborescence d'un serveur Unix n'est pas immuable, elle est diffrente de