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.