UNIX LINUX

Ce laboratoire propose une introduction pratique au système d’exploitation Unix/Linux. Il permet de découvrir son histoire, ses fonctionnalités principales, son architecture, ainsi que la gestion des utilisateurs et la prise en main de l’interface en ligne de commande (shell).

D'après le document UNIX LINUX

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source

UNIX LINUX

Operating System · Institut Supérieur des Études Technologiques · PDF · 71 pages · 2004

Afficher l'aperçu du document

Consulter le document original →

Ce laboratoire propose une introduction pratique au système d’exploitation Unix/Linux. Il permet de découvrir son histoire, ses fonctionnalités principales, son architecture, ainsi que la gestion des utilisateurs et la prise en main de l’interface en ligne de commande (shell). Pour réaliser ce TP, il est nécessaire d’avoir accès à une machine Unix/Linux et de disposer des droits d’utilisateur avec un compte valide.

Objectifs

  • Comprendre les origines et l’évolution du système Unix.
  • Identifier les fonctions principales d’Unix et ses caractéristiques générales.
  • Connaître l’architecture du système Unix, notamment le rôle du noyau et du shell.
  • Se connecter à un système Unix, gérer son mot de passe et fermer une session.
  • Utiliser l’interface de commande shell et comprendre sa structure.
  • Connaître l’environnement utilisateur et les fichiers d’initialisation.
  • Comprendre la gestion des utilisateurs et des groupes sous Unix.

Prérequis et installation

  • Connaissances de base en systèmes d’exploitation et architecture des ordinateurs.
  • Accès à un système Unix ou Linux fonctionnel avec un compte utilisateur.
  • Terminal ou interface graphique permettant d’exécuter des commandes shell.

Présentation d’Unix : historique et fonctions principales

Commencez par étudier l’historique d’Unix pour comprendre son évolution :

  • 1969 : création par Ken Thompson aux Bell Labs sur PDP-7.
  • 1973 : réécriture en langage C par Dennis Ritchie, facilitant le portage.
  • 1977 : apparition de deux grandes familles, AT&T (System V) et Berkeley (BSD).
  • 1994 : apparition de Linux, version gratuite pour PC Intel 486.

Ensuite, identifiez les fonctions principales d’Unix :

  • Partage équitable des ressources entre processus (multitâche).
  • Système multitâche et multi-utilisateur.
  • Interface avec le matériel via fichiers spéciaux.
  • Gestion de la mémoire partagée entre processus.
  • Gestion des fichiers avec protection et droits d’accès.

Un résultat correct est la compréhension claire de ces points et la capacité à expliquer pourquoi Unix est multitâche et multi-utilisateur.

Caractéristiques générales et architecture du système Unix

Analysez les caractéristiques générales d’Unix :

  • Noyau écrit majoritairement en C, favorisant la portabilité.
  • Standard de facto des systèmes ouverts avec interfaces publiques.
  • Multi-tâches, multi-utilisateurs, compatible avec de nombreuses plateformes.
  • Philosophie « tout est fichier » pour périphériques et fichiers.
  • Interface utilisateur simple via shell, extensible et modifiable.

Étudiez ensuite l’architecture du système :

  • Le noyau gère les ressources matérielles et logicielles (processus, fichiers).
  • Les processus accèdent au matériel uniquement via le noyau, par appels système.
  • Le shell est l’interpréteur de commandes entre utilisateur et noyau.
  • Différents shells existent : Bourne shell (sh), Korn shell (ksh), C shell (csh), bash, tcsh.

Un résultat correct est la capacité à décrire la structure en couches d’Unix et le rôle du shell.

Connexion d’un utilisateur au système Unix

Pour vous connecter :

  • Assurez-vous que votre compte utilisateur est créé par l’administrateur (root).
  • Au démarrage, saisissez votre login puis votre mot de passe.
  • Vous pouvez obtenir un prompt shell (exemple sous Linux : [login@localhost login]$) ou un environnement graphique.

Pour changer votre mot de passe, utilisez la commande :

passwd

Notez que le mot de passe ne s’affiche pas à l’écran et doit être saisi deux fois.

Pour fermer la session, tapez :

logout

Dans un environnement graphique, utilisez la commande Exit ou Logout.

Un résultat correct est la connexion réussie, la modification du mot de passe et la déconnexion sans erreur.

