Administration linux

timeline

Linux

"Talk is cheap. Show me the code."

"Microsoft isn't evil, they just make really crappy operating systems."

----------------------- Linus Torvalds ----------------------------------------------

GNU/Linux est le nom parfois donné à un système d'exploitation associant des éléments essentiels du projet GNU et d'un noyau Linux. C'est une terminologie créée par le projet Debian et reprise notamment par Richard Stallman, à l'origine du projet de travail collaboratif GNU, lequel manquait encore d'un noyau de système d'exploitation pour en faire un système d'exploitation complet lors de la création du noyau Linux, en 1991

On appelle distribution Linux une solution prête à être installée par l’utilisateur final comprenant le système d’exploitation GNU, le noyau Linux, des programmes d’installation et d’administration de l’ordinateur, un mécanisme facilitant l’installation et la mise à jour des logiciels comme RPM ou APT ainsi qu’une sélection de logiciels produits par d’autres développeurs.

Système de fichier

Ce qui suit est une liste de considérations importantes en ce qui concerne les répertoires et les partitions.

CLI

Une interface en ligne de commande (en anglais command line interface, couramment abrégé CLI) est une interface homme-machine dans laquelle la communication entre l'utilisateur et l'ordinateur s'effectue en mode texte :

l'utilisateur tape une ligne de commande, c'est-à-dire du texte au clavier pour demander à l'ordinateur d'effectuer une opération ; l'ordinateur affiche du texte correspondant au résultat de l'exécution des commandes tapées ou à des questions qu'un logiciel pose à l'utilisateur. Une interface en ligne de commandes peut servir aussi bien pour lancer l'exécution de divers logiciels au moyen d'un interpréteur de commandes, que pour les dialogues avec l'utilisateur de ces logiciels. C'est l'interaction fondamentale entre un homme et un ordinateur (ou tout autre équipement informatique).

Lorsqu'une interface est prête à recevoir une commande, elle l'indique par une invite de commande. Celle-ci, parfois désignée par l'anglicisme prompt, consiste en quelques caractères, en début de ligne (généralement, le nom de compte de l'utilisateur, et/ou l'unité logique par défaut, et/ou le chemin par défaut, et/ou date…), se terminant par un caractère bien connu (souvent « ] », « # », « $ » ou « > »), invitant l'utilisateur à taper une commande.

Gestion de fichier

Transferts de fichiers

Exemple :

Permissions

Les droits d'accès définissent la possession d'un fichier ou d'un répertoire à un utilisateur et à un groupe d'utilisateurs. Ils gèrent aussi quelles actions les utilisateurs ont le droit d'effectuer sur les fichiers (lecture, écriture et exécution), selon qu'ils sont propriétaire du fichier, membre du groupe propriétaire du fichier ou ni l'un ni l'autre. La possession et la gestion des permissions associées s'effectue individuellement avec chaque fichier.

Les droits d'accès apparaissent comme une liste de 10 symboles : drwxr-xr-x Le premier symbole est soit « - », « d », soit « l », nous indiquant la nature du fichier :

Suivent ensuite 3 groupes de 3 symboles chacun, indiquant si le fichier (ou répertoire) est autorisé en lecture, écriture ou exécution. Les 3 groupes correspondent, dans cet ordre, aux droits du propriétaire, du groupe puis du reste des utilisateurs. Si la permission n'est pas accordée, la lettre en question est remplacé par « - ». Si l'on reprend les lettres données pour lecture/écriture/exécution (read/write/execute), nous obtenons : rwx et pour propriétaire/groupe/autres (user/group/other), nous obtenons : ugo

chown La commande chown (change owner, changer le propriétaire) permet de changer le propriétaire du fichier. chmod L'outil chmod (change mode, changer les permissions) permet de modifier les permissions sur un fichier. Il peut s'employer de deux façons : soit en précisant les permissions de manière octale, à l'aide de chiffres ; soit en ajoutant ou en retirant des permissions à une ou plusieurs catégories d'utilisateurs à l'aide des symboles r w et x, que nous avons présenté plus haut.

Super Utilisateur : root

Le terme root (litt. racine) est sur les systèmes d'exploitation de type Unix le nom conventionnel de l'utilisateur qui possède toutes les permissions sur le système, aussi bien en mode mono qu'en mode multi-utilisateur. Ainsi, un tel utilisateur équivaut à un utilisateur suprême, doté de fonctions supérieures et d'accès privilégiés1.

L'utilisateur root est également connu sous le nom de substitute-user. Généralement, c'est le compte administrateur. L'utilisateur root a la possibilité de faire tout ce qu'un utilisateur normal ne pourrait pas faire, comme changer l'appartenance de tous les fichiers. La séparation entre les droits de l'administrateur et les droits d'un utilisateur normal permet d'avoir un système d'exploitation plus résistant aux virus, ainsi qu'aux autres programmes malveillants. De plus cela donne davantage de tranquillité à l'administrateur, car les utilisateurs ne peuvent quasiment rien casser dans le système, que ce soit par mégarde ou dans l'optique de s'octroyer plus de droits.

De manière générale, l'utilisation du compte root comme compte utilisateur classique comporte des risques et nécessite une grande vigilance, car de simples erreurs de typographie peuvent causer des dégâts irréversibles. Les différents systèmes d'exploitation recommandent de n’effectuer une action en tant qu'utilisateur root que lorsque cela est nécessaire. Pour cela l'action est de passer par l'intermédiaire d'un compte d'utilisateur normal et de passer par la commande su. Pour une utilisation directe, il existe aussi la commande sudo suivie de la ligne de commande à effectuer.

Le mot de passe root constitue donc une véritable clef pour le système, mais aussi une cible pour le piratage de la machine. Les attaques visant à découvrir le mot de passe root sont fréquentes.

Installation de logiciels

Advanced Packaging Tool ou APT est un gestionnaire de paquets utilisé par Debian GNU/Linux et ses dérivés.

APT simplifie l'installation, la mise à jour et la désinstallation de logiciels en automatisant la récupération de paquets à partir de sources APT (sur Internet, le réseau local, des CD-ROM, etc.), la gestion des dépendances et parfois la compilation. Lorsque des paquets sont installés, mis à jour ou enlevés, les programmes de gestion de paquets peuvent afficher les dépendances des paquets, demander à l'administrateur si des paquets recommandés ou suggérés par des paquets nouvellement installés devraient aussi être installés, et résoudre les dépendances automatiquement. Les programmes de gestion de paquets peuvent aussi mettre à jour tous les paquets.

Il existe désormais une commande apt, qui réuni les fonctions de apt-get et apt-cache.

Les dépôts du projet Debian comptent plus d'une dizaine de milliers de paquets disponibles. Pour obtenir d'autres paquets, d'autres dépôts peuvent être ajoutés aux sources de APT (répertoriées dans le fichier /etc/apt/sources.list)

apt-get

apt-cache

apt-cache est une interface permettant d'effectuer quelques manipulations basiques sur les paquets, installés ou non, disponibles dans la liste mise en cache des paquets des dépôts APT configurés.

apt-cache réalise différentes opérations sur le cache de paquet d' APT. apt-cache ne manipule pas l'état du système mais fournit des moyens de recherche dans les métadonnées d'un paquet desquelles il extrait d'intéressantes informations.