Red Hat Enterprise Linux 3: Introduction à l'administration système | ||
---|---|---|
Précédent | Chapitre 1. Philosophie de l'administration système | Suivant |
Cette section fournit des informations relatives à la philosophie de l'administration système qui s'appliquent spécifiquement à Red Hat Enterprise Linux.
L' automatisation de tâches fréquemment effectuées sous Red Hat Enterprise Linux demande une connaissance de certains types de technologies différentes. Tout d'abord, il y a les commandes qui contrôlent le moment choisi de l'exécution de la commande ou du script. Les commandes cron et at sont les plus utilisées pour ce genre de tâche.
Pour incorporer un système de spécification temporel facile à comprendre mais en même temps très flexible, la commande cron est très utile car elle permet d'orchestrer l'exécution de commandes ou de scripts à intervalles récurrents, allant de quelques minutes à plusieurs mois. La commande crontab quant à elle, est utilisée pour manipuler les fichiers contrôlant le démon cron qui programme effectivement le moment de l'exécution de chaque tâche cron.
La commande at et la commande batch qui lui est étroitement liée, sont tout à fait appropriées pour programmer l'exécution de scripts et de commandes qui ne se produira qu'une seule fois. Ces commandes implémentent un sous-système de traitement par lots, composé de files d'attente multiples ayant des priorités de programmation variées. On fait référence à ces priorités sous le terme valeur de niceness (en raison du nom de la commande — nice). Les commandes at et batch sont toutes les deux idéales pour des tâches dont le commencement doit absolument s'effectuer à un moment donné, mais dont la fin n'a pas une importance vitale.
Ensuite, il y a les différents langages de script. Ces derniers sont les "langages de programmation" que tout administrateur système moyen utilise afin d'automatiser des opérations manuelles. Il existe certes de nombreux scripts (et chaque administrateur système à tendance à avoir une préférence personnelle en la matière) mais nous nous contenterons d'énumérer ci-dessous seulement ceux qui sont les plus couramment utilisés :
Le shell de commande bash
Le langage de script perl
Le langage de script python
Outre les différences évidentes existant entre ces langages, le point sur lequel ils différent le plus est la manière dont ils interagissent avec d'autres programmes utilitaires sur un système Red Hat Enterprise Linux. Les scripts rédigés avec le shell bash ont tendance à utiliser beaucoup plusles nombreux petits programmes utilitaires (comme par exemple, pour effectuer la manipulation de chaînes de caractères) alors que les scripts perl eux recourent à des fonctionnalités incorporées dans le langage lui-même pour effectuer ces types d'opérations. Le langage python quant à lui peut exploiter totalement les capacités orientées objet du langage permettant par là même d'allonger plus facilement des scripts complexes.
Dans de telles circonstances, il est nécessaire de bien connaître les nombreux programmes utilitaires (tels que grep et sed) qui font partie de Red Hat Enterprise Linux afin de pouvoir vraiment maîtriser la création de scripts shell. L'apprentissage du langage perl (et python), d'autre part, tend à être un processus plus "autonome". Toutefois, de nombreux éléments du langage perl reposent sur la syntaxe de différents programmes utilitaires UNIX traditionnels, et en tant que tel, sont bien connus des administrateurs de systèmes Red Hat Enterprise Linux expérimentés en matière de création de scripts shell.
En matière de documentation et communication, peu de choses sont spécifiques à Red Hat Enterprise Linux. Étant donné que les activités de documentation et communication prennent des formes très diverses allant de l'ajout de commentaires dans un fichier de configuration de type texte à la mise à jour d'une page Web ou à l'envoi d'un email, un administrateur système utilisant Red Hat Enterprise Linux doit avoir accès à des éditeurs de texte, des éditeurs HTML et des clients de messagerie.
Ci-après figure une sélection limitée des nombreux éditeurs de texte disponibles sous Red Hat Enterprise Linux:
L'éditeur de texte gedit
L'éditeur de texte Emacs
L'éditeur de texte Vim
L'éditeur de texte gedit est une application exclusivement graphique (en d'autres termes, elle nécessite un environnement actif du système X Window) alors que vim et Emacs eux sont par nature des applications de type texte.
Des discussions centrées sur le meilleur choix en matière d'éditeurs de texte sont en cours depuis la naissance des ordinateurs et ne s'arrêteront jamais. Dans de telles circonstances, la meilleure approche consiste à expérimenter avec chaque éditeur de texte pour finalement utiliser celui qui correspond le mieux à vos besoins.
Pour ce qui est des éditeurs HTML, les administrateurs système peuvent utiliser la fonction Composer du navigateur Web Mozilla. Bien sûr, certains administrateurs système préfèrent codifier manuellement leur page en HTML, et dans ce cas aussi, un éditeur de texte normal est un outil tout à fait acceptable.
Pour ce qui est des emails, Red Hat Enterprise Linux inclut le client de messagerie graphique Evolution, le client de messagerie Mozilla (qui est lui aussi graphique) et mutt, qui est de type texte. De même que pour le choix d'un éditeur de texte, celui d'un client de messagerie tend à se faire en fonction de préférences personnelles ; il est donc suggéré d'expérimenter avec chacun d'eux afin de choisir celui qui répond le mieux à vos besoins.
Comme nous l'avons mentionné précédemment dans ce chapitre, la sécurité ne peut pas être une mesure rétrospective et sous Red Hat Enterprise Linux, elle est en fait beaucoup plus qu'une considération superficielle. L'authentification et les contrôles de l'accès sont profondément intégrés dans le système d'exploitation et reposent sur différentes conceptions obtenues au cours d'une longue expérience dans la communauté UNIX.
Pour l'authentification, Red Hat Enterprise Linux utilise des modules d'authentification enfichables — aussi appelés PAM (de l'anglais Pluggable Authentication Modules). PAM permet de raffiner l'authentification des utilisateurs grâce à la configuration de bibliothèques partagées qui sont utilisées par toutes les applications prenant en charge PAM et ce, sans devoir apporter aucun changement aux applications elles-mêmes.
Le contrôle de l'accès sous Red Hat Enterprise Linux se fait en fonction des permissions traditionnelles de type UNIX (à savoir lecture, écriture et exécution ou read, write, execute) accordées aux catégories utilisateur, groupe ou "tout autre personne". Tout comme UNIX, Red Hat Enterprise Linux utilise également les bits setuid et setgid pour octroyer temporairement des droits d'accès étendus à des processus tournant sur un programme particulier et ce, en fonction de la propriété du fichier programme. Bien sûr il est essentiel que tout programme devant être exécuté avec des privilèges setuid ou setgid puisse être contrôlé afin de s'assurer qu'il n'existe aucune vulnérabilité exploitable.
Red Hat Enterprise Linux prend également en charge des listes de contrôle d'accès ou ACL (de l'anglais access control lists). Une ACL est un élément permettant d'exercer un contrôle minutieux sur des utilisateurs ou groupes pouvant accéder à un fichier ou répertoire. Par exemple, il se peut que les permissions d'un fichier interdisent tout accès aux personnes autres que le propriétaire du fichier mais qu'en même temps, l'ACL du fichier puisse être configurée de sorte que seul l'utilisateur bob puisse modifier le fichier (ou write) et que le groupe finance puisse le lire.
Un autre aspect important de la sécurité consiste à être capable d'effectuer un suivi de l'activité du système. Red Hat Enterprise Linux utilise énormément la journalisation, aussi bien au niveau du noyau qu'au niveau des applications. Cette activité est contrôlée par le démon de journalisation du système nommé syslogd, qui peut enregistrer des informations sur le système aussi bien localement (normalement dans des fichiers placés dans le répertoire /var/log/) que sur un système distant (qui sert de serveur de log attitré pour de multiples ordinateurs).
Les systèmes de détection d'intrusions (ou IDS, de l'anglais Intrusion Detection Sytems) constituent un outil performant pour tout administrateur de système Red Hat Enterprise Linux. Un IDS permet aux administrateurs système de déterminer si des changements non autorisés ont été effectués sur un ou plusieurs systèmes. La conception globale du système d'exploitation lui-même inclut des fonctionnalités de type IDS.
Étant donné que Red Hat Enterprise Linux est installé à l'aide du gestionnaire de paquetages RPM (RPM), il est possible d'utiliser RPM pourcontrôler si des changements ont été apportés aux paquetages incluant le système d'exploitation. Néanmoins, RPM étant essentiellement un outil de gestion de paquetages, ses capacités en tant qu'IDS sont quelque peu limitées. Ceci étant, il peut néanmoins constituer une bonne étape de départ dans le processus de détection de changements non autorisés effectués sur un système Red Hat Enterprise Linux.
Précédent | Sommaire | Suivant |
S'attendre à l'inattendu | Niveau supérieur | Ressources supplémentaires |