Professional Documents
Culture Documents
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
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
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.
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.
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
Chapitre 1: Introduction
1. Rle d'un administrateur
L'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.
3. Journal de bord
L'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. Prvention
Pensez 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
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.
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'environnement
1. Description d'un Utilisateur
Un 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.
1. Le fichier : /etc/passwd
Le 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
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
Remarque : Ce fichier est important pour le Systme d'Exploitation, sans lui, aucun compte ne peut se connecter
2. Le fichier : /etc/group
Un 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 Liste
Champs 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/shadow
Le 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 : Nom
MdP
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
12
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 : pwck
La 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 : grpck
La 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.
1. La commande : useradd
La 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
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/home
drwx-----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 : userdel
La 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
3. La commande : usermod
La 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
4. La commande : passwd
Un 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] name
Description 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 <retour>. 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 <retour>. Pour avoir une entre vide, tapez le mot 'none'. Nom [] : Informations Finger non modifies.
5. La commande : finger
La 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 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.
1. La commande : groupadd
La 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:
Options -g gid
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 : groudel
La 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 : groupmod
La 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
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
22
-$ -> - 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.
a. La variable : HOME
La variable : HOME contient la valeur du rpertoire de connexion de lutilisateur. Exemple :
$ echo $HOME /export/home/user1
b. La variable : PATH
La 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 : PWD
La 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 : PS1
La 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>
Exemple :
$ PS1='\h'>
24
e. La variable : PS2
La 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 : TMOUT
La 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 : TERM
La 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 : LOGNAME
La 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.
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 alias
Linterprteur 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 :
$
$ unalias l $ alias
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.
a. Lenvironnement texte
En 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 graphique
En 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.
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
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.
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
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
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
<CTRL-D>
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
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_info
Options -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>
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
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.
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
La correspondance entre le nom du fichier et linode est ralise par les rpertoires. Nous verrons ces notions plus tard dans le cours.
36
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 : ..
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
38
2. Les Droits : r w x
Les 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.
Droits
GID
rwx rwx
r-r-x
Propritaire
user1 user1
Taille 98 512
Nom prog
Rsultat
Position
Intitul
Type
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
6 7 8 9 10
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.
98
mai 22 12:56
prog
Remarque :
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
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 : umask
Les 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
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
41
Exemple :
$ ls l prog1 -rwxr-xr-1 user1 formation 0 mai 22 15:34 prog1
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
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
1. Bloc de Boot
Pendant 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-Bloc
Le 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.
43
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.
44
3. L'arborescence Unix
Toutes 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
/var
/opt /tmp
45
1. Notion de Montage
Le montage permet de connecter un Systme de Fichiers sur l'arborescence. En effet, si nous voulons accder aux informations d'un Systme de Fichiers, la seule faon est de "brancher" ce Systme de Fichiers un rpertoire.
a. La commande : mount
La commande : mount permet de monter un Systme de Fichiers sur l'arborescence du Systme d'Exploitation. Syntaxe :
Options -F Type -a -p -v -V -r
mount [-p|-v] mount -a [-F Type] [-V] [opts] [-o options] [-O] [mount_point]
Description Indique le type du Systme de Fichiers. Montage des Systmes de Fichiers indiqus. Par dfaut le systme montera seulement ceux se trouvant dans le fichier : /etc/vfstab et dont le champ : 6 (Montage automatique) est yes Description de tous les Systmes de Fichiers monts dans le mme format que le fichier : /etc/vfstab. Description de tous les Systmes de Fichiers monts Affiche la commande en vrifiant la syntaxe, mais ne l'excute pas Montage du Systme de Fichiers en lecture seule
Exemple :
# mount p /dev/dsk/c0t0d0s0 / ufs rw,intr,largefiles,logging,xattr,onerror=panic,suid /dev/dsk/c0t0d0s3 /usr ufs rw,intr,largefiles,logging,xattr,onerror=panic,suid /proc /proc proc mnttab - /etc/mnttab mntfs - no fd /dev/fd fd /dev/dsk/c0t0d0s4 /var ufs rw,intr,largefiles,logging,xattr,onerror=panic,suid swap /var/run tmpfs /dev/dsk/c0t0d0s5 /opt ufs rw,intr,largefiles,logging,xattr,onerror=panic,suid /dev/dsk/c0t0d0s6 /tmp ufs rw,intr,largefiles,logging,xattr,onerror=panic,suid /dev/dsk/c0t3d0s0 /part1 ufs rw,intr,largefiles,logging,xattr,onerror=panic,suid /dev/dsk/c0t3d0s1 /part2 ufs no no no no rw,suid no no xattr no no no no
46
no
Exemple :
# mount v /dev/dsk/c0t0d0s0 on / type ufs read/write/setuid/intr/largefiles/logging/xattr/onerror=panic/dev=2200000 on lun juil 31 10:07:39 2006 /dev/dsk/c0t0d0s3 on /usr type ufs read/write/setuid/intr/largefiles/logging/xattr/onerror=panic/dev=2200003 on lun juil 31 10:07:39 2006 /proc on /proc type proc read/write/setuid/dev=4c80000 on lun juil 31 10:07:37 2006 mnttab on /etc/mnttab type mntfs read/write/setuid/dev=4d40000 on lun juil 31 10:07:37 2006 fd on /dev/fd type fd read/write/setuid/dev=4d80000 on lun juil 31 10:07:39 2006 /dev/dsk/c0t0d0s4 on /var type ufs read/write/setuid/intr/largefiles/logging/xattr/onerror=panic/dev=2200004 on lun juil 31 10:07:40 2006 swap on /var/run type tmpfs read/write/setuid/xattr/dev=1 on lun juil 31 10:07:40 2006 /dev/dsk/c0t3d0s1 on /part2 type ufs read/write/setuid/intr/largefiles/logging/xattr/onerror=panic/dev=2200011 on lun juil 31 10:07:43 2006 /dev/dsk/c0t0d0s7 on /export/home type ufs read/write/setuid/intr/largefiles/logging/xattr/onerror=panic/dev=2200007 on lun juil 31 10:07:43 2006
b. Le fichier : /etc/vfstab
Le fichier : /etc/vfstab contient tous les Systmes de Fichiers monts lors du dmarrage du systme d'exploitation. Chaque ligne correspond un Systme de
47
Fichiers (ou pseudo Systme de Fichiers) qui va tre monts lors de la lecture du fichier. Chacune de ces lignes est compose de 7 champs spars par des espaces ou des tabulations. Un champ non utilis doit contenir un tiret -. Structure du fichier : Priph Priphrique vrification Pt de Montage Type FS Type de vrif Montage automatique Options
Champs Priphrique Priphrique de vrification Pt de Montage Type FS Type de vrification Montage automatique Options
Description Dsigne le priphrique local en mode bloc. (serveur:Rpertoire pour les systmes de fichiers distants) Dsigne le priphrique en mode caractre pour la vrification (commande : fsck) Rpertoire de montage du Systme de Fichiers Type du Systmes de Fichiers : ufs proc fd tmpfs nfs swap Dtermine si la vrification s'effectue de faon squentiel (1) ou de faon parallle (2 9) Montage automatique (yes ou no) lors du dmarrage du Systme d'Exploitation via la commande : mountall. Options de Montage (spares par des virgules, voir tableau des options ci-contre)
Exemple :
# more /etc/vfstab
#device #to mount device to fsck mount point FS type fsck mount mount pass at boot options
1 1 1 2 2 2
48
bg
systme) Permet en mode : soft de renouveler rgulirement une tentative de montage en arrire-plan (toutes les 10 secondes)
Exemple :
# mount F pcfs o -ro /dev/disquette /mnt/Disquette # mount v |grep Disquette /dev/diskette on /mnt/Disquette type pcfs read-only/ setuid/nohidden/nofoldcase/dev=900002 on lun juil 31 10:07:43 2006
d. La commande : mountall
La commande : mountall permet de monter les Systmes de Fichiers se trouvant dans le fichier : /etc/vfstab (dont le 6me champs est yes). Cette commande est excute lors du dmarrage du Systme d'Exploitation. Syntaxe : Exemple :
# mountall /dev/rdsk/c0t0d0s7 already mounted /dev/rdsk/c0t0d0s5 already mounted /dev/rdsk/c0t0d0s6 already mounted /dev/rdsk/c0t3d0s0 already mounted /dev/rdsk/c0t3d0s1 already mounted mount : /dev/dsk/c0t0d0s6 est dj mont, /tmp est occup, ou le nombre autoris de points de montage a t dpass mount : /dev/dsk/c0t0d0s5 est dj mont, /opt est occup, ou le nombre autoris de points de montage a t dpass mount : /dev/dsk/c0t0d0s7 est dj mont, /export/home est occup, ou le nombre autoris de points de montage a t dpass
mountall
6. Notion de Dmontage
1. La commande : umount
Le dmontage dun Systme de Fichiers quivaut dsactiver laccs de ce Systme via le rpertoire de montage. Toutes les informations sous forme de fichiers ou de rpertoires ne seront plus accessibles, mais existent toujours, ce nest que laccs ces informations que nous allons dsactiver. Syntaxe : umount [-f] [-V] [-o options] special | mount_point umount -a [-f] [-V] [-o options] [mount_point]
Description Dmontage des Systmes de Fichers indiqus. Si aucun n'est indiqu, dmontage de tous les Systmes de Fichiers se
Options -a [mount_points]
49
-f -V -o options -m -O -r
trouvant dans le fichier : /etc/inittab (non-systme) Force le dmontage d'un Systme de Fichiers Permet de vrifier la syntaxe de la ligne de commande en affichant le rsultat mais n'excute pas la commande Description Montage du Systme de Fichier sans modifier le fichier : /etc/mnttab Montage d'un Systme de Fichiers sur un point de montage dj occups Montage du Systme de Fichiers en lecture seule
Nous allons dmonter le Systme de Fichiers : /export/home afin de vous dmontrer Exemple :
# df -k Systme de fichiers /dev/dsk/c0t0d0s0 /dev/dsk/c0t0d0s3 /proc mnttab fd /dev/dsk/c0t0d0s4 swap /dev/dsk/c0t0d0s5 /dev/dsk/c0t0d0s6 /dev/dsk/c0t0d0s7 Ko utilis 984861 8404388 0 0 0 2031101 903480 4127390 2031101 984861 dispo 96890 1712942 0 0 0 50932 40 53523 2397 1203 capacit 828880 6607403 0 0 0 1919236 903440 4032594 1967771 924567 Mont 11% 21% 0% 0% 0% 3% 1% 2% 1% 1% sur / /usr /proc /etc/mnttab /dev/fd /var /var/run /opt /tmp /export/home
# umount /export/home # df -k Systme de fichiers Ko utilis /dev/dsk/c0t0d0s0 984861 /dev/dsk/c0t0d0s3 8404388 /proc 0 mnttab 0 fd 0 /dev/dsk/c0t0d0s4 2031101 swap 903480 /dev/dsk/c0t0d0s5 4127390 /dev/dsk/c0t0d0s6 2031101
En dmontant le Systme de Fichiers : /dev/dsk/c0t0d0s7, nous n'avons fait que de dsactiver l'accs de celui-ci par le biais du rpertoire : /export/home
2. Le fichier : /etc/mntab
Vous avez votre disposition le fichier : /etc/mnttab qui permet de visualiser les Systmes de Fichiers qui sont monts actuellement. Si vous avez une diffrence entre ces deux fichiers : /etc/vfstab et /etc/inittab, c'est que vous n'aurez pas exactement les mmes montage lors du redmarrage de votre Systme d'Exploitation. Exemple :
# more /etc/mntab /dev/dsk/c0t0d0s0 / ufs
50
rw,intr,largefiles,logging,xattr,onerror=panic,suid,dev=2200000 1153392738 /dev/dsk/c0t0d0s3 /usr ufs rw,intr,largefiles,logging,xattr,onerror=panic,suid,dev=2200003 1153392738 /proc /proc proc dev=4c80000 1153392736 mnttab /etc/mnttab mntfs dev=4d40000 1153392736 fd /dev/fd fd rw,suid,dev=4d80000 1153392738 /dev/dsk/c0t0d0s4 /var ufs rw,intr,largefiles,logging,xattr,onerror=panic,suid,dev=2200004 1153392739 swap /var/run tmpfs xattr,dev=1 1153392740 /dev/dsk/c0t0d0s5 /opt ufs rw,intr,largefiles,logging,xattr,onerror=panic,suid,dev=2200005 1153392743 /dev/dsk/c0t0d0s6 /tmp ufs rw,intr,largefiles,logging,xattr,onerror=panic,suid,dev=2200006 1153392743 /dev/dsk/c0t0d0s7 /export/home ufs rw,intr,largefiles,logging,xattr,onerror=panic,suid,dev=2200007 1153392743 -hosts /net autofs indirect,nosuid,ignore,nobrowse,dev=4f00001 1153392749 auto_home /home autofs indirect,ignore,nobrowse,dev=4f00002 1153392749 -xfn /xfn autofs indirect,ignore,dev=4f00003 1153392749 solaris:vold(pid406) /vol nfs ignore,noquota,dev=4ec0001 1153392764
1. La commande : format
La commande : format est un diteur permettant de partitionner les disques et un utilitaire de maintenance. Syntaxe :
Options -f fichier -l fichier -s -m -M -e -a
Exemple :
# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0t0d0 <ST320011A cyl 38790 alt 2 hd 16 sec 63> /pci@1f,0/pci@1,1/ide@3/dad@0,0
51
1. c0t1d0 <ST3120022A cyl 57459 alt 2 hd 16 sec 255> /pci@1f,0/pci@1,1/ide@3/dad@1,0 2. c0t3d0 <ST3120022A cyl 57459 alt 2 hd 16 sec 255> /pci@1f,0/pci@1,1/ide@3/dad@3,0 Specify disk (enter its number): < CTRL-D>
Remarque :
Au lancement de cette commande, celle-ci effectue une recherche sur les disque existant et les affiche.
a. Cration manuelle
Nous allons maintenant crer la premire partition en utilisant la commande : format. En lanant cette commande, nous allons devoir slectionner : - Le disque dur - L'action : partitionner ( slectionner dans le menu) - Le numro de la partition - Les caractristiques de la partition (type, taille, etc.) Exemple :
# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0t0d0 <ST320011A cyl 38790 alt 2 hd 16 sec 63> /pci@1f,0/pci@1,1/ide@3/dad@0,0 1. c0t1d0 <ST3120022A cyl 57459 alt 2 hd 16 sec 255> /pci@1f,0/pci@1,1/ide@3/dad@1,0 2. c0t3d0 <ST3120022A cyl 57459 alt 2 hd 16 sec 255> /pci@1f,0/pci@1,1/ide@3/dad@3,0 Specify disk (enter its number): 2 selecting c0t3d0 [disk formatted, no defect list found] FORMAT MENU: disk type partition current format repair show label analyze defect backup verify save volname select a disk select (define) a disk type select (define) a partition table describe the current disk format and analyze the disk repair a defective sector translate a disk address write label to the disk surface analysis defect list management search for backup labels read and display labels save new disk/partition definitions set 8-character volume name
52
PARTITION MENU: 0 - change `0' partition 1 - change `1' partition 2 - change `2' partition 3 - change `3' partition 4 - change `4' partition 5 - change `5' partition 6 - change `6' partition 7 - change `7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table label - write partition map and label to the disk !<cmd> - execute <cmd>, then return quit partition> 0 Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 0 (0/0/0) Enter partition id tag[unassigned]: ? Expecting one of the following: (abbreviations ok): unassigned boot root swap usr backup stand var home alternates reserved Enter partition id tag[unassigned]: home Enter partition permission flags[wm]: Enter new starting cyl[0]: Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]: 10gb partition> label Ready to label disk, continue? y partition> print Current partition table (unnamed): Total disk cylinders available: 57459 + 2 (reserved cylinders) Part 0 1 2 3 4 5 6 7 Tag home unassigned backup unassigned unassigned unassigned unassigned home Flag wm wm wm wm wm wm wm wm Cylinders 0 - 5140 0 0 57458 0 0 0 0 0 57458 Size 10.00GB 0 111.79GB 0 0 0 0 111.79GB (5141/0/0) (0/0/0) (57459/0/0) (0/0/0) (0/0/0) (0/0/0) (0/0/0) (57459/0/0)
partition> quit format> current Current Disk = c0t3d0 <ST3120022A cyl 57459 alt 2 hd 16 sec 255> /pci@1f,0/pci@1,1/ide@3/dad@3,0 format> quit
53
b. Cration semi-automatique
Nous allons crer un fichier qui va tre lu par la commande : format. Ce fichier contient les caractristiques de la deuxime partition (taille diffrente mais commenant juste aprs la premire partition). Exemple :
# cat > format.txt partition 1 home wm 5142 12gb label quit quit < CTRL-D>
PARTITION MENU: 0 - change `0' partition 1 - change `1' partition 2 - change `2' partition 3 - change `3' partition 4 - change `4' partition 5 - change `5' partition 6 - change `6' partition 7 - change `7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table
54
print - display the current table label - write partition map and label to the disk !<cmd> - execute <cmd>, then return quit partition> 1 Part Tag Flag Cylinders Size Blocks 1 home wm 5142 11310 12.00GB (6169/0/0) 25169520 Enter partition id tag[unassigned]: home Enter partition permission flags[wm]: wm Enter new starting cyl[0]: 5142 Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]: 12gb partition> label partition> quit FORMAT MENU: disk type partition current format repair show label analyze defect backup verify save volname !<cmd> quit format> quit # select a disk select (define) a disk type select (define) a partition table describe the current disk format and analyze the disk repair a defective sector translate a disk address write label to the disk surface analysis defect list management search for backup labels read and display labels save new disk/partition definitions set 8-character volume name execute <cmd>, then return
Nous allons maintenant vrifier que nous avons bien deux partitions sur le troisime disque. La premire ayant une taille de 10 Go et la deuxime de 12 Go.
# format c0t3d0 selecting c0t3d0 [disk formatted, no defect list found] FORMAT MENU: disk type partition current format repair show label analyze defect backup verify save volname !<cmd> quit select a disk select (define) a disk type select (define) a partition table describe the current disk format and analyze the disk repair a defective sector translate a disk address write label to the disk surface analysis defect list management search for backup labels read and display labels save new disk/partition definitions set 8-character volume name execute <cmd>, then return
55
format> partition PARTITION MENU: 0 - change `0' partition 1 - change `1' partition 2 - change `2' partition 3 - change `3' partition 4 - change `4' partition 5 - change `5' partition 6 - change `6' partition 7 - change `7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table label - write partition map and label to the disk !<cmd> - execute <cmd>, then return quit partition> print Current partition table (unnamed): Total disk cylinders available: 57459 + 2 (reserved cylinders) Part 0 1 2 3 4 5 6 7 Tag home home backup unassigned unassigned unassigned unassigned home Flag wm wm wm wm wm wm wm wm Cylinders 0 - 5140 5141 11310 0 57458 0 0 0 0 0 57458 Size 10.00GB 12.00GB 111.79GB 0 0 0 0 111.79GB Blocks (5141/0/0) 20975280 (6169/0/0) 25169520 (57459/0/0) 234432720 (0/0/0) 0 (0/0/0) 0 (0/0/0) 0 (0/0/0) 0 (57459/0/0) 234432720
partition> quit format> current Current Disk = c0t3d0 <ST3120022A cyl 57459 alt 2 hd 16 sec 255> /pci@1f,0/pci@1,1/ide@3/dad@3,0 format> quit
a. La commande : newfs
La commande : newfs permet de construire un Systme de Fichiers depuis une partition cre prcdemment. Syntaxe :
Options -T -v options
56
raw-devices
Description Nombre de secteurs rservs pour le remplacement de mauvais blocs (SCSI seulement). La valeur par dfaut : 0. Taille du bloc, par dfaut : 8192 Indique le nombre de bloc par inode tablissant ainsi la taille de la table d'inode. Pourcentage rserv pour les Utilisateurs. Ds ce seuil dpass, seul l'administrateur pourra utiliser le Systme de Fichiers Vitesse de rotation des disques (en tour par minutes) Taille du Systme de Fichiers. Par dfaut toute la partition est utilise Nombre de piste par cylindre
Exemple :
# newfs v /dev/rdsk/c0t3d0s1 newfs: construction d'un nouveau systme de fichiers /dev/rdsk/c0t3d0s0 : (y/n)? y mkfs -F ufs /dev/rdsk/c0t3d0s0 20975280 255 16 8192 1024 229 1 90 8192 t 0 0 8 16 n /dev/rdsk/c0t3d0s0: 20975280 secteurs dans 5141 cylindres de 16 pistes, 255 secteurs 10241,8 Mo dans 198 groupes de cylindres (26 c/g, 51,80 Mo/g, 6400 i/g) sauvegardes de super-blocs (pour fsck -F ufs -o b=#) at: 32, 106368, 212704, 319040, 425376, 531712, 638048, 744384, 850720, 957056, 19946144, 20052480, 20158816, 20265152, 20367392, 20473728, 20580064, 20686400, 20792736, 20899072,
57
a. Montage manuel
Nous avons la possibilit de tester les deux Systmes de Fichiers crs en montant ceux-ci directement sur l'arborescence de notre systme.
Exemple :
# # # # mkdir /part1 /part2 mount /dev/dsk/c0t3d0s0 /part1 mount /dev/dsk/c0t3d0s1 /part2 df k
Ko 984861 8404388 0 0 0 2031101 3512656 4127390 2031101 984861 10326052 12390532 utilis 96991 2225301 0 0 0 135973 40 53523 2397 1133 10265 12313 dispo 828779 6095044 0 0 0 1834195 3512616 4032594 1967771 924637 10212527 12254314 capacit Mont sur 11% / 27% /usr 0% /proc 0% /etc/mnttab 0% /dev/fd 7% /var 1% /var/run 2% /opt 1% /tmp 1% /export/home 1% /part1 1% /part2
Systme de fichiers /dev/dsk/c0t0d0s0 /dev/dsk/c0t0d0s3 /proc mnttab fd /dev/dsk/c0t0d0s4 swap /dev/dsk/c0t0d0s5 /dev/dsk/c0t0d0s6 /dev/dsk/c0t0d0s7 /dev/dsk/c0t3d0s0 /dev/dsk/c0t3d0s1
Avec ce rsultat, nous pouvons certifier que les deux Systmes de Fichiers sont valides car ils ont t monts sur l'arborescence Unix (les deux dernires lignes).
b. Montage automatique
Afin d'effectuer le montage automatique des deux Systmes de Fichiers lors du dmarrage du Systme d'exploitation, nous devons modifier le contenu du fichier : /etc/vfstab. Nous allons d'abord visualiser le contenu de ce fichier.
# more /etc/vfstab #device device #to mount to fsck # fd /proc /dev/dsk/c0t0d0s1 /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 /dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /dev/dsk/c0t0d0s4 /dev/rdsk/c0t0d0s4 mount point /dev/fd /proc / /usr /var FS type fsck pass fd proc swap ufs 1 ufs 1 ufs 1 mount mount at boot options no no no no no no -
58
2 2 2
Pour que les deux Systmes de Fichiers soient monts lors du dmarrage du systme, nous devons modifier le fichier : /etc/vfstab avec les lignes suivants :
/dev/dsk/c0t3d0s0 /dev/dsk/c0t3d0s1 /dev/r dsk/c0t3d0s0 /part1 /dev/r dsk/c0t3d0s1 /part2 ufs ufs 2 2 yes yes -
59
Vous pouvez avoir plusieurs zones de swap rparties sur plusieurs disques, amliorant ainsi les performances. Les besoins en zones dchange dpendent du type de processeur, de la taille des excutables et du nombre de tches (processus) lancs en simultanes. Par exemple, larchitecture SPARC permet dobtenir jusqu 4 Go de swap par processus (processeur de 64 bits fonctionnant en mode 64 bits).
a. La commande : swap
La commande : swap permet de grer la mmoire virtuelle. Syntaxe : swap [-a|d] [nom_swap] [l|s]
Description Cration d'une zone de swap Supprime une zone de swap Liste les zones de swap Affiche des informations supplmentaires Options -a nom_swap -d nom_swap -l -s
Exemple :
# swap l swapfile /dev/dsk/c0t0d0s1 dev 136,1 swaplo 16 blocs 1049312 libres 1049312 ->
# ls l /dev/dsk/c0t0d0s1 lrwxrwxrwx 1 root root 46 juil 6 23:20 /dev/dsk/c0t0d0s1 ../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:b # cd /devices/pci\@1f,0/pci\@1,1/ide\@3 # cd dad\@0,0\:b brw-r----- 1 root sys 136,1 juil 19 23:20 dad@0,0:b # swap s total : 24240k octets allous + 5816k rservs = 30056k utiliss, 905144k disponibles
Champs swapfile dev blocs libres Champs allocated reserved used available
Description Nom de la zone dchange (swap) Numro Majeur et mineur du fichier spcial correspondant la zone dchange Taille de la zone dchange en nombre de blocs Nombre de blocs libre pour le swap Description Taille du swap actuellement assigns pour la mmoire auxiliaire Taille non actuellement assigns, mais rservs pour un usage futur Taille totale assign ou rserv Taille totale du swap actuellement disponible pour la futures rservation et attribution.
Exemple :
# swap l swapfile /dev/dsk/c0t0d0s1 dev 136,1 swaplo 16 blocs 1049312 libres 1049312
60
appel de dumpadm(1M) -d swap pour slectionner le nouveau priphrique de vidage dumpadm : no swap devices are available
Dans notre cas, le Systme d'Exploitation l'aide du dmon : dumpadm essaye de trouver une autre zone de swap pour transfrer les donnes, malheureusement pour lui, aucune zone de swap n'est disponible, d'o la perte de toutes les informations. Remarque : Heureusement, en tudiant le rsultat de la commande : swap l, que la zone de swap ne contenait aucune information. Il ne nous reste plus qu' ractiver cette zone de swap.
Exemple :
# swap a /dev/dsk/c0t0d0s1 le vidage sur blocage du systme d'exploitation avait t dsactiv -utilisation de dumpadm(1M) de swap pour slectionner un nouveau priphrique de vidage # swap l swapfile dev swaplo blocs libres /dev/dsk/c0t0d0s1 136,1 16 1049312 1049312
Il faut d'abord utiliser la commande : mkfile, qui permet de crer un fichier correspondant aux attentes d'un fichier swap.
b. La commande : mkfile
La commande : mkfile permet de crer un fichier ne contenant lorigine que des caractres 0. Nous pourrons ensuite utiliser ce fichier comme zone dchange. Syntaxe :
Options
61
-n
-v
Cration d'un fichier. La taille du fichier tant dfinie par : g giga m mega k kilo b blocs (512 octets) Affiche les dtails de la cration du fichier
Exemple :
# mkfile 500m /usr/swapfile # ls l /usr/swapfile -rw------T 1 root other 524288000 juil 20 00:25 /usr/swapfile # ls l /usr/swapfile -rw------T 1 root other 524288000 juil 20 00:25 /usr/swapfile
Remarque :
La cration du fichier prends quelques secondes. Bien que le fichier soit cr, la zone de swap n'est pas encore active.
swaplo 16 blocs 1049312 libres 1049312
Remarque :
62
type partition current format repair show label analyze defect backup verify save volname !<cmd> quit format> partition
select (define) a disk type select (define) a partition table describe the current disk format and analyze the disk repair a defective sector translate a disk address write label to the disk surface analysis defect list management search for backup labels read and display labels save new disk/partition definitions set 8-character volume name execute <cmd>, then return
PARTITION MENU: 0 - change `0' partition 1 - change `1' partition 2 - change `2' partition 3 - change `3' partition 4 - change `4' partition 5 - change `5' partition 6 - change `6' partition 7 - change `7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table labe - write partition map and label to the disk !<cmd> - execute <cmd>, then return quit partition> 0 Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 0 (0/0/0) Enter partition id tag[unassigned]: swap Enter partition permission flags[wm]: Enter new starting cyl[0]: Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]: 2gb partition> label Ready to label disk, continue? y partition> print Current partition table (unnamed): Total disk cylinders available: 57459 + 2 (reserved cylinders) Part 0 1 2 3 4 5 6 7 Tag swap unassigned backup unassigned unassigned unassigned unassigned home Flag wm wm wm wm wm wm wm wm Cylinders 0 - 1028 0 0 57458 0 0 0 0 0 57458 Size 2.00GB 0 111.79GB 0 0 0 0 111.79GB
63
partition> quit format> current Current Disk = c0t1d0 <ST3120022A cyl 57459 alt 2 hd 16 sec 255> /pci@1f,0/pci@1,1/ide@3/dad@1,0 format> quit
Maintenant que notre partition t cre, nous allons utiliser la commande : swap pour activer ce pseudo Systmes de Fichiers. Exemple :
# swap l swapfile /dev/dsk/c0t0d0s1 /usr/swapfile dev 136,1 swaplo 16 16 blocs 1049312 1023984 libres 1049312 1023984
# swap a /dev/dsk/c0t0d0s0 # swap l swapfile dev swaplo /dev/dsk/c0t0d0s1 136,1 16 /usr/swapfile 16 /dev/dsk/c0t1d0s0 136,8 16
Nous allons rajouter dans ce fichier les lignes suivantes afin que les deux zones de swap soit actives lors du dmarrage du Systme d'Exploitation.
/dev/dsk/c0t1d0s0 /usr/swapfile swap swap no no -
64
# more /etc/vfstab #device device #to mount to fsck # fd /proc /dev/dsk/c0t0d0s1 /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 /dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /dev/dsk/c0t0d0s4 /dev/rdsk/c0t0d0s4 /dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /dev/dsk/c0t3d0s0 /dev/r dsk/c0t3d0s0 /dev/dsk/c0t3d0s1 /dev/r dsk/c0t3d0s1 /dev/dsk/c0t1d0s0 /usr/swapfile -
mount point
FS type
fsck pass
/dev/fd fd /proc proc swap / ufs 1 /usr ufs 1 /var ufs 1 /export/home ufs 2 /opt ufs 2 /tmp ufs 2 /part1 ufs 2 /part2 ufs 2 swap swap -
1. La commande : df
La commande : df permet de connatre pour chaque Systme de fichiers le nombre de blocs de 1 Ko utiliss, ou le pourcentage d'espace libre. Syntaxe :
Options -v -i
Exemple :
$ df k
Systme de fichiers /dev/dsk/c0t0d0s3 /dev/dsk/c0t0d0s4 /dev/dsk/c0t0d0s0 /proc mnttab fd /dev/dsk/c0t0d0s6 swap swap /dev/dsk/c0t0d0s5 Ko 720726 5037950 239895 0 0 0 1983726 901128 901088 2505398 utilis 95568 1662763 1041 0 0 0 49770 40 0 51931 dispo 567500 3324808 214865 0 0 0 1874445 901088 901088 2403360 capacit Mont sur 15% / 34% /usr 1% /boot 0% /proc 0% /etc/mnttab 0% /dev/fd 3% /var 1% /var/run 0% /tmp 3% /opt
65
/dev/dsk/c0t0d0s7
8142501
52335
8008741
1%
/export/home
2. La commande : fsck
La commande : fsck permet la rparation automatique d'un Systme de Fichiers. Elle comporte plusieurs phases d'analyses et de traitement. Il est conseill de dmonter le Systme de Fichiers traiter pour ne pas corrompre les fichiers ouverts. En ce qui concerne les Systmes de Fichiers (du Systme lui-mme), ils seront analys lors du dmarrage de celui-ci. Syntaxe :
Options -F FSType -m -n | -N -V -y | -Y -o options -o options b=n f
fsck [-F Type FS] [-m] [-V] [nom du FS] fsck [-F Type FS] [-nNyY] [-V] [-o Type FS -options] [nom du FS]
Description Indique le type du Systme de Fichiers. Vrifie mais ne rpare pas Rpondre : non toutes les questions de la commande : fsck Faire cho la ligne de commande augmente mais ne pas excuter la commande. Cette option peut tre employe pour vrifier et valider la ligne de commande. Rpondre : oui toutes les questions de la commande : fsck Ces spcifique-options peuvent tre n'importe quelle combinaison du suivant spar par des virgules (sans les espaces intervenants). Description Employer le bloc n comme bloc superbe pour le systme de fichiers. Le bloc 32 est toujours l'un des blocs superbes alternatifs. Les numros des blocs utiliser sont dtermins lors du formatage du Systme de Fichiers (commande newfs) Force la vrification des Systmes de Fichiers
Remarque :
Si votre Systme de fichiers est suprieur 2 Go, utilisez directement le fichier spcial raw Par exemple : fsck /dev/rdsk/c?t?d?s? au lieu de fsck /dev/rdsk/c?t?d?s?
Exemple :
# df -k Systme de fichiers /dev/dsk/c0t0d0s0 /dev/dsk/c0t0d0s3 /proc mnttab fd /dev/dsk/c0t0d0s4 swap /dev/dsk/c0t0d0s5 /dev/dsk/c0t0d0s6 /dev/dsk/c0t0d0s7 Ko utilis 984861 8404388 0 0 0 2031101 903480 4127390 2031101 984861 dispo 96890 1712942 0 0 0 50932 40 53523 2397 1203 capacit 828880 6607403 0 0 0 1919236 903440 4032594 1967771 924567 Mont 11% 21% 0% 0% 0% 3% 1% 2% 1% 1% sur / /usr /proc /etc/mnttab /dev/fd /var /var/run /opt /tmp /export/home
# fsck -V /dev/dsk/c0t0d0s7 fsck F ufs /dev/dsk/c0t0d0s7 # umount /dev/dsk/c0t0d0s7 # fsck /dev/dsk/c0t0d0s7 ** /dev/dsk/c0t0d0s7 ** Last Mounted on /export/home
66
** ** ** ** ** 85
Phase 1 - Check Blocks and Sizes Phase 2 - Check Pathnames Phase 3 - Check Connectivity Phase 4 - Check Reference Counts Phase 5 - Check Cyl groups files, 101 used, 983728 free (24 frags, 122963 blocks, 0.0% fragmentation)
# mount /dev/dsk/c0t0d0s7 /export/home # fsck /dev/dsk/c0t0d0s7 /dev/dsk/c0t0d0s7 is a mounted file system, ignored
Pathnames
Connectivity
Reference counts
Cyl groups
3. La commande : ncheck
La commande : ncheck permet d'effectuer des recherches sur un Systme de fichier. Syntaxe : ncheck [-i valeur|-s] Systme_Fichiers
Description Recherche par rapport au numro d'inode Recherche tous les fichiers possdants le droits suid ou sgid
Options -i valeur -s
Exemple :
# df -k Systme de fichiers /dev/dsk/c0t0d0s0 /dev/dsk/c0t0d0s3 /proc mnttab fd /dev/dsk/c0t0d0s4 swap /dev/dsk/c0t0d0s5 /dev/dsk/c0t0d0s6 /dev/dsk/c0t0d0s7 Ko utilis 984861 8404388 0 0 0 2031101 903480 4127390 2031101 984861 dispo 96890 1712942 0 0 0 50932 40 53523 2397 1203 capacit 828880 6607403 0 0 0 1919236 903440 4032594 1967771 924567 Mont 11% 21% 0% 0% 0% 3% 1% 2% 1% 1% sur / /usr /proc /etc/mnttab /dev/fd /var /var/run /opt /tmp /export/home
67
/dev/dsk/c0t0d0s3: 2225 /sfw/. # ncheck s /dev/dsk/c0t0d0s3 /dev/dsk/c0t0d0s3: 3637 /openwin/bin/Xprt 3638 /openwin/bin/Xsun 3648 /openwin/bin/lbxproxy 3672 /openwin/bin/xlock 4068 /openwin/bin/sys-suspend 10658 /openwin/bin/kcms_configure 10673 /openwin/bin/xscreensaver 10843 /openwin/bin/kcms_calibrate 198 /bin/at 199 /bin/atq 200 /bin/atrm 227 /bin/crontab 245 /bin/eject 250 /bin/fdformat 290 /bin/login 294 /bin/mail 295 /bin/mailx 303 /bin/netstat 304 /bin/newgrp 308 /bin/passwd 312 /bin/pfexec 353 /bin/su 359 /bin/tip
Remarques : La commande : find permet d'effectuer la mme dmarche avec l'option : -inum, et n'est pas limit par rapport un Systme de fichiers.
4. La commande : fuser
La commande : fuser fournit des informations sur les processus en cours sur l'arborescence. Chaque processus prsent sur le Systme de fichiers spcifi Syntaxe :
Options -c -k -s signal -u
fuser [-c] [-u] [-k|-s sig] files [[-] [-c|-f] [-nu] [-k|-s sig] files] ...
Description Rapports sur les rpertoires dossiers qui sont des points de bti pour des systmes de fichiers, et tous dossiers dans ce systme de fichiers mont. Envoie le signal : SIGKILL chaque processus. Les messages rsultant de cette option peuvent ne pas apparatre immdiatement. Envoie un signal tous les processes. L'option : -k est quivalent l'option : -s 9 Montre le nom d'ouverture d'utilisateur entre parenthses suivant l'identification de processus.
Exemple :
# fuser /dev/dsk/c0d0t0s3 /dev/dsk/c0t0d0s3:506tm 477tm 461m 457tm 455tm 450tm
68
# fuser c /export/home /export/home: 316c 246c # fuser u /dev/dsk/c0d0t0s3 /dev/dsk/c0t0d0s3: 507tm(root) 457tm(user1) 455tm(root) 450tm(root) 446tm(root) 445tm(root) 442tm(root) 425tm(root) 424tom(root) 415tm(root) 406tm(root) 401tm(root) 400tm(root) 389tm(root) 349tm(root) 347tm(root) 323tm(root) 312tm(root) 301tm(root) 260tm(root) 249tm(root) 233tm(root) 197tm(root) 162tm(root) 154tm(root) 477tm(root) 449tm(smmsp) 430tm(root) 413tm(root) 393tm(root) 327tm(root) 282tm(root) 231tm(daemon) 68tm(root) 461m(root) 448tm(root) 429tm(root) 412tm(root) 391tm(root) 325tm(root) 270tm(root) 220tm(root) 56tm(root)
Options c m r t y
Description Le processus emploie le rpertoire comme son rpertoire courant Indique que le processus emploie un rpertoire trac avec la commande : mmap Le processus emploie le rpertoire comme son rpertoire racine Le processus emploie le rpertoire comme son rpertoire texte Le processus emploie le rpertoire comme son terminal
Remarques : Cette commande est utile lorsque nous avons besoin de dmonter un Systme de Fichiers alors qu'il y a encore des processus qui tourne (avec l'option k)
10.
La mise en uvre des quotas va permettre l'administrateur de limiter le nombre de fichiers et/ou de Rpertoires d'un compte Unix sur une arborescence du Systme de Fichiers.
69
Limitations Nombre de fichier, Rpertoire ou blocs de donnes a. La limitation : soft La limitation 'soft' peut-tre franchie pendant un certain nombre de jours (7 par dfaut). Si au terme de ce laps de temps, l'Utilisateur n'est pas redescendu en dessous de cette limite, il ne pourra plus crer de fichiers ou de Rpertoire. Il ne pourra pas dpasser cette limite. b. La limitation : hard La limite 'hard' est infranchissable, un Utilisateur qui atteint cette limite ne pourra plus crer de fichiers ou de Rpertoires. soft hard
Nous allons passer par toutes ces tapes, mais avant nous allons tudier toutes les commandes concernant les quotas Utilisateurs.
b. La commande : edquota
La commande : edquota permet de fixer les quotas Utilisateurs par Systmes de Fichiers. Il faut que la variable d'environnement : EDITOR soit gal vi afin que la commande puisse utiliser l'diteur de commande lors de son excution. Syntaxe :
Options -p -t
70
c. La commande : quotaon
La commande : quotaon permet de dmarrer les quotas. Syntaxe :
Options -a -v
d. La commande : quotaoff
La commande : quotaoff permet d'arrter les quotas. Syntaxe :
Options -a -v
e. La commande : quota
La commande : quota permet d'afficher les quotas d'un Utilisateur Syntaxe :
Options -v
f. La commande : repquota
La commande : repquota permet d'afficher les quotas d'un Systme de Fichiers. Syntaxe :
Options -a -v
71
g. La commande : quotacheck
La commande : quotacheck permet de vrifier si les quotas sont respects. Syntaxe :
Options -f -p -v -a
root
other 0
aot
11:08 quotas
Ensuite nous modifions le fichier : /etc/vfstab afin de rajouter l'option de montage sur le Systme de Fichiers concerns. Remplacez l'option : ro par l'option : rq si elle existe.
# more /etc/vfstab #device device #to mount to fsck # fd /proc /dev/dsk/c0t0d0s1 /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 /dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /dev/dsk/c0t0d0s4 /dev/rdsk/c0t0d0s4 /dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /dev/dsk/c0t3d0s0 /dev/r dsk/c0t3d0s0 /dev/dsk/c0t3d0s1 /dev/r dsk/c0t3d0s1 /dev/dsk/c0t1d0s0 /usr/swapfile mount point FS type fsck pass mount mount at boot options no no no no no no yes yes yes yes yes no no rq -
/dev/fd fd /proc proc swap / ufs 1 /usr ufs 1 /var ufs 1 /export/home ufs 2 /opt ufs 2 /tmp ufs 2 /part1 ufs 2 /part2 ufs 2 swap swap -
72
# su theoden $ /usr/sbin/quota v theoden Disk quotas for theoden (uid 711): Filesystem usage quota limit timeleft files quota limit /part1 0 0 0 0 10 17 $ > fichier1 $ > fichier2 $ > fichier3 $ /usr/sbin/quota v theoden Disk quotas for theoden (uid 711): Filesystem usage quota limit timeleft files quota limit /part1 0 0 0 3 10 17
timeleft
timeleft
$ > fichier4 $ > fichier5 $ > fichier6 $ > fichier7 $ > fichier8 $ > fichier9 $ > fichier10 quota_ufs: Warning: too many files (pid 700, uid 711, fs /part1) $ /usr/sbin/quota v theoden Disk quotas for theoden (uid 711): Filesystem usage quota limit timeleft files quota limit /part1 0 0 0 10 10 17 $ > fichier11 $ > fichier12 $ > fichier13 $ > fichier14 $ > fichier15 $ > fichier16 $ > fichier17 quota_ufs: over file hard limit (pid 700, uid 711, fs /part1) bash: fichier17: Quota disque dpass $ /usr/sbin/quota v theoden Disk quotas for theoden (uid 711): Filesystem usage quota limit timeleft files quota limit /part1 0 0 0 16 10 17 $ exit # quotacheck v /part1 *** Checking quotas for /dev/rdsk/c0t3d0s0 (/part1) theoden fixed: files 16 -> 21 blocks 0 -> 10repquo # repquota v /part1 /dev/dsk/c0t3d0s0 (/part1): Block limits User used soft hard theoden -+ 5 0 0
timeleft
timeleft
timeleft
used 21
Quant cet exemple, un Utilisateur se connecte alors qu'il a dj dpass sa limite 'soft'. Il va atteindre sa limite 'hard' et ensuite dtruire autant de fichiers qu'il lui faut pour se placer avant sa limitation 'soft'.
# su user3 Sun Microsystems Inc. SunOs 5.9 Generic May 2002 Over file quota on /export/home, remove 1 file within 7.0 days $ > fichier1
73
$ > fichier2 $ > fichier3 $ > /usr/sbin/quota v user3 Disk quotas for user3 (uid 103): Filesystem usage quota limit /export/home 5 0 0
$ > fichier 4 quota_ufs: over file hard limit (pid 664, uid 103, fs /export/home) fichier4: cration impossible $ rm fichier* $ > /usr/sbin/quota v user3 Disk quotas for user3 (uid 103): Filesystem usage quota limit timeleft files quota limit timeleft /export/home 5 0 0 5 5 9 7.0 days $ rm local* $ > /usr/sbin/quota v user3 Disk quotas for user3 (uid 103): Filesystem usage quota limit timeleft files quota limit timeleft /export/home 5 0 0 2 5 9 7.0 days $ cp /etc/skel/local.login . $ cp /etc/skel/local.profile . $ cp /etc/skel/local.cshrs . quota_ufs: Warning: too many files (pid 710, uid 103, fs /export/home) Disk quotas for user3 (uid 103): Filesystem usage quota limit timeleft files quota limit timeleft /export/home 5 0 0 5 5 9 7.0 days $ ls la total 12 drwxr-xr-x 2 user3 other 512 aot 1 03:11 . drwxr-xr-x 18 root root 512 aot 1 02:56 .. -rw-r--r-- 1 user3 other 144 juil 30 21:32 .profile -rw-r--r-- 1 user3 other 136 aot 1 03:11 local.cshrc -rw-r--r-- 1 user3 other 157 aot 1 03:10 local.login -rw-r--r-- 1 user3 other 174 aot 1 03:11 local.profile
74
lintrusion par des utilisateurs non-autoriss conduisant une perte dintgrit des donnes
on sintresse dans cette partie du cours, la sauvegarde totale dun systme de fichier dmont. Le principe des sauvegardes incrmentales, ainsi que la sauvegarde de systme de fichiers mont seront traits dans les cours suivants.
2. La commande ufsdump
On utilise la commande ufsdump, sous Solaris, pour sauvegarder des systmes de fichiers entiers. Le niveau de sauvegarde(0-9) utilis avec la commande ufsdump dtermine quels sont les fichiers sauvegarder. Syntaxe : ufsdump option(s) argument(s) Systme_Fichiers
Options -S Description Estimation de la taille du FS (en octets). Cette option vous permet destimer la place ncessaire et donc le nombre de bandes quil faut prvoir pour effectuer votre sauvegarde. Les sauvegardes de niveau 0 sont des sauvegardes entires(full backup). Les sauvegardes entre 1-9 sont des incrmentales permettant de ne sauvegarder que ce qui a changer depuis la prcdente sauvegarde de niveau strictement infrieur. Lorsquon ne prcise aucun argument, le niveau par dfaut utilis est le 9. Updates.Le systme ajoute une ligne dans le fichier /etc/dumpdates une fois la sauvegarde est termin. Cette ligne mentionne le nom du FS sauvegard, le niveau de sauvegarde et la date de sauvegarde. Si une ligne existe avec le mme nom de FS et le mme niveau de sauvegarde, la nouvelle ligne remplace lancienne. Spcification du priphrique utilis. On prcise de cette manire le priphrique ou le fichier utilis pour faire la sauvegarde. Lorsque vous utiliser le lecteur de bandes par dfaut /dev/rmt/0, vous navez pas besoin de spcifier loption f. le systme utilise alors la valeur par dfaut.
0-9
-u
-f priphrique
Exemple :
# # # # umount /export/home fsck /export/home ufsdump 0uf /dev/rmt/0 /export/home more /etc/dumpdates
75
3. La commande ufsrestore
Pour restaurer, on utilise la commande ufsrestore. Cette commande restaure les donnes depuis une bande cre par ufsdump dans le rpertoire courant. Syntaxe : ufsrestore option(s) argument(s) Systme_Fichiers
Options t r x fichier1 fichier2 v f priphrique Description Visualise le contenu (table des matires) de la bande.. Restaure tout le systme de fichiers. Ne restaure que les fichiers et rpertoires passs en argument sur la ligne de commande. Mode verbose. Il permet dafficher le noms des fichiers et rpertoires restaurs a lcran. Spcification du nom du priphrique. Lorsque loption f nest pas spcifie, le systme utilise par dfaut /dev/rmt/0.
Lorsque vous restaurez un FS entier depuis une bande, le systme cr un fichier appel restoresymtable. Ce fichier est utilis par la commande ufsrestore pour contrler la restauration ou passer des informations aux restaurations incrmentales. une fois la restauration termin, vous pouvez le supprimer. Exemple :
# # # # # # # # # # newfs /dev/rdsk/c0d0s5 mount /dev/rdsk/c0d0s5 /part3 cd /part3 ufsrestore rf /dev/rmt/0 rm restoresymtable cd / umount /part3 fsck /dev/rdsk/c0d0s5 ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0d0s5 init 6
76
1. Dmarrage du Systme
Nous allons d'abord apercevoir la squence de dmarrage succinct, pour mieux visualiser l'ensemble du dmarrage, ensuite nous passerons la partie dtaille.
1. Squence de Dmarrage
Ds la mise sous tension du serveur, la PROM du serveur entre en actions et entame les premires phases de dmarrage, ce stade l'administrateur ne peut intervenir - Affichage de l'identification du Systme d'Exploitation. - Test du Matriel - Test de la mmoire - Chargement du Systme automatique indiqu dans la mmoire non volatile Sans intervention de l'administrateur, le dmarrage continue, sinon, il peut demander au Serveur de dmarrer sur un autre priphrique que celui dfinie par dfaut, par exemple le lecteur cd-rom (pour une installation par exemple). - Chargement et excution du Boot primaire Premier cas (par le disque) : Le Boot primaire se nomme : bootblk (bootblock) et rside dans les 15 premiers secteurs du disque partir duquel le serveur dmarre. A ce stade le Systme de Fichiers principal est prsent sur l'arborescence (Le Systme de Fichiers : /) Deuxime cas (par le rseau, non tudi): - Ce programme excute le Boot secondaire Le programme : bootblk excute le Boot secondaire, il charge un fichier : ufsboot. Ce fichier se trouve dans le rpertoire : /platform/'architecture' (d'o la ncessit d'avoir la prsence de l'arborescence). Dans notre cas : /platform/sparc - Chargement du Noyau Solaris Le Boot secondaire (fichier : ufsboot) charge le Noyau Solaris en mmoire (sous forme de fichiers). Celui-ci est compos de plusieurs fichiers :
77
- Architecture : /platform/Sparc - Classe : /platform/SUNW,Ultra-5_10 - Partie indpendante : /kernel/genunix Le Noyau tant charg, le fichier : ufsboot charge les modules (lecture du fichier : /etc/system). Aprs ce chargement, le Noyau rcupre la mmoire occup par ce fichier. - Le Noyau Solaris lance le processus : init Le Noyau lance le premier processus, parent de tous les autres, le processus : init (initialisation), il se trouve /sbin/init. - Le processus : init lance les services du Systme d'Exploitation Le processus : init va lire le fichier : /etc/inittab (tudi par la suite), le Noyau va alors effectuer les tches suivantes : - Vrification de l'intgrit des Systmes de Fichiers - Montage des Systmes de Fichiers - Activation des zonez d'changes (swap) - Lancement des services : - Rseau - D'impression - Comptabilit - Lancement des scripts de dmarrage (lancement des services)
2. Le fichier : /etc/inittab
Le fichier : /etc/inittab spcifie les processus lancer lors du dmarrage du Systme d'Exploitation suivant le mode de dmarrage. Le Systme d'exploitation va lire ce fichier et dmarrer les processus conformment au niveau de fonctionnement slectionn.
$ more /etc/inittab ap::sysinit:/sbin/autopush -f /etc/iu.ap ap::sysinit:/sbin/soconfig -f /etc/sock2path fs::sysinit:/sbin/rcS sysinit >/dev/msglog 2<>/dev/msglog </dev/console is:3:initdefault: # jusqu' la version solaris 9 p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/msglog 2<>/dev/msglog sS:s:wait:/sbin/rcS >/dev/msglog 2<>/dev/msglog </dev/console s0:0:wait:/sbin/rc0 >/dev/msglog 2<>/dev/msglog </dev/console s1:1:respawn:/sbin/rc1 >/dev/msglog 2<>/dev/msglog </dev/console s2:23:wait:/sbin/rc2 >/dev/msglog 2<>/dev/msglog </dev/console s3:3:wait:/sbin/rc3 >/dev/msglog 2<>/dev/msglog </dev/console s5:5:wait:/sbin/rc5 >/dev/msglog 2<>/dev/msglog </dev/console s6:6:wait:/sbin/rc6 >/dev/msglog 2<>/dev/msglog </dev/console fw:0:wait:/sbin/uadmin 2 0 >/dev/msglog 2<>/dev/msglog </dev/console of:5:wait:/sbin/uadmin 2 6 >/dev/msglog 2<>/dev/msglog </dev/console rb:6:wait:/sbin/uadmin 2 1 >/dev/msglog 2<>/dev/msglog </dev/console sc:234:respawn:/usr/lib/saf/sac -t 300 co:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` console login: " -T sun -d /dev/console -l console -m ldterm,ttcompat
78
Remarque: Le niveau de dmarrage par dfaut, sur la version Solaris 10, est gr par un gestionnaire de services appel SMF ( Voir man init). Structure du fichier : Identification Niveaux de fonctionnement
Champs Identification Niveaux de fonctionnement Action Commande
Action
Commandes
Description Nom de l'entre (ligne) Mode de dmarrage du systme d'exploitation Spcifie le comportement de la commande (voir cidessous). Comportement allant du mode de lancement, de son droulement et de son arrt. Commande excute si la ligne est valide (excution l'aide de l'interprteur : sh)
Define the r un level i n which thi s entr y is to be pr oc ess ed. R un-levels effecti vel y c orres pond to a configur ati on of pr oc ess es i n the s ystem. That is, eac h proc ess s pawned by init is assigned a run l evel(s) i n which it is allowed to exist. T he run levels ar e r epr es ented by a number ranging from 0 through 6. For example, if the s ystem is i n run l evel 1, onl y thos e entries having a 1 i n the rstate fi eld ar e proc ess ed.
a. Le champ : Identification Ce champ spcifie un nom la ligne comportant la commande permettant ainsi d'identifier correctement le rle de celle-ci. La longueur de ce nom peut varier de 1 4 caractres (bien que les noms d'un seul caractre sont dconseill). b. Le champ : Niveaux de fonctionnement Les niveaux de fonctionnement dterminent le mode de dmarrage du Systme d'Exploitation. Ceux-ci sont trs importants car en sachant le mode de dmarrage de celui-ci, nous pouvons dterminer et rsoudre les problmes ventuels. Il existe plusieurs niveaux qui peuvent tre excut de faon manuelle ou automatique.
Niveaux 0 1 2 3 4 5 6 a, b ou c Q ou q S ou s Description Arrt du Systme d'Exploitation Mode Maintenance Mode conventionnel (mode Multi-Utilisateurs) Mode conventionnel (+ Session graphique) Mode Personnalis Mode d'Arrt lectrique Mode Redmarrage Modes supplmentaires Relecture du fichier : /etc/inittab Mode Maintenance d'urgence
Mode 0 : Arrt du Systme d'Exploitation Ce niveau de fonctionnement correspond l'arrt du Systme d'Exploitation. Mode 1 : Mode Maintenance Seuls les services ncessaires au fonctionnement du systme sont lancs (pas de services rseau, d'impression, etc.). L'administrateur est le seul pouvoir se connecter (car pas de services rseau). Il peut, d'o le nom du mode, effectuer la
79
maintenance du systme, changement d'un disque, sauvegarde des donnes, installation de nouveaux logiciels, etc.
Mode 2 : Mode conventionnel (mode Multi-Utilisateurs) C'est le mode o tous les services ncessaires la connexion des utilisateurs via le rseau sont lancs. Les Utilisateurs peuvent se connecter, mais l'administrateur n'a pas de session graphique. Mode 3 : Mode conventionnel (+ Session graphique) Ce mode est identique au mode 2 mais le systme dmarre aussi le service qui va permettre de lancer la session graphique pour l'administrateur. Mode 4 : Mode Personnalis Ce mode peut tre configur par l'administrateur pour dmarrer le systme avec certains services en plus. L'administrateur peut crer un mode 4 correspondant au niveau 3 avec d'autres services supplmentaires. Mode 5 : Mode d'Arrt lectrique Permet d'arrter le systme et donne le contrle un moniteur Mode 6 : Mode Redmarrage Redmarre le systme d'exploitation (voir la commande : reboot) Mode a, b ou c : Mode pseudo-Maintenance Ils permettent d'excuter des commandes (processus) en supplment de celles dj excutes par le niveau de fonctionnement actuel. Il n'y a pas de changement de niveau de fonctionnement. L'administrateur peut rassembler toutes les commandes qu'il souhaite lancer en utilisant le fichier : /etc/inittab plutt que de les lancer manuellement. Remarque : Les processus lancs par l'un des pseudo-niveaux de fonctionnement ne sont pas arrts lors d'un changement de niveau de fonctionnement
Mode S ou s : Mode Maintenance d'urgence Identique au mode 1, mais n'effectue pas la lecture du fichier : /etc/inittab (idal, si le fichier t corrompu ou que nous ne voulons pas que les modifications soient prises en comptes).
80
La commande qui permet de connatre le niveau de fonctionnement dans lequel nous nous trouvons est la commande : who, en utilisant l'option : -r.
Exemple :
# who -r . run-level 3 juil 18 10:07 3 0 S
Niveau prcdent : s
Avec cette commande, nous savons quel est notre niveau de fonctionnement actuel, nous sommes au niveau : 3 (voir tableau ci-dessus). Par contre, nous pouvons aussi savoir le niveau de fonctionnement prcdent (avant d'tre au niveau : 3). Avec le rsultat ci-dessus, nous savons que le niveau prcdent est : s. En effet, nous avons la possibilit de changer de niveaux de fonctionnement sans avoir redmarrer le Systme. Celui-ci va effectuer de faon automatique toutes les procdures afin de se retrouver dans le niveau de fonctionnement demand. Nous verrons plus loin dans ce support comment procder ce changement et comment le Systme ralise ce changement : - Commande : init - Les scripts de dmarrage Lors de la lecture du fichier : /etc/inittab, le Systme activera seulement les lignes qui correspondent au niveau de fonctionnement dtermin lors du dmarrage du Systme. Ce champ peut contenir plusieurs niveaux de fonctionnement, les uns la suite des autres. Si nous reprenons le contenu du fichier : /etc/inittab, nous pouvons avoir ceci :
Niveaux :1: :12: :2345: :25: :: Ligne active pour les niveaux 1 1 et 2 2, 3, 4 et 5 2 et 5 Tous les niveaux
Remarque :
Pour le dernier cas, quel que soit le niveau de fonctionnement au dmarrage du Systme, la ligne sera active, ce qui veut dire que la commande associe la ligne sera lance.
Exemple :
# head -3l /etc/inittab ap::sysinit:/sbin/autopush -f /etc/iu.ap ap::sysinit:/sbin/soconfig -f /etc/sock2path fs::sysinit:/sbin/rcS sysinit >/dev/msglog 2<>/dev/msglog </dev/console
Lors de la lecture de ce fichier par le Systme, celui-ci va excuter les commandes des trois premires lignes quel que soit le niveau de fonctionnement. Aprs la prsentation des deux derniers champs : Action et Commandes, nous tudierons quelques lignes de ce fichier. 81
c. Le champs : Action Ce troisime champs permet de spcifier comment va se comporter la commande se trouvant dans le quatrime champs. Il existe plusieurs types d'actions qui sont les suivantes :
Champs once wait respawn ondemand boot bootwait powerfail Description La commande est active chaque fois que le processus init execute inittab et que la ligne est concerne par le niveau demand. once est la forme sans attente. Le comportement est identique celui de dune ligne once , mais avec attente. Le processus est relanc chaque fois quil se termine (ex : console). Identique respawn mais est rserv pour les niveaux : a, b et c Le processus est lanc au dmarrage du Systme. Le Champ 2 est ignor. Identique boot mais le Processus init attend la fin de ce processus. Processus lanc lorsque le Processus init reoit le signal SIGPWR, Un onduleur peut tre lorigine de ce signal, ladministrateur peut ainsi par exemple dclencher automatiquement un arrt propre du systme en cas de coupure de courant. Le principe est le mme que prcdemment, mais les commandes suivantes attendent la fin de la commande.La ligne est ignore. En cas de changement de niveau, si le processus est actif, il est tu. La ligne est ignore. En cas de changement de niveau, si le processus est actif, il est tu. Excut lors du dmarrage du Systme avant boot et bootwait. Champ 2 ignor. Les commandes en sysinit sont fondamentales et ncessaires au bon fonctionnement du systme.
d. Le champs : Commande Ce champ permet de lancer la commande (en chemin absolu) de la ligne active, donc de lancer le service. La commande est gnralement un script, c'est pour cette raison que nous voyons la syntaxe suivante la suite de la commande :
>/dev/msglog 2<>/dev/msglog </dev/console
Remarque :
Cette syntaxe permet aux scritpts de dialoguer avec l'oprateur de la console systme.
82
$ more /sbin/rc2 #!/sbin/sh # # Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T. # All rights reserved. # # THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T # The copyright notice above does not evidence any # actual or intended publication of such source code. # # Copyright (c) 1997-1999,2001 by Sun Microsystems, Inc. # All rights reserved. # #ident "@(#)rc2.sh 1.17 01/09/26 SMI" # Run Commands executed when the system is changing to init state 2, # traditionally called "multi-user". Pick up start-up packages for mounts, # daemons, services, etc. PATH=/usr/sbin:/usr/bin # Export boot parameters to rc scripts set -- `/usr/bin/who -r` _INIT_RUN_LEVEL="$7" _INIT_RUN_NPREV="$8" _INIT_PREV_LEVEL="$9" set -- `/usr/bin/uname -a` _INIT_UTS_SYSNAME="$1" _INIT_UTS_NODENAME="$2" _INIT_UTS_RELEASE="$3" _INIT_UTS_VERSION="$4" _INIT_UTS_MACHINE="$5" _INIT_UTS_ISA="$6" _INIT_UTS_PLATFORM="$7" # # # # # # # Operating system name (uname -s) Node name (uname -n) Operating system release (uname -r) Operating system version (uname -v) Machine class (uname -m) Instruction set architecture (uname -p) Platform string (uname -i) # Current run-level # Number of times previously at current run-level # Previous run-level
export _INIT_RUN_LEVEL _INIT_RUN_NPREV _INIT_PREV_LEVEL \ _INIT_UTS_SYSNAME _INIT_UTS_NODENAME _INIT_UTS_RELEASE \ _INIT_UTS_VERSION INIT_UTS_MACHINE _INIT_UTS_ISA \ _INIT_UTS_PLATFORM # Export net boot configuration strategy. _INIT_NET_IF is set to the # interface name of the netbooted interface if this is a net boot. # _INIT_NET_STRATEGY is set to the network configuration strategy. set -- `/sbin/netstrategy` if [ $? -eq 0 ]; then if [ "$1" = "nfs" -o "$1" = "cachefs" ]; then _INIT_NET_IF="$2" fi _INIT_NET_STRATEGY="$3" export _INIT_NET_IF _INIT_NET_STRATEGY fi if [ $_INIT_PREV_LEVEL = S -o $_INIT_PREV_LEVEL = 1 ]; then echo 'The system is coming up. Please wait.' elif [ $_INIT_RUN_LEVEL = 2 ]; then echo 'Changing to state 2.' if [ -d /etc/rc2.d ]; then for f in /etc/rc2.d/K*; do if [ -s $f ]; then
83
case $f in *.sh) . $f ;; *) /sbin/sh $f stop ;; esac fi done fi fi if [ $_INIT_PREV_LEVEL != 2 -a $_INIT_PREV_LEVEL != 3 \ -a $_INIT_PREV_LEVEL != 4 -a -d /etc/rc2.d ]; then for f in /etc/rc2.d/S*; do if [ -s $f ]; then case $f in *.sh) . $f ;; *) /sbin/sh $f start ;; esac fi done fi #if [ ! -s /etc/rc2.d/.ports.sem ]; then # /sbin/ports # echo "ports completed" > /etc/rc2.d/.ports.sem #fi # Start historical section if [ \( $_INIT_PREV_LEVEL = S -o $_INIT_PREV_LEVEL = 1 \) \ -a -d /etc/rc.d ]; then for f in `/usr/bin/ls /etc/rc.d`; do [ ! -s /etc/init.d/$f ] && /sbin/sh /etc/rc.d/$f done fi # End historical section if [ $_INIT_RUN_LEVEL = 2 ]; then if [ $_INIT_PREV_LEVEL = S -o $_INIT_PREV_LEVEL = 1 ]; then echo 'The system is ready.' else echo 'Change to state 2 has been completed.' fi fi
Description du fichier systme Nous n'allons pas expliciter compltement le fichier, mais seulement tudier celui-ci dans deux cas concrets, lorsque le systme : - Accde au niveau de fonctionnement - Quitte ce niveau de fonctionnement Ce fichier prcise une information importante, l'emplacement o se trouve le rpertoire systme correspondant au niveau de fonctionnement, dans notre cas, le rpertoire est : /etc/rc2.d. Pour les autres niveaux de fonctionnement, nous avons :
Niveaux Nom du rpertoire
84
0 1 2 3 4 5 6
sys sys sys sys sys sys sys sys sys sys other sys sys sys
324 1508 322 391 344 1056 616 1151 1781 989 2012 359 2304 1718
dc avr mai juil avr avr avr mai avr avr avr avr avr avr
6 7 7 5 7 7 7 11 7 7 15 7 7 7
2004 2002 2003 2005 2002 2002 2002 2004 2002 2002 2002 2002 2002 2002
K03samba K03sshd K05appserv K05volmgt K06mipagent K07dmi K07snmpdx S10lu S20sysetup S21perf S30sysid.net S40llc2 S42ncakmod S47pppd
Nous avons deux catgories de fichiers (les deux cas concrets que nous allons tudier). Ces deux catgories se distinguent par la premire lettre de chaque fichier. La premire catgorie, les fichiers commenant par la lettre : S et seulement ceux-ci, vont tre activs lorsque le systme va passer ce mode de fonctionnement. Par contre quand le systme va quitter ce niveau de fonctionnement (pour s'arrter par exemple), il activera les fichiers commenant par la lettre : K. b. Syntaxe des fichiers Quelle que soit la catgorie active, les scripts ne sont pas lancs alatoirement, mais dans un ordre prcis qui est dtermin par le nom des fichiers. Le nom des fichiers est normalis et se compose de trois parties distinctes, chacune va agir l'une aprs l'autre pour dterminer chronologiquement le lancement des scripts. - Catgorie du fichier : Prfixe (que nous avons explicit plus haut) - Slection par ordre numrique : Nombre - Slection par ordre alphabtique : Nom Prfixe S K Nombre Nom
85
99
Par contre, si celui-ci quitte ce niveau (pour s'arrter par exemple), il lancera dans l'ordre les scripts suivants :
-rwxr--r--rwxr--r--rwxr--r--rwxr--r--rwxr--r--rwxr--r--rwxr--r--rwxr--r--rwxr--r-......... 6 6 6 9 6 6 6 6 6 root root root root root root root root root sys sys sys sys sys sys sys sys sys 324 1508 322 391 344 1056 616 5848 1538 dc avr mai juil avr avr avr avr aot 6 7 7 5 7 7 7 5 19 2004 2002 2003 2005 2002 2002 2002 2004 2004 K03samba K03sshd K05appserv K05volmgt K06mipagent K07dmi K07snmpdx K15imq K16apache
Il lancera ces fichiers afin d'arrter (pour notre exemple), convenablement le systme.
86
2. Arrt du systme
Le Systme d'exploitation Unix ne doit jamais tre arrt directement en coupant l'alimentation, quelle que soit la cause. Car pour des raisons de performances, de nombreuses informations sont stockes en mmoire et non sur l'arborescence du systme. C'est le Systme qui s'occupe de la cohrence entre la mmoire et le disque. A l'utilisation d'une de ces commandes, le Systme effectue une synchronisation entre la mmoire et les fichiers se trouvant sur l'arborescence. Si pour une raison quelconque, l'alimentation du Systme s'arrte (sans qu'il y ait une synchronisation), les dmons s'arrtaient sans avoir eu la possibilit de mettre jour leurs donnes, mais aussi les donnes des Utilisateurs qui se retrouveraient dconnects. Nous allons donc tudier les commandes permettant d'arrter le Systme d'exploitation correctement en assurant la synchronisation des donnes. Les commandes sont les suivantes : - poweroff - halt - reboot - shutdown - init
1. La commande : poweroff
La commande : poweroff permet d'arrter le Systme d'exploitation. Si la carte mre du Systme est quipe d'un mcanisme de coupure logicielle de l'alimentation, le serveur s'arrtera automatiquement. Syntaxe : poweroff [-dlnqy]
Nous remarquons pour l'instant que la commande : poweroff fait appel la commande : halt, voyons, ce que nous pouvons en dduire :
# cd /usr/sbin # ls li poweroff 1513 -rwxr-xr-x 3 root
bin
7804 avr
# find . inum 1513 exec ls li {} \; 1513 -rwxr-xr-x 3 root bin 7804 avr 1513 -rwxr-xr-x 3 root bin 7804 avr 1513 -rwxr-xr-x 3 root bin 7804 avr
87
Nous venons de confirmer que les trois commandes suivantes lance le mme excutable (inode : 1513), l'excutable faisant seul la diffrence avec le nom de la commande. Exemple :
# poweroff
Options -d -l -n -q -y
Description Forcer une dcharge d'arrt du systme avant le rechargement. Voir le dumpadm(1M) pour l'information sur les dcharges de configuration d'arrt du systme. Supprimer envoyer un message au dmon de journal systme, syslogd(1M), au sujet de qui halte excute. Pas de synchronisation des disques avant l'arrt du Systme Arrt rapide du systme. Aucun arrt gracieux n'est essay. Stopper le systme, mme d'une borne de dialup
Si nous utilisons cette commande (ainsi que les autres commandes associes), le fichier : /var/adm/wtmpx contenant l'historique des informations d'administration et des accs des Utilisateurs. Nous verrons plus loin dans le support comment accder et lire le contenu de ce fichier.
2. La commande : halt
La commande : halt permet aussi d'arrter le Systme d'Exploitation Exemple :
# halt
3. La commande : reboot
La commande : reboot permet de redmarrer le systme d'exploitation. Syntaxe : Exemple :
# reboot
4. La commande : shutdown
La commande : shutdown d'arrter le Systme d'Exploitation en envoyant des informations aux comptes connects. Syntaxe :
Options -y -g dlai message
88
-i tat
Exemple :
# shutdown -i 1 -g 120 "Ajout d'un autre disque" Broadcast Message from root (pts/1) on foo Tue Jul 25 3:42:37... The system will be shut down in 2 minutes ===== disk replacement ===== Broadcast Message from root (pts/1) on foo Tue Jul 25 3:43:37... The system will be shut down in 1 minutes ===== disk replacement ===== Broadcast Message from root (pts/1) on foo Tue Jul 25 3:44:37... The system will be shut down in 30 seconds ===== disk replacement ===== Do you want to continue? (y or n): y
5. La commande : init
La commande : init permet de changer de niveaux de fonctionnement. Syntaxe : /sbin/init [0123456abcQqSs] /etc/telinit [0123456abcQqSs]
Nous avons dj tudi les diffrents niveaux de fonctionnement, nous allons seulement tudier de quelle manire se droule ce changement. Nous allons passer du niveau de fonctionnement actuel au niveau de fonctionnement Exemple :
# init 2
En passant au niveau de fonctionnement 2, la commande : init effectu cette procdure : - Rcuprer le niveau de fonctionnement - Accder au rpertoire rc3.d - Excuter tous les fichiers commenant par K - Accder au rpertoire rc2.d - Excuter tous les fichiers commenant par S.
89
1. Dfinition
Une imprimante est une unit matrielle qui peut-tre connecte soit sur le port srie, soit sur le port parallle, soit directement sur le rseau de lentreprise. Elle possde de ce fait une adresse unique. Le pilote (ou driver) est linterface entre le systme et limprimante relle. Sa dfinition est prsente dans le rpertoire : /dev (par exemple : /dev/lp0). Une imprimante virtuelle est un ensemble dattributs qui dfinissent une vue logicielle de limprimante relle. Elle permet de configurer plusieurs dfinitions de files dimpressions. (Lieu de stockage des demandes ddition).
3. Le modle Client-Serveur
Le service dimpression Solaris est organis en modle Client-Serveur
1. Le serveur dimpression
Un serveur dimpression peut tre nimporte quelle machine configur pour grer une imprimante locale ou une imprimante rseau. Le serveur dimpression propose son service dimpression aux autres machines connectes au rseau et fournis les services de spoulage aux clients mettant des requtes dimpression.
2. Le client dimpression
Le client dimpression envoie des requtes au serveur dimpression
90
1. Imprimante locale
Une imprimante locale est une imprimante connecte physiquement au systme qui la gre.
2. Imprimante rseau
Une imprimante rseau est attache au rseau, possde sa propre adresse IP. Elle fournit des Services dimpression aux clients, mais nest pas directement attache un serveur dimpression.
3. Imprimante distante
Une imprimante distante peut tre atteinte par les utilisateurs a travers le rseau, ce qui veut dire quelle peut tre attache a une machine distante ou directement au rseau.
91
Lors de linstallation d'une imprimante, son identification au sein du systme peut tre ralise uniquement en crant la file dimpression associe.
1. La commande : lpshut
La commande : lpshut permet d'arrter le service d'impression. Syntaxe : Exemple :
# /usr/lib/lpshut
lpshut
92
2. La commande : lpsched
La commande : lpsched permet de dmarrer le service d'impression. Normalement, le dmon : lpsched est lanc pendant le dmarrage du systme. Syntaxe : Exemple :
# /usr/lib/lpsched Print services started.
Description Nombre de filtres concourants qui peuvent tre dmarr sur un serveur d'impression (Valeur par dfaut : 1). -n nombre Indique le nombre de processus qui peuvent fonctionner en mme temps sur le serveur d'impression (Valeur par dfaut : 1) -p limite Limite de la ressource pour le dmon d'impression (Valeur par dfaut : 4096)
Options -f filtre
Remarque : Exemple :
Le fichier : SCHEDLOCK est cre pour tre sr qu'une seule copie du dmon d'impression ne s'excute qu'une seule fois.
1. La commande : lpadmin
La commande : lpadmin permet de configurer la file dattente. Nous allons avant arrter et redmarrer le service dimpression. Syntaxe : lpadmin [-mdx] [-v destination] [-p file ]
Options Description
-p file -v destination -m -d -x
Nom de la file dimpression. Destination (imprimante physique ou virtuelle). Modle de l'imprimante. File dimpression par dfaut. Dtruire une file d'impression
93
Remarque : Exemple :
Le message davertissement provient du fait que ladministrateur cre une imprimante virtuelle (terminal)
# /usr/lib/lpshut Les services dimpression sont arrts. # /user/lib/lpsched Print services started. # lpadmin p Thor v /dev/pts/3 m standard UX:lpadmin : AVERTISSEMENT : /dev/pts/3 is accessible by others. TO FIX : If other users can access it you may get Unwanted output. If this is not what you Want change the owner to lp and change The mode to 0600. Processing continues. # lpadmin d Thor # accept Thor Le destination Thor accepte dsormais les requtes #/usr/lib/lp/local/enable Thor Imprimante Thor maintenant active
2. Le fichier : /etc/printers.conf
Le fichier : /etc/printers.conf contient toutes les files d'impression du serveur sous forme de paragraphe. Exemple :
# more /etc/printers.conf # # If you hand edit this file, comments and structure may change. # The preferred method of modifying this file is through the use of # lpset(1M) # Europa:\ :bsdaddr=solaris,Europa,Solaris: _default:\ :use=Europa: Triton:\ :bsdaddr=solaris,Triton,Solaris:
94
1. La commande : accept
La commande : accept autorise le dpt de requtes dans le spool d'impression. Elle ne peut tre utilise que sur le serveur d'impression. Syntaxe : Exemple :
# accept Europa La destination "Europa" accepte dsormais les requtes
accept file_d'impression
2. La commande : reject
La commande : reject n'autorise plus le dpt de requtes dans le spool d'impression. Cette commande ne peut-tre utilises que sur le serveur d'impression. Une file dimpression est rejete par dfaut lors de sa cration. Syntaxe : reject [-r raison] destination
Options -r raison
Description Indique la raison pour laquelle la demande d'impression t rejete. Visualisable l'aide de la commande : lpstat -a destination Nom de la file d'impression ou de la classe d'impression.
Exemple :
# reject r "Maintenance, remplacement de la cartouche" Europa La destination "Europa" n'accepte plus les requtes
3. La commande : enable
La commande : enable autorise l'impression vers l'imprimante physique. Syntaxe : Exemple :
# /usr/bin/enable Europa imprimante "Europa" maintenant active
/usr/bin/enable destination
4. La commande : disable
La commande : disable neutralise l'accs l'imprimante physique. Dans ce cas, les impressions ne s'effectueront plus, mais les demandes (requtes) seront toujours stockes (commande : accept). Syntaxe : disable [-c | -W] [ -r raison] destination
Options -c -w Description Annule toutes les demandes et neutralise l'accs l'imprimante physique. Attend que la demande actuelle se termine avant de neutraliser l'accs
95
l'imprimante physique. Assigne une raison pour neutralisation l'accs l'imprimante physique. destination Nom de la file d'impression ou de la classe d'impression. -r raison
Exemple :
# disable Europa l'imprimante "Europa" est dsormais dsactive
10.
Les Utilisateurs n'accdent pas directement l'imprimante. La demande d'impression, l'annulation d'une demande et la visualisation de l'tat du systme se font l'aide de commandes.
1. La commande : lpstat
La commande : lpstat permet de connatre les demandes qui se trouvent dans la file dattente, donc de voir l'tat de celle-ci. Syntaxe : lpstat [option]
Options Description
Affiche le statut des impressions sur toutes les files dattente. Affiche le statut des impressions sur une file dattente. Affiche le statut des impressions dun utilisateur Affiche l'tat du service d'impression Affiche le nom de la file d'attente par dfaut Affiche l'tat des classes ou d'une classe Affiche les informations des impressions personnelles
# disable Europa l'imprimante "Europa" est dsormais dsactive # lp /etc/passwd l'id de requte est Europa-6 (1 fichier(s)) # lp /etc/passwd l'id de requte est Europa-7 (1 fichier(s)) # lp /etc/passwd l'id de requte est Europa-8 (1 fichier(s)) # lp /etc/passwd l'id de requte est Europa-9 (1 fichier(s)) # lpstat Europa-6 Europa-7 Europa-8 Europa-9 # lpstat a root root root root 1099 1099 1099 1099 aot aot aot aot 01 01 01 01 00:04 00:04 00:04 00:04
96
Europa requtes acceptes depuis mar 01 aot 2006 00:01:55 CEST _default requtes acceptes depuis mar 01 aot 2006 00:01:55 CEST # lpstat t l'imprimante Europa est dsactive depuis mar 01 aot 2006 00:04:41 CEST. disponible. unknown reason Europa-6 root 1099 aot 01 00:04 Europa-7 root 1099 aot 01 00:04 Europa-8 root 1099 aot 01 00:04 Europa-9 root 1099 aot 01 00:04 # lpstat o Europa-6 Europa-7 Europa-8 Europa-9 root root root root 1099 1099 1099 1099 aot aot aot aot 01 01 01 01 00:04 00:04 00:04 00:04
# lpstat d Europa destination par dfaut du systme : Europa Europa-6 root 1099 aot Europa-7 root 1099 aot Europa-8 root 1099 aot Europa-9 root 1099 aot # lpstat r l'ordonnanceur est en cours d'excution # lpstat d destination par dfaut du systme : Europa # lpstat c membres de la classe Denethor : Boromir Faramir membres de la classe Theoden : Eowyn Eomer
01 01 01 01
2. La commande : cancel
La commande : cancel permet de supprimer un fichier du spool, donc de supprimer une demande d'impression. Syntaxe : cancel [numro ddition] [file dattente] cancel u user [file dattente]
Options Description
numro ddition Numro des jobs (de la demande dimpression). u user Concernant lUtilisateur. Exemple :
# lpstat Europa-6 Europa-7 Europa-8 Europa-9 root root root root 1099 1099 1099 1099 aot aot aot aot 01 01 01 01 00:04 00:04 00:04 00:04
97
# cancel Europa-6 Europa-6: cancelled # lpstat Europa-7 Europa-8 Europa-9 root root root 1099 1099 1099 aot 01 00:04 aot 01 00:04 aot 01 00:04
3. La commande : lpmove
La commande : lpmove permet de transfrer une file d'attente vers une autre file d'attente. La premire syntaxe permet de transfrer une seule demande vers une autre file d'impression. La seconde quant elle transfre toutes les demandes mais dans ce cas rejet les nouvelles demandes de la premire file d'impression. Syntaxe : lpmove [n requte] destination lpmove destination1 destination2
Description Dplacement de la demande n'impression (numro de la requte) Nom de la file d'attente recueillant la demande d'impression Nom de la file d'attente source Nom de la file d'attente cible (recevant les requtes)
Exemple :
# lpstat Europa-7 Europa-8 Europa-9 root root root 1099 1099 1099 aot 01 00:04 aot 01 00:04 aot 01 00:04
# lpmove Europa-7 Triton au total, 1 requtes dplaces vers Triton # lpstat d Europa destination par dfaut du systme : Europa Europa-8 root 1099 aot 01 00:04 Europa-9 root 1099 aot 01 00:04 # lpstat d Triton destination par dfaut du systme : Europa Europa-7 root 1099 aot 01 00:04 # lpmove Europa Triton la destination Europa n'accepte pas les requtes dplacement en cours ... au total, 2 requtes dplaces vers Triton # lpstat d Europa destination par dfaut du systme : Europa # lpstat d Triton destination par dfaut du systme : Europa Europa-7 root 1099 aot 01 00:04 Europa-8 root 1099 aot 01 00:04 Europa-9 root 1099 aot 01 00:04
98
4. La commande : lp
La commande : lp permet d'envoyer une requte sur une file d'impression dun ou de plusieurs fichiers (ou ventuellement de lentre standard). Syntaxe : lp [option] fichier
Options Description -d imprimante Nom de limprimante (destination) -n nombre Nombre de copie -q nombre Priorit de ldition.
Pour valider une file d'impression, nous avons cr une imprimante virtuelle (terminal). Cest--dire que lorsque lutilisateur demandera une impression, cette demande sera excute (imprim) sur le terminal (au lieu dune imprimante physique). Exemple :
$ lp /etc/passwd lid de requte est Europa-1 (1 fichier(s))
99
1. La comptabilit systme
Sur tous les Systmes d'Exploitation Unix, il existe un certain nombre de commandes permettant d'obtenir des statistiques sur l'utilisation du Systme. Ceux-ci exploitent diffrents fichiers grs par le Noyau. La comptabilit permet d'enregistrer et d'afficher l'usage des ressources consommes par les commandes, les temps de connexion, etc. L'administrateur en exploitant ces donnes peut connatre l'utilisation du Systme d'Exploitation, mais surtout les causes d'une consommation plus que la normale. Nous vous invitons ne pas laisser tout le temps la comptabilit active, car le fait de la valider lors du dmarrage, entrane un ralentissement du Systme d'Exploitation (car le Noyau enregistre toutes les transactions dans les deux fichiers de bases de donnes). De plus, les fichiers log vont prendre de plus en plus de place. La comptabilit est ncessaire pour obtenir une image de la consommation des ressources un instant donn, ne laissez jamais la comptabilit active pendant une trop longue dure.
1. Le fichier : utmpx
Le fichier : utmpx contient l'accs des utilisateurs et les informations comptables pour des commandes telles que who, write et login.
2. Le fichier : wtmpx
Le fichier : wtmpx contient l'historique des accs utilisateurs et des informations comptables pour la base de donnes d'utmpx
100
texte donnes
# more utmpx system boot_d+5+run-level 3_3SD+5_ +rc2s2#hD+5+ +rc3s3_#hD+5;+LOGINdtconsole ___>D+56_:0sacsc_#hD+5; +LOGINcoconsole____-D+5< _zsmonPM10___LD+5|user1t100pts/2__!-D+7A ^L192.168.1.2+ # more wtmpx system boot_D__irun-level 3_3SD___ rc2s2HD___ shutdown~D__+nsystem boot _D__]run~-level 3_3SD__{ rc2s2KD__{ rc2sD_orc3s_^D__ ......... er1t100pts//2_aD7 192.168.1.100
4. Lancement de la comptabilit
Le lancement de la comptabilit s'effectue au dmarrage du Systme d'Exploitation, l'aide d'un script de dmarrage dj existant. Ce script se nomme : acct et se trouve dans le rpertoire : /etc/init.d. Pour valider ce lancement, il faut crer un fichier dans le rpertoire : /etc/rc3.d (si notre niveau de fonctionnement au dmarrage est : 3). Nous allons crer ce fichier et le nommer de telle faon qu'il puisse dmarrer la fin de tous les autres sous-systmes. Contenu du fichier de comptabilit :
#!/sbin/sh # # Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T. # All rights reserved. # # THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T # The copyright notice above does not evidence any # actual or intended publication of such source code. # # Copyright (c) 1997 by Sun Microsystems, Inc. # All rights reserved. # #ident "@(#)acct.sh 1.3 97/12/08 SMI" state="$1" if [ -z "$_INIT_RUN_NPREV" -o -z "$_INIT_PREV_LEVEL" ]; then set -- `/usr/bin/who -r` _INIT_RUN_NPREV="$8"
101
_INIT_PREV_LEVEL="$9" fi [ $_INIT_RUN_NPREV != 0 ] && exit 0 case "$state" in 'start') [ $_INIT_PREV_LEVEL = 2 -o $_INIT_PREV_LEVEL = 3 ] && exit 0 echo 'Starting process accounting' /usr/lib/acct/startup ;; 'stop') echo 'Stopping process accounting' /usr/lib/acct/shutacct ;; *) echo "Usage: $0 { start | stop }" exit 1 ;; esac exit 0
a. La commande : last
La commande : last permet d'afficher les dernires connexions des utilisateurs du systme. Cette commande extrait les informations du fichier : /var/adm/wtmpx. Les informations recueillies seront : - Le login de connexion - Le type de terminal - Le jour et le mois de connexion - La dure de connexion (dbut fin) - Syntaxe :
Options -a -f fichier
-n nombre Affiche les 'n' premires lignes -nombre nom Nom de l'utilisateur tty Nom du terminal
102
Exemple :
# last user1 reboot user1 reboot user1 reboot user1 user1 user1 root reboot root reboot reboot pts/2 system boot pts/2 system boot pts/2 system boot pts/3 pts/6 pts/2 console system boot console system boot system boot 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 :0 :0 Mon Mon Mon Mon Mon Mon Mon Wed Wed Wed Wed Fri Fri Fri Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul 24 24 24 24 24 24 24 12 12 12 12 7 7 7 23:11 encore connect 23:01 20:20 - 20:45 (00:24) 20:20 18:10 - 18:58 (00:47) 18:07 16:48 - 17:08 (00:20) 15:57 15:53 15:52 15:51 00:58 00:57 00:45 - 16:01 (00:04) - 16:01 (00:07) - 16:01 (00:08) - 00:59 (00:01)
dbut de wtmp : Fri Jul 7 00:45 # last -a user1 pts/2 reboot system boot user1 pts/2 reboot system boot user1 pts/2 root console reboot system boot root console reboot system boot reboot system boot Mon Mon Mon Mon Mon Wed Wed Fri Fri Fri Jul Jul Jul Jul Jul Jul Jul Ju Jul Jul 24 24 24 24 24 12 12 7 7 7 23:11 encore connect 23:01 20:20 - 20:45 (00:24) 20:20 18:10 - 18:58 (00:47) 15:52 - 16:01 (00:08) 15:51 00:58 - 00:59 (00:01) 00:57 00:45 192.168.1.2 192.168.1.2 192.168.1.2 :0 :0
Exemple :
# last root root root root # last user1 user1 user1 user1 user1 user1 user1 user1 user1 user1 user1 user1 root console console console console user1 pts/2 pts/2 pts/2 pts/3 pts/2 pts/4 pts/4 pts/2 pts/2 pts/2 pts/2 pts/2 :0 :0 :0 :0 Sun Fri Wed Fri Jul Jul Jul Jul 23 21 12 7 12:13 11:22 15:52 00:58 arrt arrt arrt arrt (00:02) (00:02) (1+05:42) (5+14:52)
dbut de wtmp : Fri Jul 7 00:45 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 Mon Mon Mon Mon Mon Mon Mon Tue Tue Mon Mon Thu Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul 24 24 24 24 24 24 24 18 18 17 17 13 23:11 20:20 18:10 16:48 16:30 12:17 11:49 10:19 00:09 21:41 17:55 21:36 encore - 20:45 - 18:58 - 17:08 - 17:11 arrt - 12:11 10:38 01:40 23:33 19:16 22:57 connect (00:24) (00:47) (00:20) (00:41) (04:07) (00:21) (00:18) (01:30) (01:51) (01:20) (01:21)
103
user1 user1 # last user1 user1 user1 user1 user1 user1 user1 user1 user1 user1 user1 user1 user1 user1 # last user1 user1 user1 user1 user1
pts/6 192.168.1.2 pts/2 192.168.1.2 pts/2 pts/2 pts/2 pts/2 pts/2 pts/2 pts/2 pts/2 pts/2 pts/2 pts/2 pts/2 pts/2 pts/2 pts/2
dbut de wtmp : Fri Jul 7 00:45 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 192.168.1.2 Mon Mon Mon Mon Sun Sun Sun Tue Tue Tue Mon Mon Thu Wed Jul Ju Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul 24 24 24 24 23 23 23 18 18 18 17 17 13 12 23:11 20:20 18:10 16:30 21:23 12:21 12:18 11:39 10:19 00:09 21:41 17:55 21:36 15:53 encore - 20:45 - 18:58 - 17:11 arrt - 13:08 - 12:21 12:05 10:38 01:40 23:33 19:16 22:57 16:01 connect (00:24) (00:47) (00:41) (19:01) (00:46) (00:02) (00:25) (00:18) (01:30) (01:51) (01:20) (01:21) (00:07)
dbut de wtmp : Fri Jul 7 00:45 -5 user1 pts/2 192.168.1.2 pts/2 192.168.1.2 pts/2 192.168.1.2 pts/3 192.168.1.2 pts/2 192.168.1.2 Mon Mon Mon Mon Mon Jul Jul Jul Jul Jul 24 24 24 24 24 Jul Jul Jul Jul 23:11 20:20 18:10 16:48 16:30 24 24 24 24 encore 20:45 18:58 17:08 17:11 connect (00:24) (00:47) (00:20) (00:41)
# last | grep reboot reboot system boot reboot system boot reboot system boot reboot system boot
b. La commande : lastcomm
La commande : lastcomm permet d'afficher les dernires commandes des utilisateurs du systme. Cette commande extrait les informations du fichier : /var/adm/wtmpx. Syntaxe :
Options -f fichier
lastcomm
Description Indique un nom de fichier comme sortie standard.
Exemple :
# lastcomm init mibiisa S sh S bash sac S ttymon S ttymon S dtlogin SF Xsun S root root root root root root root root root __ __ __ __ __ __ __ __ __ 0.09 4.63 0.11 1.34 0.03 0.04 0.04 0.08 0.98 secs secs secs secs secs secs secs secs secs Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:11 Tue Jul 25 00:12 Tue Jul 25 03:00 Tue Jul 25 03:00 Tue Jul 25 03:00 Mon Jul 24 23:01 Mon Jul 24 23:01
104
sshd miniserv syseven vold htt_serv cron dtlogin vold snmpdx uname rpcbind dtgreet sh snmpdx nmbd fbconsol syslogd smbd smbd ttymon powerd smcboot utmpd in.route htt sendmail sendmail automoun nscd dmispd snmpXdmi picld skipd lockd
SF F SF SF S F F S SF F S F SF SF SF SF S SF SF SF SF F SF SF SF F SF SF SF SF
root root root root root root root root root root root root xavier root root root root root root root root root root root root smmsp root root root root root root root root
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
0.01 0.21 0.16 0.03 0.04 0.04 0.14 1.85 0.07 0.02 0.11 0.49 0.10 0.02 0.63 0.04 0.15 0.02 2.19 0.06 0.38 0.02 0.01 0.52 0.01 0.01 0.09 0.40 0.10 0.12 0.07 0.59 0.41 0.07
secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs secs
Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Tue Jul 25 03:00 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Tue Jul 25 03:00 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:11 Tue Jul 25 03:00 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Tue Jul 25 00:14 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:02 Mon Jul 24 23:02 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01 Mon Jul 24 23:01
c. La commande : acctadm
La commande : acctadm d'afficher de configurer le service de comptabilit. La commande se trouve dans le rpertoire : /usr/sbin. Syntaxe :
Options -d liste -f fichier -r -u -x process task flow
acctadm [-DErux] [-d liste] [-e liste] [-f fichier] [task | process | flow]
Description Neutralise le reportage de lutilisation de Indique un nom de fichier comme sortie standard. Groupes disponibles de ressources daffichage. Configurer la comptabilit base sur les teneurs de : /etc/acctadm.conf Mettre la comptabilit hors tension du type donne doprande. Lance la commande sur les composants : processus Lance la commande sur les composants : tches Lance la commande sur les composants : flux
Remarque :
105
Exemple :
# acctadm Comptabilisation des tches : dsactive Fichier de comptabilisation des tches : none Ressources de tche suivies : none Ressources de tche non suivies : extended Comptabilisation des processus : dsactive Fichier de comptabilisation des processus : none Ressources de processus suivies : none Ressources de processus non suivies : extended,host,mstate Comptabilisation du flux : dsactive Fichier de comptabilisation du flux : none Ressources de flux suivies : none Ressources de flux non suivies : extended # acctadm process Comptabilisation des processus : dsactive Fichier de comptabilisation des processus : none Ressources de processus suivies : none Ressources de processus non suivies : extended,host,mstate # acctadm task Comptabilisation des tches : dsactive Fichier de comptabilisation des tches : none Ressources de tche suivies : none Ressources de tche non suivies : extended # acctadm flow Comptabilisation du flux : dsactive Fichier de comptabilisation du flux : none Ressources de flux suivies : none Ressources de flux non suivies : extended
3. Le lancement de tches
Nous avons la possibilit d'automatiser le lancement de tches systme. Nous pouvons par exemple, lancer une sauvegarde du Systme d'Exploitation chaque fin de semaine. Nous allons donc tudier la commande : crontab qui va nous permettre de paramtrer cette automatisation.
1. La commande : crontab
La commande : crontab permet chaque comptes Unix de paramtrer l'automatisation de certaines tches, quelles soient systmes ou non. Avant de lancer cette commande, nous devons nous assurer que l'diteur par dfaut est l'diteur : vi ( l'aide de la variable d'environnement : EDITOR). Syntaxe :
Options -e -l -r
106
Structure du fichier : Le fichier est compos de plusieurs lignes, chaque ligne correspond un lancement de tche et est compose de 6 champs : Minute Heure Jour du Mois Mois Jour Semaine Commande
Chacun de ces champs contient une valeur, ou un intervalle de valeur correspond au moment du dclenchement de la commande (suivant la dfinition du champ). Prenons un exemple avec le premier champ, les autres suivant la mme norme. Champs : Minute Ce champ correspond aux minutes (ou la minute) pendant lesquels le Systme va enclencher la commande.
Minutes 45 32-50 32,50 * Description Dclenchement la minute 45 Dclenchement aux minutes 32, 33, 34 jusqu' 50 Dclenchement aux minutes 32 et 50 Dclenchement toutes les minutes
Le fichier : /usr/bin/prog sera excut : - Champs 4 : Tous les mois - Champs 3 et 5 : Pour les jours : 3 8 (n'importe - Champs 2 et 1 : A 11h23, 12h23, 13h23, 14h23 et 15h23. Si nous avions remplac le champ 5 par la valeur 3, le fichier se serait excut que si entre le jour 3 et le jour 8, nous tombons un Mercredi Champs : Jour de la semaine La valeur ou l'intervalle de valeur peut aller de 0 Dimanche 6 Samedi.
a. Le paramtrage
Voici le fichier pour l'administrateur :
# EDITOR=vi # export EDITOR # crontab e # The rtc command is run to adjust the real time clock if and when # daylight savings time changes. # 10 3 * * * /usr/sbin/logadm 15 3 * * 0 /usr/lib/fs/nfs/nfsfind 1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1 30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
107
b. Le dmon
Vous devez tre certain que le dmon (processus) soit lanc lors du dmarrage du Systme d'Exploitation.
# ps ef | grep cron root 268 1 0 10:07:51 ? 0:00 /usr/sbin/cron root 886 484 0 12:42:52 pts/2 0:00 grep cron
c. Modification
La modification du fichier se fait l'aide de la commande : crontab avec l'option : -e. Comme l'diteur par dfaut est l'diteur : vi, il suffit de crer ou de modifier une ligne en utilisant les commandes de l'diteur.
# crontab e # The rtc command is run to adjust the real time clock if and when # daylight savings time changes. # 10 3 * * * /usr/sbin/logadm 15 3 * * 0 /usr/lib/fs/nfs/nfsfind 1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1 30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean #10 3 * * * /usr/lib/krb5/kprop_script ___slave_kdcs___ * * * * * /prog
Remarque :
Noubliez pas les droits daccs du fichier a excuter (le droit : x simpose dans ce cas), sinon le programme ne sexcutera pas et vous recevrez le message ds lappuie de la touche : Entre.
You have new mail Lutilisateur user1 peut connatre ltat de sa messagerie. :
$ mail From root@solaris Mon Jan 22 13:22:01 2007 Date: Mon, 22 Jan 2007 13:22:01 +0100 (CET) From: Super-User <root@solaris> Message-Id: <200701221222.l0MCM1vC000877@solaris> To: root@solaris Subject: Output from "cron" command Content-Length: 93 Your "cron" job on solaris /prog produced the following output: sh: /prog: cannot execute
108
d. Vrification
Nous avons crer une automatisation permettant de lancer le programme : /prog toutes les minutes, en voici le rsultat.
Bonjour Bonjour Bonjour Bonjour Bonjour Bonjour Bonjour
2. Les droits
L'administrateur peut choisir quels sont les comptes Unix ayant le droit d'excuter le programme de lancement automatique, ceux qui ont le droit, et ceux qui n'ont pas le droit. Ce choix se fait l'aide de deux fichiers se trouvant dans le rpertoire : /etc/cront.d. Ces fichiers se nomment : cron.allow et cron.deny Exemple :
# cd /etc/cron.d # ls l -rw-r--r-1 -rw-r--r-1 prw------1 -rw-r--r-1 # more cron.deny daemon bin smtp nuucp listen nobody noaccess
45 45 0 17
6 6 26 7
a. Le fichier : cron.allow
Tous les comptes contenus dans ce fichier pourront utiliser le dmon cron. Si ce fichier est vide, aucun utilisateur nest autoris utiliser cette fonction.
b. Le fichier : cron.deny
Tous les comptes contenus dans ce fichier ne pourront pas utiliser le lancement priodique (attention ne pas mettre : root). Si ce fichier existe mais vide, tous les utilisateurs peuvent utiliser cette fonction. Prsence des fichiers Aucun fichier cron.allow Personne n'a le droit (sauf ladministrateur). Seuls les personnes dans ce fichier ont le droit. 109
Toutes les personnes sauf ceux de deny. Toutes les personnes dans allow ceux de deny.
110
1. Installation de packages
Nous allons maintenant tudier l'installation des packages Solaris, pour notre Systme d'Exploitation.
1. La commande : pkginfo
La commande : pkginfo affiche les informations sur les packages installs. Syntaxe : pkginfo [-i] [-a arch] [-c category] [-d device]
Options -a arch -c category -d device -i Description Affiche les packages concernant l'architecture concerne (par exemple : sparc) Affiche les packages concernant la catgorie (par exemple : application ou system) Endroit o se trouve les packages installer Affiche que les packages entirement installs
111
Autres informations :
# pkginfo a sparc system IPLTadcon system IPLTadman system IPLTadmin system IPLTcons system IPLTdscon system IPLTdsman system IPLTdsr system IPLTdsu system IPLTjss system IPLTnls system IPLTnspr system IPLTnss system IPLTpldap application NSCPcom application NSCPfrcdo application NSCPfrcom Administration Server Console Administration Server Documentation Administration Server Console Client Base Directory Server Console Directory Server Documentation Directory Server (root) Directory Server (usr) Network Security Services for Java Nationalization Languages and Localization Support Portable Runtime Interface Network Security Services PerLDAP Netscape Communicator Netscape Communicator Netscape Communicator
# pkginfo c application application NSCPcom Netscape Communicator application NSCPfrcdo Netscape Communicator application NSCPfrcom Netscape Communicator application SUNW3des SKIP 3DES Crypto Module application SUNW3desx SKIP 3DES Crypto Module (64-bit) GNOME2 SUNWTiffx libtiff - library for reading and writing TIFF (64-bit) application SUNWafbw Elite3D Graphics Window System Support application SUNWbdc SKIP Bulk Data Crypt application SUNWbdcx SKIP Bulk Data Crypt (64-bit) application SUNWdes SKIP DES Crypto Module application SUNWdesx SKIP DES Crypto Module (64-bit) application SUNWdialh Buttons/Dials Header Files application SUNWeke Sun(tm) Embedded Knowledge Engine application SUNWexplo Sun(TM) Explorer Data Collector application SUNWexplu Sun(TM) Explorer Data Collector Config Files application SUNWfbc Frame Buffer Configuration Utility application SUNWffbcf Creator Graphics Configuration Software application SUNWffbw Creator Graphics Window System Support application SUNWfkcsr French KCMS Runtime Environment application SUNWfrj2p Java Plug-in application SUNWfrns French Netscape for Solaris application SUNWfrsmc French Solaris Management Console 2.1
2. La commande : pkgadd
La commande : pkgadd permet d'installer des packages Syntaxe :
Options -d device
112
Exemple :
# cd /part1/Sources # ls mpp-2.6-82.SunOS.sparc.pkg #pkgadd d * Les modules suivants sont disponibles : 1 mpp Message Processing Platform Enterprise / Service Provider Edition (sparc) 2.6-82 Slectionnez le ou les modules que vous souhaitez traiter (ou 'all' pour traiter tous les modules). (default: all) [?,??,q]: 1 Traitement de la copie du module <mpp> partir de </part1/Sources/mpp-2.682.SunOS.sparc.pkg> en cours... Message Processing Platform Enterprise / Service Provider Edition (sparc) 2.6-82 Copyright (c) 2006 Message Partners, www.messagepartners.com </usr/local> est le rpertoire de base utilis pour l'installation du module. ## Traitement des donnes du module en cours... ## Traitement des donnes systme en cours... ## Vrification de l'espace disque requis ## Checking for conflicts with packages already installs. ## Vrification des programmes setuid/setgid en cours... Ce module contient des scripts qui seront excuts avec les autorisations de superutilisateur lors du processus d'installation. Souhaitez-vous poursuivre l'installation de <mpp> ? [y,n,?] y Installation de Message Processing Platform Enterprise / Service Provider Edition en <mpp> en cours... ## Intallation de l'lment 1 de 1 en cours... /usr/local/MPP/cf/attachment_default /usr/local/MPP/cf/content_default /usr/local/MPP/cf/header_default /usr/local/MPP/cloudmark/etc/cartridge.cfg /usr/local/MPP/cloudmark/etc/micro_updates/1.ipl /usr/local/sav/vdl20.vdb /usr/local/sav/vdl21.vdb /usr/local/sav/vdl22.vdb /usr/local/sav/vdl23.vdb /usr/local/sav/vdl24.vdb /usr/local/share/examples/clamav/daily.cvd /usr/local/share/examples/clamav/daily.cvd-current.md5 /usr/local/share/examples/clamav/main.cvd /usr/local/share/examples/clamav/main.cvd-current.md5 [ vrification de la classe <none> en cours...] ## Excution du script de post-installation L'installation de <mpp> a abouti.
3. La commande : pkginfo
La commande : pkgrm permet de supprimer des packages Syntaxe : Exemple : pkgrm packages
113
# pkgrm mpp Le module suivant est install : mpp Message Processing Platform Enterprise / Service Provider Edition (sparc) 2.6-82 Souhaitez-vous supprimer ce module ? [y,n,?,q] ## Dsinstallation de la copie du module <mpp> en cours... Ce module contient des scripts qui seront excuts avec les autorisations de superutilisateur lors du processus de suppression. Voulez-vous reprendre la suppression de ce module ? [y,n,?,q] ## Vrification des fichiers dpendants du module en cours... ## Traitement des donnes du module en cours... ## Excution du script de pr-suppression... ## Suppression des chemins d'accs dans la classe <none> /usr/local/share/examples/clamav/main.cvd-current.md5 /usr/local/share/examples/clamav/main.cvd /usr/local/share/examples/clamav/daily.cvd-current.md5 /usr/local/share/examples/clamav/daily.cvd /usr/local/share/examples/clamav /usr/local/share/examples /usr/local/share <rpertoire non vide conserv> /usr/local/sav/vdl24.vdb /usr/local/sav/vdl23.vdb /usr/local/sav/vdl22.vdb /usr/local/sav/vdl21.vdb /usr/local/sav/vdl20.vdb /usr/local/MPP/cloudmark/lib/cartridge.so /usr/local/MPP/cloudmark/lib /usr/local/MPP/cloudmark/etc/whitelist.cfg /usr/local/MPP/cloudmark/etc/micro_updates/9.dpl /usr/local/MPP/cloudmark/etc/micro_updates/8.awl /usr/local/MPP/cloudmark/etc/micro_updates/70.rplv1 /usr/local/MPP/cloudmark/etc/micro_updates/324057.hs2.z.aes /usr/local/MPP/cloudmark/etc/micro_updates/3.acf /usr/local/MPP/cloudmark/etc/micro_updates/1.ipl /usr/local/MPP/cloudmark/etc/micro_updates /usr/local/MPP/cloudmark/etc/cartridge.cfg /usr/local/MPP/cloudmark/etc /usr/local/MPP/cloudmark /usr/local/MPP/cf/header_default /usr/local/MPP/cf/content_default /usr/local/MPP/cf/attachment_default /usr/local/MPP/cf /usr/local/MPP <rpertoire non vide conserv> ## Excution du script de post-suppression en cours... ## Mise jour des donnes systme en cours... La suppression de <mpp> a abouti.
114
2. La commande : prtconf
La commande : prtconf affiche la configuration du Systme d'Exploitation en particulier des priphriques existants. Elle indique pour chacun d'entre eux si le pilote est charg ou non. Syntaxe : /usr/sbin/prtconf [-vpPD]
Options Description -D Affichage du nom du module de gestion du priphrique -p Affichage de la configuration initiale. -P Inclut des informations sur des pseudo dispositifs (par dfaut, l'information concernant de pseudo dispositifs est omise). -v Mode commentaire
Exemple :
# prtconf System Configuration: Sun Microsystems sun4u Memory size: 512 Megabytes System Peripherals (Software Nodes): SUNW,Ultra-5_10 packages (driver not attached) terminal-emulator (driver not attached) deblocker (driver not attached) obp-tftp (driver not attached) disk-label (driver not attached) SUNW,builtin-drivers (driver not attached) sun-keyboard (driver not attached) ufs-file-system (driver not attached) chosen (driver not attached) openprom (driver not attached)
115
client-services (driver not attached) ......... SUNW,CS4231 (driver not attached) network, instance #0 SUNW,m64B, instance #0 ide, instance #0 disk (driver not attached) cdrom (driver not attached) dad, instance #0 dad, instance #1 dad, instance #2 sd, instance #15 pci, instance #1 pci, instance #0 pci108e,1000 (driver not attached) SUNW,hme, instance #1 SUNW,isptwo, instance #0 sd (driver not attached) st (driver not attached) sd, instance #0 (driver not attached) sd, instance #14 (driver not attached) pci1214,334 (driver not attached) SUNW,UltraSPARC-IIi (driver not attached) pseudo, instance #0
Exemple :
# prtconf D System Configuration: Sun Microsystems sun4u Memory size: 512 Megabytes System Peripherals (Software Nodes): SUNW,Ultra-5_10 packages terminal-emulator deblocker obp-tftp disk-label SUNW,builtin-drivers sun-keyboard ufs-file-system chosen openprom client-services options, instance #0 (driver name: options) aliases memory virtual-memory pci, instance #0 (driver name: pcipsy) pci, instance #0 (driver name: simba) ebus, instance #0 (driver name: ebus) auxio power, instance #0 (driver name: power) SUNW,pll se, instance #0 (driver name: se) su, instance #0 (driver name: su) su, instance #1 (driver name: su) ecpp (driver name: ecpp)
116
fdthree, instance #0 (driver name: fd) eeprom flashprom SUNW,CS4231 (driver name: audiocs) network, instance #0 (driver name: hme) SUNW,m64B, instance #0 (driver name: m64) ide, instance #0 (driver name: uata) disk (driver name: dad) cdrom (driver name: sd) dad, instance #0 (driver name: dad) dad, instance #1 (driver name: dad) dad, instance #2 (driver name: dad) sd, instance #15 (driver name: sd) pci, instance #1 (driver name: simba) pci, instance #0 (driver name: pci_pci) pci108e,1000 SUNW,hme, instance #1 (driver name: hme) SUNW,isptwo, instance #0 (driver name: isp) sd (driver name: sd) st (driver name: st) sd, instance #14 (driver name: sd) pci1214,334 SUNW,UltraSPARC-IIi pseudo, instance #0 (driver name: pseudo)
Exemple :
# prtconf v System Configuration: Sun Microsystems sun4u Memory size: 512 Megabytes System Peripherals (Software Nodes): SUNW,Ultra-5_10 System properties: name='relative-addressing' type=int items=1 value=00000001 name='MMU_PAGEOFFSET' type=int items=1 value=00001fff name='MMU_PAGESIZE' type=int items=1 value=00002000 name='PAGESIZE' type=int items=1 value=00002000 Driver properties: name='pm-hardware-state' type=string items=1 dev=none value='no-suspend-resume' packages (driver not attached) terminal-emulator (driver not attached) deblocker (driver not attached) obp-tftp (driver not attached) disk-label (driver not attached) SUNW,builtin-drivers (driver not attached) sun-keyboard (driver not attached) ufs-file-system (driver not attached) chosen (driver not attached) openprom (driver not attached) client-services (driver not attached) options, instance #0
117
System properties: name='ttymodes' type=byte items=36 value=00.00.25.02.00.00.18.05.00.00.00.bd.00.00.8a.3b.03 name='class' type=string items=1 value='root' aliases (driver not attached) memory (driver not attached) virtual-memory (driver not attached) pci, instance #0 Driver properties: name='interrupt-priorities' type=int items=6 dev=none value=0000000e.0000000e.0000000e.0000000e.0000000e.0000000e name='virtual-dma' type=int items=2 dev=none value=c0000000.20000000 name='target' type=int items=1 value=0000000f name='class' type=string items=1 value='scsi' pci1214,334 (driver not attached) SUNW,UltraSPARC-IIi (driver not attached) pseudo, instance #0 System properties: name='class' type=string items=1 value='root'
Exemple :
# prtconf p System Configuration: Sun Microsystems sun4u Memory size: 512 Megabytes System Peripherals (PROM Nodes): Node 'SUNW,Ultra-5_10' Node 'packages' Node 'terminal-emulator' Node 'deblocker' Node 'obp-tftp' Node 'disk-label' Node 'SUNW,builtin-drivers' Node 'sun-keyboard' Node 'ufs-file-system' Node 'chosen' Node 'openprom' Node 'client-services' Node 'options' Node 'aliases' Node 'memory' Node 'virtual-memory' Node 'pci' Node 'pci' Node 'ebus' Node 'auxio' Node 'power' Node 'SUNW,pll' Node 'se' Node 'su' Node 'su'
118
Node 'ecpp' Node 'fdthree' Node 'eeprom' Node 'flashprom' Node 'SUNW,CS4231' Node 'network' Node 'SUNW,m64B' Node 'ide' Node 'disk' Node 'cdrom' Node 'pci' Node 'pci' Node 'pci108e,1000' Node 'SUNW,hme' Node 'SUNW,isptwo' Node 'sd' Node 'st' Node 'pci1214,334' Node 'SUNW,UltraSPARC-IIi'
Exemple :
# prtconf P System Configuration: Sun Microsystems sun4u Memory size: 512 Megabytes System Peripherals (Software Nodes): SUNW,Ultra-5_10 packages (driver not attached) terminal-emulator (driver not attached) deblocker (driver not attached) obp-tftp (driver not attached) disk-label (driver not attached) SUNW,builtin-drivers (driver not attached) sun-keyboard (driver not attached) ufs-file-system (driver not attached) chosen (driver not attached) openprom (driver not attached) client-services (driver not attached) options, instance #0 aliases (driver not attached) memory (driver not attached) virtual-memory (driver not attached) pci, instance #0 pci, instance #0 ebus, instance #0 auxio (driver not attached) power, instance #0 SUNW,pll (driver not attached) se, instance #0 su, instance #0 su, instance #1 ecpp (driver not attached) fdthree, instance #0 eeprom (driver not attached) flashprom (driver not attached) SUNW,CS4231 (driver not attached) network, instance #0
119
SUNW,m64B, instance #0 ide, instance #0 disk (driver not attached) cdrom (driver not attached) dad, instance #0 dad, instance #1 dad, instance #2 sd, instance #15 pci, instance #1 pci, instance #0 pci108e,1000 (driver not attached) SUNW,hme, instance #1 sy, instance #0 vol, instance #0 ptm, instance #0 pts, instance #0 logindmux, instance #0 devinfo, instance #0 openeepr, instance #0
3. La commande : modinfo
La commande : modinfo affiche tous les pilotes actuellement chargs sur le Systme d'Exploitation. Syntaxe : modinfo
Options Description -c Affiche les modules chargs (et leur tat actuel) -w Ne tronque pas les lignes de plus de 80 caractres -i module-id Affiche seulement les informations du module spcifi
Exemple :
# modinfo Id Loadaddr 6 117e000 8 1183ba8 9 1186d20 10 1186db0 11 11b925e 12 11b937e 13 11baaab 145 780cd06f 146 7811a871 147 12ed8dd 148 1201180 148 1201180 149 780e47a8 150 12eb241 Size Info Rev Module Name 43db 1 1 specfs (filesystem for specfs) 38dc 1 1 TS (time sharing sched class) 8dc 1 TS_DPTBL (Time sharing dispatch table) 34f06 2 1 ufs (filesystem for ufs) 1c7 1 fssnap_if (File System Snapshot Interface) 1b3a 1 1 rootnex (sun4u root nexus 1.95) 210 57 1 options (options driver) d36 1617 2a5 10b7 10b7 193c 1e20 24 21 22 207 207 23 4 1 1 1 1 1 1 1 pts (Slave Stream Pseudo Terminal dr) ptem (pty hardware emulator) redirmod (redirection module) pset (processor sets) pset (32-bit pset(2) syscall) telmod (telnet module) logindmux (logindmux driver 1.24) State UNLOADED/UNINSTALLED UNLOADED/UNINSTALLED
120
0 0 0 1 1 1 1 1 1 1 1 1
platmod SUNW,UltraSPARC-IIi cl_bootstrap specfs swapgeneric ptm pts ptem redirmod pset telmod logindmux
UNLOADED/UNINSTALLED UNLOADED/UNINSTALLED UNLOADED/UNINSTALLED LOADED/INSTALLED UNLOADED/UNINSTALLED LOADED/INSTALLED LOADED/INSTALLED LOADED/INSTALLED LOADED/INSTALLED LOADED/INSTALLED LOADED/INSTALLED LOADED/INSTALLED
# modinfo i 120 Id Loadaddr Size Info Rev 120 780a4000 2b550 106 120 780a4000 2b550 106 120 780a4000 2b550 8 120 780a4000 2b550 7 120 780a4000 2b550 16
Module Name 1 nfs (NFS syscall, client, and common) 1 nfs (NFS syscall, client, and common) 1 nfs (network filesystem) 1 nfs (network filesystem version 2) 1 nfs (network filesystem version 3)
4. La commande : modload
La commande : modload permet de charger un pilote Syntaxe : Exemple :
# modinfo | tail 142 1316531 109 143 780fa692 1b10 144 7814b232 d34 145 780cd06f d36 146 7811a871 1617 147 12ed8dd 2a5 148 1201180 10b7 148 1201180 10b7 149 780e47a8 193c 150 12eb241 1e20 3 20 23 24 21 22 207 207 23 4 1 1 1 1 1 1 1 1 1 1 IA (interactive scheduling class) hwc (streams module for hardware cur) ptm (Master streams driver 'ptm' 1.4) pts (Slave Stream Pseudo Terminal dr) ptem (pty hardware emulator) redirmod (redirection module) pset (processor sets) pset (32-bit pset(2) syscall) telmod (telnet module) logindmux (logindmux driver 1.24)
modload filename
# cd /usr/kernel/drv # ls | grep v ".conf" -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys 133 166 143 135 221 165 150 129 131 131 792 169 169 avr avr avr avr avr avr avr avr avr avr oct dc dc 6 6 6 6 6 6 6 6 6 6 9 29 29 2002 2002 2002 2002 2002 2002 2002 2002 2002 2002 2003 2001 2001 dump.conf fssnap.conf kstat.conf ksyms.conf llc2.conf lockstat.conf logindmux.conf pm.conf ptm.conf pts.conf rsm.conf screen_ipsec.conf screen_skip.conf
121
-rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--
1 1 1 1 1
6 6 6 6 6
# modload llc2 # modinfo | tail 142 1316531 109 143 780fa692 1b10 144 7814b232 d34 145 780cd06f d36 146 7811a871 1617 147 12ed8dd 2a5 148 1201180 10b7 148 1201180 10b7 149 780e47a8 193c 150 12eb241 1e20 151 132e60f 25caf
1 1 1 1 1 1 1 1 1 1 1
IA (interactive scheduling class) hwc (streams module for hardware cur) ptm (Master streams driver 'ptm' 1.4) pts (Slave Stream Pseudo Terminal dr) ptem (pty hardware emulator) redirmod (redirection module) pset (processor sets) pset (32-bit pset(2) syscall) telmod (telnet module) logindmux (logindmux driver 1.24) llc2 (SUN LLC2 Class II Streams Drive)
5. La commande : modunload
La commande : unload permet de dcharger un pilote, elle supprime aussi l'attachement du pilote au priphrique. Syntaxe : modunload -i nmodule
Options
Exemple :
# modinfo | tail 142 1316531 109 143 780fa692 1b10 144 7814b232 d34 145 780cd06f d36 146 7811a871 1617 147 12ed8dd 2a5 148 1201180 10b7 148 1201180 10b7 149 780e47a8 193c 150 12eb241 1e20 151 132e60f 25caf # modunload i 151 # modinfo | tail 142 1316531 109 143 780fa692 1b10 144 7814b232 d34 145 780cd06f d36 146 7811a871 1617 147 12ed8dd 2a5 148 1201180 10b7 148 1201180 10b7 149 780e47a8 193c 150 12eb241 1e20 3 20 23 24 21 22 207 207 23 4 225 1 1 1 1 1 1 1 1 1 1 1 IA (interactive scheduling class) hwc (streams module for hardware cur) ptm (Master streams driver 'ptm' 1.4) pts (Slave Stream Pseudo Terminal dr) ptem (pty hardware emulator) redirmod (redirection module) pset (processor sets) pset (32-bit pset(2) syscall) telmod (telnet module) ogindmux (logindmux driver 1.24) llc2 (SUN LLC2 Class II Streams Drive)
3 20 23 24 21 22 207 207 23 4
1 1 1 1 1 1 1 1 1 1
IA (interactive scheduling class) hwc (streams module for hardware cur) ptm (Master streams driver 'ptm' 1.4) pts (Slave Stream Pseudo Terminal dr) ptem (pty hardware emulator) redirmod (redirection module) pset (processor sets) pset (32-bit pset(2) syscall) telmod (telnet module) ogindmux (logindmux driver 1.24)
122
# mv webmin-1.200.tar.gz /Source/. # cd /Source # ls l -rwxr--r-- 1 root other 7835665 avr 28 2005 webmin-1.200.tar.gz # gunzip webmin-1.200.tar.gz -rwxr--r-- 1 root other 32266240 avr 28 2005 webmin-1.200.tar # tar xvf webmin-1.200.tar x webmin-1.200, 0 bytes, 0 blocs de bande x webmin-1.200/config.cgi, 1377 bytes, 3 blocs de bande x webmin-1.200/config-cobalt-linux, 246 bytes, 1 blocs de bande x webmin-1.200/config-coherent-linux, 246 bytes, 1 blocs de bande x webmin-1.200/config-corel-linux, 246 bytes, 1 blocs de bande x webmin-1.200/config-debian-linux, 246 bytes, 1 blocs de bande x webmin-1.200/config-generic-linux, 246 bytes, 1 blocs de bande x webmin-1.200/config-gentoo-linux, 246 bytes, 1 blocs de bande x webmin-1.200/config-mandrake-linux, 246 bytes, 1 blocs de bande x webmin-1.200/ipfilter/convert.cgi, 347 bytes, 1 blocs de bande x webmin-1.200/ipfilter/apply.cgi, 214 bytes, 1 blocs de bande x webmin-1.200/ipfilter/unapply.cgi, 241 bytes, 1 blocs de bande x webmin-1.200/ipfilter/setup.cgi, 5635 bytes, 12 blocs de bande x webmin-1.200/ipfilter/CHANGELOG, 211 bytes, 1 blocs de bande x webmin-1.200/ipfilter/log_parser.pl, 580 bytes, 2 blocs de bande x webmin-1.200/ipfilter/install_check.pl, 381 bytes, 1 blocs de bande x webmin-1.200/ipfilter/backup_config.pl, 604 bytes, 2 blocs de bande x webmin-1.200/ipfilter/config-solaris-10-*, 132 bytes, 1 blocs de bande # ls l drwxr-xr-x 108 3001 staff 4096 avr 11 2005 webmin-1.200 -rwxr--r-- 1 root other 32266240 avr 28 2005 webmin-1.200.tar
Nous avons dcompress les sources de cette applications, maintenant passons l'installation de celle-ci.
123
124
- Whether to start webmin at boot time. Web server port (default 10000): Login name (default admin): Login password: Password again: The Perl SSLeay library is not installed. SSL not available. Start Webmin at boot time (y/n): y **************************************************************** Creating web server config files.. ./setup.sh: openssl: introuvable ..done Creating access control file.. ..done Inserting path to perl into scripts.. ..done Creating start and stop scripts.. ..done Copying config files.. ..done Configuring Webmin to start at boot time.. Created init script /etc/init.d/webmin ..done Creating uninstall script /etc/webmin/uninstall.sh .. ..done Changing ownership and permissions .. ..done Running postinstall scripts .. ..done Attempting to start Webmin mini web server.. Starting Webmin server in /Source/webmin-1.200 ..done **************************************************************** Webmin has been installed and started successfully. Use your web browser to go to http://solaris:10000/ and login with the name and password you entered previously.
Nous pouvons maintenant utiliser n'importe quel navigateur pour valider l'adresse indique : http://solaris:10000/, nous obtenons donc ceci :
125
Il ne nous reste plus qu'a rentr le login : admin, et le mot de passe, et nous accder directement l'application : webmin qui est un logiciel permettant d'administrer le serveur depuis un navigateur.
126
Chapitre 9: La gestion du Systme et des priphriques 1. Informations sur le systme et les priphriques
Il existe des commandes qui permettent d'obtenir des informations utiles sur le Systme d'Exploitation. A dfaut d'tre fondamentales pour l'administration, elles participent souvent la connaissance globale du systme que l'on administre.
1. La commande : uname
La commande : uname permet d'obtenir des informations sur le Systme d'Exploitation (tel que le nom, la version, la type de processeur, etc.) Syntaxe :
Options -a -i -m -n -p -r -s -v -X -S nom
Exemple :
# uname -a SunOS solaris 5.9 Generic_118558-11 sun4u sparc SUNW,Ultra-5_10 # uname -i SUNW,Ultra-5_10 # uname -m sun4u # uname -n solaris # uname -p sparc # uname -r 5.9 # uname -s SunOS # uname -v
127
Generic_118558-11
2. La commande : what
La commande : what permet d'extraire les informations SCCS (Source Core Control System) d'un fichier. Des informations telle que la date de production, la version de la commande, etc. Syntaxe :
Options -s
Exemple :
# /usr/ccs/bin/what /usr/bin/ksh /usr/bin/ksh: Version M-11/16/88i SunOS 5.9 Generic 112964-13 Apr 2005 # /usr/ccs/bin/what /usr/bin/bash /usr/bin/bash: Bash version 2.05.0(1) release GNU SunOS 5.9 Generic May 2002 # /usr/ccs/bin/what /kernel/genunix /kernel/genunix: SunOS 5.9 Generic 118558-11 Jul 2005 # /usr/ccs/bin/what /kernel/drv/scsi_vhci /kernel/drv/scsi_vhci: SunOS 5.9 Generic May 2002 # /usr/ccs/bin/what /kernel/drv/screen /kernel/drv/screen: screen_driver.c 3.43 03/09/12 types.h 1.51 97/05/06 feature_tests.h 1.13 97/06/26 isa_defs.h 1.11 97/03/21 machtypes.h 1.11 96/04/29 int_types.h 1.4 96/09/25 select.h 1.11 96/06/20 errno.h 1.16 95/07/04 debug.h 1.18 96/02/07 stropts.h 1.32 97/03/03 conf.h 1.53 97/05/09 t_lock.h 1.43 97/04/04 machlock.h 1.15 97/04/04 sleepq.h 1.19 97/04/04 turnstile.h 1.30 97/04/23 param.h 1.48 97/06/26 pirec.h 1.12 97/03/14 ......... poll.h 1.24 97/04/18 strmdep.h 1.8 92/07/14 model.h 1.1 96/09/24 byteorder.h 1.11 96/09/08 screen_ioctl.h 3.16 01/08/15
Sun Microsystems SMI SMI SMI SMI SMI SMI SMI SMI SMI SMI SMI SMI SMI SMI SMI SMI SMI SMI SMI SMI Sun Microsystems
128
screen_stats.h screen_ts.h
3.3 1.7
02/08/14 01/03/12
3. La commande : dmesg
La commande : dmesg affiche toutes les informations prsentes sur la console lors du dmarrage du Systme. Ces informations sont prsentes dans le fichier : /var/adm/messages. Ce fichier est automatiquement mis jour chaque dmarrage. Syntaxe : Exemple :
# dmesg dimanche, 23 juillet 2006, 01:05:32 CEST Jul 22 01:42:00 solaris hme: [ID 517527 kern.info] SUNW,hme1 : Local Ethernet address = 8:0:20:c5:c1:1e Jul 22 01:42:00 solaris pci_pci: [ID 370704 kern.info] PCI-device : SUNW,hme@0,1, hme1 Jul 22 01:42:00 solaris genunix: [ID 936769 kern.info] hme1 is /pci@1f,0/pci@1/pci@2/SUNW,hme@0,1 Jul 22 01:42:03 solaris genunix: [ID 454863 kern.info] dump on /dev/dsk/c0t0d0s1 size 512 MB Jul 22 01:42:03 solaris hme: [ID 517527 kern.info] SUNW,hme0 : Internal Transceiver Selected. Jul 22 01:42:03 solaris hme: [ID 517527 kern.info] SUNW,hme0 : 100 Mbps Full-Duplex Link Up Jul 22 01:42:06 solaris pseudo: [ID 129642 kern.info] pseudo-device: devinfo0 Jul 22 01:42:06 solaris genunix: [ID 936769 kern.info] devinfo0 is /pseudo/devinfo@0 Jul 22 01:42:15 solaris root: [ID 702911 daemon.error] CAPTURE_UPTIME ERROR: /var/opt/SUNWsrsrp missing Jul 22 01:42:16 solaris genunix: [ID 454863 kern.info] dump on /usr/swapfile size 500 MB Jul 22 01:42:17 solaris pseudo: [ID 129642 kern.info] pseudo-device: tod0 Jul 22 01:42:17 solaris genunix: [ID 936769 kern.info] tod0 is /pseudo/tod@0 Jul 22 01:42:17 solaris pseudo: [ID 129642 kern.info] pseudo-device: pm0 Jul 22 01:42:17 solaris genunix: [ID 936769 kern.info] pm0 is /pseudo/pm@0 Jul 22 01:42:17 solaris sendmail[303]: [ID 702911 mail.crit] My unqualified host name (solaris) unknown; sleeping for retry Jul 22 01:42:17 solaris sendmail[304]: [ID 702911 mail.crit] My unqualified host name (solaris) unknown; sleeping for retry Jul 22 01:42:23 solaris pseudo: [ID 129642 kern.info] pseudo-device: vol0 Jul 22 01:42:23 solaris genunix: [ID 936769 kern.info] vol0 is /pseudo/vol@0 Jul 22 01:42:23 solaris pci_pci: [ID 370704 kern.info] PCI-device: SUNW,isptwo@4, isp0 Jul 22 01:42:23 solaris genunix: [ID 936769 kern.info] isp0 is /pci@1f,0/pci@1/pci@2/SUNW,isptwo@4 Jul 22 01:42:23 solaris scsi: [ID 365881 kern.info] /pci@1f,0/pci@1/pci@2/SUNW,isptwo@4 (isp0): Jul 22 01:42:23 solaris Firmware Version: v4.66, Customer: 0, Product: 4 Jul 22 01:42:24 solaris scsi: [ID 193665 kern.info] sd15 at uata0: target 2 lun 0 Jul 22 01:42:24 solaris genunix: [ID 936769 kern.info] sd15 is /pci@1f,0/pci@1,1/ide@3/sd@2,0
/usr/bin/dmesg /usr/sbin/dmesg
129
Jul 22 01:42:25 solaris ebus: [ID 521012 kern.info] se0 at ebus0: offset 14,400000
4. Le fichier : /etc/syslog.conf
Le dmon : syslogd rcupre les messages d'erreurs venant du Noyau ou de dmons de certains services (sous-systmes). Ceux-ci vont tre redirig selon les directives du fichier : /etc/syslog.conf (selon le sous-systme et son degr de svrit), afin de laisser une trace dans un log, d'avertir l'administrateur, etc. Exemple :
# more /etc/syslog.conf #ident "@(#)syslog.conf 1.5 98/12/14 SMI" /* SunOS 5.0 */ # # Copyright (c) 1991-1998 by Sun Microsystems, Inc. # All rights reserved. # # syslog configuration file. # # This file is processed by m4 so be careful to quote (`') names # that match m4 reserved words. Also, within ifdef's, arguments # containing commas must be quoted. # *.err;kern.notice;auth.notice /dev/sysmsg *.err;kern.debug;daemon.notice;mail.crit /var/adm/messages *.alert;kern.err;daemon.err *.alert *.emerg operator root *
# if a non-loghost machine chooses to have authentication messages # sent to the loghost machine, un-comment out the following line: #auth.notice ifdef(`LOGHOST', /var/log/authlog, @loghost) mail.debug ifdef(`LOGHOST', /var/log/syslog, @loghost) # # non-loghost machines will use the following lines to cause "user" # log messages to be logged locally. # ifdef(`LOGHOST', , user.err /dev/sysmsg user.err /var/adm/messages user.alert `root, operator' user.emerg * )
a. Structure du fichier
Chaque ligne correspond une re-direction dtermine (action). Par contre, vous pouvez avoir plusieurs sous-systmes correspondant cette action (sparateur ;). Le degr de svrit accompagne chaque sous-systme (par l'intermdiaire d'un point). Le regroupement d'un sous-systme avec un niveau de svrit se nomme : priorit.
130
Sous-systme.niveau (priorit)
action
b. Fonctionnement du fichier
Nous allons tudier deux lignes de ce fichier pour mieux comprendre le fonctionnement de ce fichier.
*.err;kern.debug;daemon.notice;mail.crit /var/adm/messages
Tous les messages venant de ces priorits seront redirigs vers le fichier : /var/adm/messages.
*.alert root
131
Avertissement Evnement normal mais qui mrite d'tre signal Pour information seulement Message envoy pour la mise au point Ignorer les messages
Nous remarquons que le fichier n'a pas de taille, seulement deux valeurs la place de la taille du fichier. Ces deux valeurs correspondent aux Major et minor. Le Major indique le type de pilote (pour le priphrique) et le minor correspond aux caractristiques que le Systme devra charger pour utiliser ce priphrique. Cest par lintermdiaire de ces codes que le Noyau est capable de retrouver le gestionnaire de priphrique utiliser.
132
12
15:56 /devices/pseudo/pts@0:4
3. Les disques
Comme nous l'avons remarqu plus haut, nous avons deux rpertoires pour ce qui concernent les disques durs.
Rpertoires /dev/dsk dev/rdsk Description Accs aux disques en mode : - bloc Accs aux disques en mode : - bloc - brut (par blocs de 512 octets, moins pratique, mais plus rapide)
1. Contrleur direct
Pour ce contrleur, le ou les disques sont directement connects sur la carte mre, nous pouvons prendre l'exemple des disques de type IDE.
a. Architecture SPARC
Syntaxe :
Indices x y z
/dev/[r]dsk/cxdysz
Description Numro logique du contrleur Numro du disque Numro de la partition Solaris (0 7)
Exemple :
# ls l /dev/dsk/c0t0d0s7
133
lrwxrwxrwx 1 root root 46 juil 6 23:20 /dev/dsk/c0t0d0s7 -> ../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:h # ls l /dev/rdsk/c0t0d0s7 lrwxrwxrwx 1 root root 50 juil 6 23:20 /dev/rdsk/c0t0d0s7 -> ../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:h,raw
b. Architecture x86
Nous devons vous prvenir qu'il existe deux syntaxes diffrentes pour cette architecture : Pour les partitions principales (de 1 4) Pour les partitions contenues dans la partition Solaris (voir cration d'une partition Solaris) /dev/[r]dsk/cwdxpz
Premire syntaxe :
Indices w x z
Description Numro logique du contrleur Numro du disque Numro de la partition PC (commande : fdisk) (1 4), la partition 0 reprsente l'ensemble de tout le disque
Exemple :
# ls /dev/dsk/c?d?p? c0d0p0 c0d0p1 c0d0p2 c0d0p3 c0d0p4 # ls /dev/dsk/c?d?s? c0d0s0 c0d0s1 c0d0s2 c0d0s3 c0d0s4 c0d0s5 c0d0s6 c0d0s7 c0d0s8 c0d0s9
2. Contrleur indirect
134
Nous pouvons aussi parler de contrleur orient bus, car ce type de contrleur utilise des systmes indpendants pour accder aux disques, nous pouvons prendre l'exemple des disques de type SCSI.
a. Architecture SPARC
Syntaxe :
Indices w x y z
/dev/[r]dsk/cwtxdysz
Description Numro logique du contrleur Numro de l'unit logique SCSI Numro du disque Numro de la partition Solaris (0 7)
Exemple :
# ls /dev/dsk/c?t?d?s? c1t0d0s0 c1t0d0s1 c1t0d0s2 c1t0d0s3 c1t0d0s4 c1t0d0s5 c1t0d0s6 c1t0d0s7 c1t0d0s8 c1t0d0s9
b. Architecture x86
Nous avons aussi pour cette architecte deux syntaxes diffrentes (voir l'architecture x86 pour les contrleurs directs). Premire syntaxe :
Indices w x y t
/dev/[r]dsk/cwtxdypt
Description Numro logique du contrleur Numro de l'unit logique SCSI Numro du disque Numro de la partition PC (commande : fdisk) (1 4), la partition 0 reprsente l'ensemble de tout le disque
Exemple :
# ls /dev/dsk/c?t?d?p?
135
c1t0d0p0 c1t0d0p1 c1t0d0p2 c1t0d0p3 c1t0d0p4 # ls /dev/dsk/c?t?d?s? c1t0d0s0 c1t0d0s1 c1t0d0s2 c1t0d0s3 c1t0d0s4 c1t0d0s5 c1t0d0s6 c1t0d0s7 c1t0d0s8 c1t0d0s9
136
index
/etc/group ...........................................11, 12 /etc/inittab ................................................78 /etc/mntab ................................................50 /etc/motd .................................................33 /etc/printers.conf ......................................94 /etc/skel .............................................31, 32 /etc/syslog.conf ......................................130 /etc/user_attr ............................................32 /etc/vfstab ........................47, 48, 49, 58, 64 /usr/include/limits.h ...............................31 accept .......................................................95 acctadm..................................................105 cancel .......................................................97 chgrp ........................................................40 chown ......................................................40 cron.allow ..............................................109 cron.deny ...............................................109 crontab ...........................................106, 109 df 65, 66, 67 df -k ........................................................50 disable......................................................95 dmesg ....................................................129 edquota ....................................................70 enable ......................................................95 export .......................................................24 format ......................................................51 fuser .........................................................68 grpck ........................................................14 halt ...........................................................88 init ...........................................................78 last ......................................................... 102 lastcomm ............................................... 104 lpadmin ................................................... 93 lpmove ...................... 98, 99, 111, 112, 113 lpsched .................................................... 93 lpshut....................................................... 92 lpstat ................ 96, 113, 115, 120, 121, 122 mkfile ...................................................... 61 modunload ............................................ 122 more .......................... 15, 16, 17, 19, 20, 21 mount ...................................................... 46 mountall .................................................. 49 newfs ....................................................... 56 passwd..................................................... 18 poweroff .................................................. 87 pwck ........................................................ 13 quota ....................................................... 71 quotacheck .............................................. 72 quotaon ................................................... 71 reboot ...................................................... 88 reject ....................................................... 95 repquota .................................................. 71 shutdown ................................................. 88 swap ........................................................ 60 umount .................................................... 49 uname .................................................... 127 utmpx .................................................. 101 what....................................................... 128 who ........................................................ 81 wtmpx ................................................. 101
137