Utilisation de l’interface de commande Shell

Le shell est un programme interprétant les commandes de l’utilisateur. Il peut :

  • Lire les commandes au clavier ou d’une autre source.
  • Exécuter ces commandes.
  • Fournir un flux de sortie.

Les shells les plus courants sont :

  • sh (Bourne shell)
  • ksh (Korn shell)
  • csh (C shell)
  • tcsh (évolution de csh)
  • bash (Bourne Again Shell, très utilisé sous Linux)

Pour changer de shell, utilisez la commande :

chsh identifiant chemin_du_shell

Exemple :

chsh farhat /bin/ksh

Les commandes shell ont généralement la forme :

nom_de_la_commande [option(s)] [argument(s)]

Exemples de commandes :

$ date
Tue Nov 4 13:39:24 EST 1997

$ who am i
farhat tty03 Nov 6 08:26

$ ls -a
. .. .exrc ch1 ch2 intro .profile ch10 ch3 mp3

$ pwd
/users/abdul/

$ cd /home/farhat

Un résultat correct est la maîtrise de ces commandes de base et la compréhension de la syntaxe.

Environnement utilisateur et fichiers d’initialisation

L’environnement est un ensemble de variables et fichiers de configuration qui définissent l’état et les options du système pour un utilisateur.

Variables importantes :

Nom de variable Fonction
EDITORChemin d’accès de l’éditeur de texte
HOMEChemin d’accès du répertoire personnel
LOGNAMEIdentifiant de l’utilisateur
MAILChemin d’accès au programme de courrier électronique
PATHListe des répertoires pour chercher les programmes
SHELLChemin d’accès du shell utilisé
TERMType de terminal utilisé
USERIdentifiant de l’utilisateur logué

Pour afficher la valeur d’une variable, tapez :

echo $NOM_VARIABLE

Pour afficher toutes les variables :

env

Pour modifier temporairement une variable :

export NOM_VARIABLE=valeur

Pour rendre la modification permanente, ajoutez la ligne dans le fichier d’initialisation du shell :

  • .bash_profile : exécuté à chaque connexion (shell de connexion bash).
  • .bashrc : exécuté à chaque nouveau sous-shell bash.
  • .bash_logout : exécuté à la déconnexion.

Un résultat correct est la capacité à afficher, modifier et sauvegarder les variables d’environnement.

Gestion des utilisateurs et groupes sous Unix

Unix distingue deux catégories de personnes :

  • Les utilisateurs ordinaires, qui utilisent le système pour leurs tâches.
  • Les administrateurs systèmes (root), qui gèrent et configurent le système.

Les utilisateurs ont des droits limités, tandis que root a tous les droits.

Les utilisateurs sont regroupés en groupes, facilitant la gestion des droits d’accès aux fichiers.

Les informations sur les utilisateurs sont stockées dans le fichier /etc/passwd :

login:mot_de_passe:UID:GID:HomeDir:shell

Exemple :

root:x:0:0:root:/root:/bin/bash
farhat:x:500:100:Cool......:/home/farhat:/bin/bash

Le fichier /etc/group contient les groupes et leurs membres :

nom_de_groupe:champ_special:gid:membre1,membre2

Un résultat correct est la compréhension du rôle de ces fichiers et la capacité à les consulter.

Résultats attendus

  • Connaissance claire de l’historique et des fonctions principales d’Unix.
  • Compréhension de l’architecture en couches du système et du rôle du noyau et du shell.
  • Capacité à se connecter, changer son mot de passe et fermer une session.
  • Maîtrise des commandes shell de base et compréhension de leur syntaxe.
  • Compréhension de l’environnement utilisateur et modification des variables d’environnement.
  • Connaissance de la gestion des utilisateurs et groupes via les fichiers système.

Erreurs courantes

  • Confusion entre les différents shells et leur syntaxe.
  • Oubli de changer le mot de passe ou saisie incorrecte (pas d’affichage à l’écran).
  • Modification temporaire des variables d’environnement sans sauvegarde dans les fichiers d’initialisation.
  • Confusion entre les fichiers /etc/passwd et /etc/group.
  • Ne pas utiliser la commande logout pour fermer proprement la session.
  • Ne pas vérifier que le compte utilisateur est créé avant la connexion.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions