3. Les processus

On désigne par le terme de processus une instance de programme en cours d'exécution et son environnement. Nous ne mentionnerons que les différences les plus importantes entre GNU/Linux et Windows® (référez-vous à Chapitre 6, Contrôle des processus).

La différence la plus importante est liée au concept d'utilisateurs : chaque processus s'exécute avec les droits de l'utilisateur qui l'a lancé. En interne, le système identifie les processus de façon unique grâce à un numéro, appelé Process ID ou PID (identifiant de processus). . Avec ce PID, le système sait qui (quel utilisateur) a lancé le processus, ainsi que d'autres informations et il n'a plus qu'à vérifier que le processus demandé est valide. Reprenons l'exemple du fichier un_fichier susmentionné. L'utilisateur pierre sera capable d'ouvrir ce fichier en lecture seule, mais pas en lecture/écriture, puisque les permissions associées au fichier l'interdisent. Encore une fois, l'exception à la règle est root.

En conséquence, GNU/Linux est virtuellement immunisé contre les virus  : pour opérer, les virus doivent infecter des fichiers exécutables du système. Mais avec le seul statut d'utilisateur, vous n'avez pas les droits d'écriture sur les fichiers système, ce qui réduit d'autant plus les risques. Ajoutons que les virus sont, en général, très rares dans le monde UNIX®. Il n'existe que très peu de virus connus sous Linux, et ils sont complètement inoffensifs lorsqu'ils sont lancés par un utilisateur normal. Un seul utilisateur peut vraiment endommager le système en activant ces virus, et, encore une fois, c'est root.

Il est assez intéressant de savoir qu'il existe bien des logiciels antivirus sous GNU/Linux, la plupart d'entre eux étant destinés aux fichiers DOS/Windows®! Pourquoi des programmes antivirus sont-ils exécutés sur GNU/Linux s'ils se concentrent sur DOS/Windows® ? De plus en plus souvent, des serveurs de fichiers GNU/Linux desservent des machines Windows® avec le paquetage logiciel Samba (référez-vous au chapitre Partager des fichiers et des imprimantes du Guide d'administration serveur).

Linux permet également un contrôle aisé des processus, entre autres grâce aux signaux. Avec ceux-ci, vous pouvez, par exemple, suspendre un processus ou le tuer. Envoyez simplement le signal correspondant au processus et c'est fait. Toutefois, vous serez limité à l'envoi de signaux à vos propres processus. Exception faite de root, Linux et les systèmes UNIX® ne permettent pas d'envoyer des signaux aux processus lancés par un autre utilisateur. Dans Chapitre 6, Contrôle des processus, vous apprendrez comment obtenir le PID d'un processus et lui envoyer des signaux.