Chapitre 1. Comment fonctionne votre Debian GNU/Linux

Table des matières
1. Le processus de démarrage de votre ordinateur
2. Se connecter à sa machine
3. Root : le super utilisateur

Tableau 1-1. Evolution de cet article

DateAjout(s) / Modification(s)
17 juillet 2003Version initiale.
6 août 2003Scindé en deux articles.
27 octobre 2003Relecture.
1er mars 2004Relecture.

Cet article a pour objectif de familiariser les personnes au système UNIX/Linux et en particulier à votre Debian GNU/Linux. Cet article va vous expliquer ce qui se passe entre le moment ou votre machine démarre et le moment ou votre Debian GNU/Linux vous donne la main. Vous apprendrez également comment vous connecter à votre machine une fois l'installation terminée.

La rédaction de cet article n'a pas été facile car j'ai du me mettre à la place des personnes qui découvrent pour la première fois ce genre de système. Dans le but d'améliorer cet article je suis très interessé par toutes les remarques dont vous aurez à me faire part.

1. Le processus de démarrage de votre ordinateur

A la mise sous tension de votre ordinateur, il y a dans un premier temps la phase d'initialisation du BIOS de la carte mère : celle-ci fait l'inventaire du matériel de votre machine (bus, ram, disques, cartes ...). Puis le BIOS part à la recherche d'un système d'exploitation sur l'un de vos périphériques.

NoteDéfinition du BIOS
 

Le BIOS ou Basic Input/Output System (traduisez "Système d'entrées/sorties basique") est un composant essentiel de votre ordinateur. C'est un petit logiciel qui permet le contrôle du matériel de votre machine.

Habituellement (si on ne démarre pas sur une disquette), le BIOS charge en mémoire le MBR.

NoteDéfinition du MBR
 

Le Master Boot Record (MBR) est le 1er secteur d'une partition ou d'un disque dur. Il a une taille de 512 octets.

Supposons que le chargeur d'amorçage LILO s'y trouve. Une première partie de LILO est chargée puis exécutée.

NoteDéfinition de LILO
 

Le LInux LOader (LILO) est un chargeur de systèmes d'exploitation spécialement conçu pour démarrer GNU/Linux. C'est grâce à lui que vous pourrez, si le coeur vous en dit, autoriser le MULTI BOOT (le démarrage potentiel de plusieurs systèmes d'exploitation sur votre PC), mettre un mot de passe, démarrer automatiquement après un certain temps, etc...

Sa tâche consiste dans un premier temps à charger en mémoire la 2ème partie de LILO (environ 5 Ko). Lors de cette phase, il y a affichage des lettres LI. S'il y a arrêt à cette étape, c'est que LILO n'arrive pas à s'exécuter. Cette 2ème partie va permettre à l'utilisateur de choisir le système à lancer.

Ensuite le noyau du système choisi est décompressé << à la volée  >> et est chargé en mémoire. Sur votre Debian GNU/Linux Ceci est accompagné de l'affichage du message :

Uncompressing Linux ...done. Now booting the kernel .....

Dès lors c'est le noyau qui prend les affaires en main. Il va inspecter l'environnement matériel de votre machine, réserver de la mémoire, prendre en compte la zone d'échange (swap), détecter le matériel et charger en conséquence les pilotes des périphériques nécessaires au bon fonctionnement de votre machine. Au final, le noyau va lancer le 1er processus qui va vous permettre d'avoir la main sur votre machine. Ce processus particulier est le processus INIT.

NoteQu'est-ce qu'un noyau ?
 

Le noyau (ou kernel) représente le coeur de votre système. C'est le logiciel de base qui permet de démarrer l'ordinateur, de gérer les périphériques, directement ou par l'intermédiaire de modules, de gérer les tâches et de leur partager le temps machine afin de réaliser ce qu'on appelle un fonctionnement multitâche, où plusieurs applications s'exécutent simultanément. Le noyau comprend toute la couche réseau de GNU/Linux. Le noyau sait gérer de nombreux systèmes de fichiers, comprend de nombreux drivers, et bien d'autres choses encore. Le noyau est disponible sous forme de source, et on peut le compiler après l'avoir configuré pour répondre à ses besoins.

2. Se connecter à sa machine

Lorsque le système a fini de s'initialiser il vous donne la main avec l'invite :

Debian GNU/Linux 3.0 LINDEBIAN-SERVEUR tty1

LINDEBIAN-SERVEUR login:

A cette invite, vous devez vous identifier sur votre machine. Et oui c'est comme ca que GNU/Linux fonctionne. Que l'on soit ou pas sur un réseau, chaque utilisateur doit montrer patte blanche pour pouvoir utiliser le système.

Chaque utilisateur a des privilèges particuliers. On peut en effet configurer sa machine pour qu'un utilisateur ne puisse qu'écouter de la musique, pour qu'un autre puisse seulement imprimer ou se connecter de l'extérieur à votre machine, etc...

3. Root : le super utilisateur

Les utilisateurs ordinaires ont généralement des privilèges tels qu'ils ne peuvent rien faire qui puisse gêner les autres utilisateurs ou la bonne marche du système. Les droits d'accès aux fichiers sont positionnés de telle façon que l'utilisateur normal ne puisse ni effacer, ni modifier des fichiers dans les répertoires partagés par tous (comme /bin et /usr/bin). Beaucoup protègent également leurs propres fichiers en leur donnant des permissions telles que les autres personnes utilisant le système ne puissent y accéder.

Il existe un utilisateur qui a le contrôle sur l'ensemble de la machine. C'est l'utilisateur root. On l'appele également le super-utilisateur. Cet utilisateur n'a pas de restrictions sur la machine. L'utilisateur root peut lire, modifier, supprimer n'importe quel fichier du système, changer les permissions et les propriétaires, exécuter certains programmes, comme ceux destinés à partitionner les disques durs ou créer des systèmes de fichiers. Le principe est simple: la personne (ou les personnes responsables) de la gestion de l'ordinateur utilise le compte root chaque fois qu'il est nécessaire d'effectuer une opération normalement interdite aux utilisateurs normaux. Elle est la seule à en posséder le mot de passe, et utilise ce privilège parcimonieusement: root ayant tous les droits, il lui est très facile de faire des erreurs pouvant avoir des conséquences catastrophiques.

Par exemple, en tant qu'utilisateur normal, si par inadvertance vous tentiez d'effacer tous les fichiers présents dans /etc, le système vous l'interdirait. Si c'est l'utilisateur root qui fait la même manipulation, il en aura le droit et les fichiers seront irrémédiablement perdus, rendant la machine quasiment inutilisable. Il est très facile de détériorer le système sous le compte root.