Formations courtes >> Réseaux >> Unix
Présentation
Unix est un système d’exploitation portable multitâche, multi utilisateur et multiprocesseur. Il a donné naissance à une famille de systèmes, dont les plus populaires en 2005 sont GNU/Linux, *BSD et Mac OS X. Les UNIX sont aujourd'hui tous conformes à la norme POSIX.
Il existe de nombreuses version d’Unix, mais les bases de l’apprentissage d’un tel système reste les mêmes.
Voici quelques versions très utilisées : grands constructeurs de stations de travail et de serveurs développant des dérivés d'UNIX subsistent aujourd'hui (2005) :
* IBM : système AIX ;
* Sun : Solaris pour le processeur SPARC, mais a été porté pour l'architecture x86 d'Intel ;
* HP-Compaq : HP-UX ;
* SGI : IRIX
MODELE |
EDITEUR |
VERSION |
SERVEUR |
|
Unix AX
|
IBM/BULL | AIX V4.3.3 et AIX 5L V5.1 | RS/6000 et POWERserver Model 730 |
|
UNIX HP-UX
|
HELWET PACARD | HP-UX 11i | serveurs proliants, Itanium |
|
UNIX SOLARIS
|
SUN | SOLARIS 8/9 | station sparc, platform x86 |
|
UNIX LIBRE
|
MANDRAKE, DEVIAN, RED HAT SUSE, SLACKWARE... | ... | existe sur la plupart des plate-formes, de l'AlphaServer 64 bits aux ordinateurs de poche |
|
FREESBD, OPENSBD, NETSBD
|
Système d'exploitation libre de type Unix | FreeBSD/alpha Project FreeBSD/ia64 ... | existe sur la plupart des plates-formes |
Les programmes de formations longues
Unix utilisateur |
Unix shell |
Unix perfectionnement |
| descriptif détaillé, nous consulter | descriptif détaillé, nous consulter | descriptif détaillé, nous consulter |
| Unix administration serveur | Unix sécurité | |
| descriptif détaillé, nous consulter |
Aspects techniques :
- Le noyau d'UNIX repose sur quatre concepts élémentaires :
- les fichiers, les processus,
- les IPC (communications inter-processus)
- les droits d'accès :
Fichiers
Le fichier est l'unité élémentaire de gestion de ressources sous UNIX. Un fichier sous UNIX n'est pas typé, ce qui veut dire que le système ne connaît pas le format des données qu'il contient, et peut représenter différentes ressources telles qu'une suite de caractères stockée sur un support physique, un périphérique (disque dur, imprimante, dérouleur à bandes, mémoire, interface réseau etc.), ou même des paramètres dynamiquement reconfigurables du noyau. Un fichier est un objet référencé dans un système de fichiers. Cette référence contient toutes les informations nécessaires au traitement de ce fichier : propriétaire, groupe (chaque fichier étant détenu par un propriétaire faisant partie d'un ou plusieurs groupes, le propriétaire et chaque groupe possèdent des droits particuliers), droits d'accès des différentes catégories d'utilisateurs, taille, date de dernière modification, date du dernier accès, références des blocs de données sur le disque s'il représente une suite de caractères.
Processus
Le processus est l'unité élémentaire de gestion des traitements sous UNIX. Il s'agit d'une abstraction comprenant un espace d'adressage et supportant un ou plusieurs flots d'exécution de programme, les threads, chacun possédant une pile et son propre contexte d'exécution. UNIX étant un système multitâche, il permet de partager les ressources de calcul entre les threads. D'autre part il est préemptif, ce qui implique que ce partage est effectué de manière transparente pour les threads. Ce partage transparent est réalisé grâce à un ordonnanceur adapté à l'usage auquel est destiné le système. Dans un système à temps partagé, l'ordonnanceur tente de répartir les ressources de calcul de manière équitable entre les threads tout en privilégiant le temps de réponse des entrées/sorties. Dans un système temps-réel, les threads sont ordonnancés selon des contraintes temporelles qui doivent être garanties strictement (temps-réel dur) ou bien avec un certain taux d'échec (temps-réel souple).
Communications inter-processus (IPC)
Les communications inter-processus servent à arbitrer l'utilisation de ressources partagées entre différents processus ou threads par le biais d'objets de synchronisation tels que les sémaphores ou les mutex, à permettre le contrôle d'un processus par un autre ou bien par le noyau par le biais de signaux, et enfin à permettre à deux processus d'établir une communication : localement par le biais de pipes, de segments de mémoire partagée ou de files de messages, et de manière transparente (localement ou sur un réseau) par le biais de sockets.
Contrôle d'accès aux ressources
* Au niveau logiciel, la politique de sécurité du système UNIX est fondée sur le principe que chaque ressource admet un identificateur, un propriétaire et un ensemble de droits d'accès (en lecture, en écriture, en exécution) répartis en trois groupes : 1) les droits du propriétaire; 2) les droits du groupe auquel appartient le propriétaire; 3) les droits des autres utilisateurs. La plupart des systèmes UNIX actuels proposent un modèle plus fin, celui des listes de contrôle d'accès (ACL - Access Control List). Un utilisateur spécial appelé root possède tous les droits sur toutes les ressources. Il est en général utilisé uniquement pour des tâches d'administration. Par souci d'une meilleure sécurité, certains systèmes UNIX permettent de mieux nuancer l'acquisition de droits supplémentaires par les utilisateurs. Ainsi Linux propose-t-il les « capacités » (capabilities) et Mac OS X permet d'installer des applications et d'intervenir sur la configuration du système au moyen d'un compte administrateur distinct de root (qui est d'ailleurs désactivé par défaut), en ce qu'il ne peut modifier les fichiers fondamentaux du système.
* Au niveau matériel, le contrôle d'accès aux ressources se base d'une part sur des mécanismes inhérents aux principes de fonctionnement de la mémoire virtuelle, et d'autre part sur un modèle de protection à 2 niveaux : le mode superviseur (le plus privilégié, réservé au fonctionnement du noyau) et le mode utilisateur (le moins privilégié). Ce type de contrôle d'accès est possible sur la plupart des processeurs modernes supportant un UNIX. Il est à noter que certains processeurs fournissent des possibilités de protection plus étendues. Ainsi les processeurs de la famille Intel ix86 comportent 4 niveaux (ou anneaux) de protection. Des systèmes d'exploitation (peu nombreux à l'heure actuelle), tels que OS/2, exploitent cette possibilité.
Programme
Objectif :
- Exploitation et maintenance des systèmes, Installation et configuration de serveurs et de postes de travail.
Pré-requis :
- Avoir des connaissances en tant qu’administrateur de plateformes Unix ( Aix, Solaris, Hp-Ux, Linux ) et administrateur TCP/IP (routage, DNS, DHCP, SNMP, NFS, NIS, Messagerie, Web ...)
Lieu :
- Suivant l’OS dans nos locaux ou sur site. Toulouse et Région Parisienne en Intra-entreprise
Environnement de cours :
- Les cours peuvent être adaptés aux plates-formes Linux & Unix des participants (Debian, Suse, Redhat ou Aix, Sco, Solaris, Hp-Ux, ...).
Filières :
- Unix utilisateur
- Unix Shell
- Unix administration
- Unix administration server
- Unix sécurité
• Architecture d’UNIX : historique, caractéristiques et concepts de base
• Fichiers, répertoires et permissions : structure, chemins, création,
déplacement, suppression, liens, archivage, propriétés et droits d’accès
• Processus : liste, contrôle, avant-plan et arrière-plan
• Interpréteur de commandes : méta caractères, redirection d’entrées-sorties, historique de commandes et substitutions
• Éditeur de texte : vi
• Transferts de fichiers et sessions à distance
• Outils disponibles pour le poste de travail
• Introduction au Shell : principales fonctions, différents Shells sous UNIX et variables du Shell
• Caractères spéciaux et méta caractères
• Entrées-sorties : redirections et pipelines
• Filtres et expressions régulières (head, tail, cut, paste, sort, grep, xargs, etc.)
• Concepts de la programmation Shell
• Variables, quoting, substitutions et opérations arithmétiques
• Interaction avec l’utilisateur et passage de paramètres
• Boucles et tests conditionnels (test, if, case, for, while, until, break et continue)
• Filtre évolué avec sed
• Encore plus avec la programmation awk
• Exercises pratiques et réalisation d’un projet