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
Operating System · Institut Supérieur des Études Technologiques · PDF · 71 pages · 2004
Afficher l'aperçu du document
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/kshLes 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 |
|---|---|
| EDITOR | Chemin d’accès de l’éditeur de texte |
| HOME | Chemin d’accès du répertoire personnel |
| LOGNAME | Identifiant de l’utilisateur |
| Chemin d’accès au programme de courrier électronique | |
| PATH | Liste des répertoires pour chercher les programmes |
| SHELL | Chemin d’accès du shell utilisé |
| TERM | Type de terminal utilisé |
| USER | Identifiant 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/passwdet/etc/group. - Ne pas utiliser la commande
logoutpour fermer proprement la session. - Ne pas vérifier que le compte utilisateur est créé avant la connexion.
Commentaires
Aucun commentaire pour le moment. Posez la première question.