IUT de Villetaneuse E. Viennet R&T Module I-C1 Système d exploitation 30/11/05 TP N o 1 - Installation et configuration de base de Linux L objectif de ce TP est d apprendre à installer le système Linux sur PC, et à configurer quelques éléments essentiels (mise en réseau, logiciels, utilisateurs). Nous travaillerons avec la version Linux Red Hat 9, publiée le 31 mars 2003. Nous éviterons volontairement d utiliser les outils de configuration graphiques, simples à utiliser mais souvents spécifiques à une distribution et masquant certains mécanismes importants du système. Dans un cadre personnel, on installe généralement le système d exploitation à partir de CDROM ou DVDROM (s il n est pas déjà installé, ce qui est souvent le cas). Afin d éviter d avoir à recopier de nombreux CD, nous utiliserons une installation via le réseau : le contenu des CDROMs de Linux sera distribué par un serveur, utilisant le protocole standard de partages de fichiers sous UNIX, NFS (Network File System). Chaque PC va démarrer à partir d une disquette, puis aller chercher le programme d installation et les logiciels sur le serveur (voir figure 1). Vous veillerez à bien respecter le plan d adressage IP (demandé par le programme d installation) et à utiliser le réseau IUT (interface eth1) qui est configuré en 100Mbps/Full Duplex. Pour plus d informations, on pourra se référer à la documentation : http://www.redhat.com/docs/manuals/linux Fig. 1 Réseau pour l installation (le serveur NFS sera configuré par l enseignant). N désigne le numéro de prise réseau. EXERCICE 1 - Installation On suivra à peu près les étapes suivantes : 1. Se procurer les deux disquettes d installation (voir votre enseignant). 2. Démarrer votre PC avec la disquette 1. A l invite (boot:), répondre linux askmethod. Attention, le clavier est à ce stade en QWERTY! Ensuite choisir, les paraètres suivants dans les menus : langue french, clavier fr-latin1, méthode d installation Image NFS. Insérer la disquette 2 (qui contient le pilote nécessaire pour activer la carte réseau). 3. Configuration réseau (utilisée pendant l installation seulement, ne pas confondre avec la configuration réseau finale) : Décocher l option utiliser DHCP Adresse IP : 10.0.0.N, N = numero de prise 4. Configuration NFS R&T2 2005-06 - E. Viennet 1
Nom du serveur NFS : 10.0.0.S (S est donné par votre enseignant) ; Répertoire RedHat : demander à votre enseignant (IMAGEDIR ci-dessous). 5. Ensuite, paramètres d installation sécurite : aucun (pas de parefeu) ; pas de configuration réseau ; choix des logiciels : tout dé-sélectionner, sauf X11 (la taille de l installation ne doit pas dépasser 700Mo). créez un compte etudiant en plus du compte root. 6. L installation prend entre 5 et 15 minutes. EXERCICE 2 - Configuration de votre système linux Lors du premier démarrage, l installeur vous demande quelques informations. Connectez vous en tant qu utilisateur etudiant. 1- Configuration du réseau Fichiers à modifier : /etc/hosts /etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/init.d/network start stop status chkconfig ifconfig (sans arguments, pour afficher) ; ping, hostname (pour tester) 1. Attribuer le nom client-n à votre machine ; 2. Attribuer l adresse 10.0.0.N à votre interface eth1, et s assurer que cette interface est bien activée au démarrage. 2- Montage NFS Fichier à modifier : /etc/fstab mount df 1. monter le répertoire contenant les fichiers d installation de Red Hat. 2. s assurer que ce montage sera effectué automatiquement au démarrage. 3. Quel espace disponible sur le répertoire du serveur NFS? Pouvez-vous y écrire un fichier? Pourquoi? 3- Ajout de logiciel, rpm rpm which 1. Afficher la liste des logiciels installés. Combien il y en a-t-il? R&T2 2005-06 - E. Viennet 2
2. Quelle version de Python est-elle installé? Sur quelle machine (host) ce logiciel a-t-il été fabriqué? Par quel distributeur ( vendor )? 3. A quel paquettage appartient la commande zcat? Afficher la liste des fichiers fournis par ce paquettage. Quels autres paquettages sont nécessaires pour pouvoir installer zcat? 4. Installer xemacs et dia (s ils ne le sont pas déjà). 5. désinstaller sendmail. 4- runlevels ls chkconfig init Fichier à modifier : /etc/inittab 1. Donner la liste des services lancés dans le niveau d exécution 3 ; 2. Quels sont les services lancés dans le niveau 5 qui ne sont pas lancés dans le niveau 3? 3. Quel est le niveau d exécution par défaut de votre système? Changer le à 3. 5- /etc/rc.local Modifier votre configuration pour que lors du démarrage du système, soit créé un fichier /tmp/biniou contenant une ligne d information comme : Systeme client-18 demarre a 13:06 R&T2 2005-06 - E. Viennet 3
EXERCICE 3 - Définition des utilisateurs (à traiter comme utilisateur) 1- Combien d utilisateurs UNIX sont définis localement sur votre système? Parmi ceux-ci, combien correspondent à des utilisateurs réels (humains ou humanoïdes)? 2- Quel est le shell de l utilisateur root? Et celui de l utilisateur halt? A quoi sert ce dernier? 3- Que fait la commande /sbin/nologin? Quels comptes l utilisent, pourquoi? EXERCICE 4 - Création d utilisateurs et de groupes (à traiter comme administrateur (root)) Gestion des utilisateurs La création d un utilisateur UNIX requiert au moins les étapes suivantes : 1. ajouter les informations dans les fichiers /etc/passwd et /etc/shadow, ou dans l annuaire (NIS, LDAP ou autre) utilisé. 2. créer le répertoire de connexion de l utilisateur, et y placer les fichiers de configuration minimaux ; 3. configurer si nécessaire le système de messagerie électronique (e-mail). La création d un utilisateur local (défini simplement sur votre système) est facilité par la commande useradd. La création d un groupe est similaire (mais sans création de répertoire), via la commande groupadd. Le mot de passe d un utilisateur est changé par la commande passwd. L administrateur (root) peut changer le mot de passe d un utilisateur quelconque en indiquant passwd login. Pour ajouter un utilisateur à un groupe, on édite le fichier /etc/group. Le shell d un utilisateur est changé par la commande chsh. useradd groupadd passwd chsh création utilisateur local création groupe local modification mot de passe modification shell de login 1- Lire la documentation de la commande useradd, puis créer quelques utilisateurs, dont un avec votre nom et prénom. Immédiatement après création, quel est le mot de passe de l utilisateur? Pourquoi? 2- Dans quels groupes sont vos utilisateurs? 3- Créer un groupe tpgtr réunissant deux de vos utilisateurs (détaillez les étapes sur votre compte rendu). EXERCICE 5 - Droits (commandes chown, chgrp, chmod) 1- Changer (en tant qu utilisateur etudiant ) les droits sur le compte etudiant afin R&T2 2005-06 - E. Viennet 4
que les autres utilisateurs ne puisse pas y accéder. 2- Créer un répertoire dans /tmp qui ne soit accessible (rx) que par les membres du groupe etudiant, puis y créer (toujours en tant qu etudiant) un fichier toto qui soit lisible et modifiable par les utilisateurs du groupe etudiant, mais pas par les autres. Tester (ajouter un autre utilisateur au groupe etudiant). Les utilisateurs du groupe etudiant peuvent-ils supprimer le fichier toto? Pourquoi? EXERCICE 6 - Droits d accès Exercice à traiter comme utilisateur (etudiant), non root! 1- Essayer (dans un shell etudiant) de supprimer ou de modifier le fichier /var/log/messages. Que se passe-t-il? Expliquer la situation à l aide de la commande ls -l 2- A l aide de la commande id, vérifier votre identité et le(s) groupe(s) auquel vous appartenez. 3- Créer un petit fichier texte (de contenu quelconque), qui soit lisible par tout le monde, mais pas modifiable (même pas par vous). 4- Créer un répertoire nommé secret, dont le contenu soit visible uniquement par vous même. Les fichiers placés dans ce répertoire sont-ils lisibles par d autres membres de votre groupe? 5- Créer un répertoire nommé connaisseurs tel que les autres utilisateurs ne puissent pas lister son contenu mais puissent lire les fichiers qui y sont placés. On obtiendra : $ ls connaisseurs ls : connaisseurs: Permission denied $ cat connaisseurs/toto <...le contenu du fichier toto (s il existe)...> 6- Chercher dans le répertoire /usr/bin trois exemples de commandes ayant la permission SUID. De quel genre de commandes s agit il? EXERCICE 7 - Un administrateur désire s assurer chaque matin que tous les fichiers placés sous /home/users/tpgtr sont lisibles uniquement par leur propriétaire et les membres du groupe, mais non modifiables et non exécutables. 1- Quel doit être le mode de ces fichiers et répertoires? 2- A l aide de la commande find, faire afficher la liste des chemins des fichiers qui ne possèdent pas le bon mode. R&T2 2005-06 - E. Viennet 5
Guide pour l enseignant Distribution des images ISO des CDROM via le réseau local. 1. Démarrer un PC sous Linux (exemple : image GTR3) ; 2. Si besoin, créer une partition de taille suffisante pour héberger les images des 3 CD de Red Hat (environ 2Go) : fdisk /dev/hda rebooter (obligatoire pour prendre en compte nouvelle partition) ; mkfs -t ext2 /dev/hdaxxx (où XXX est le numéro de la partition crée) ; mkdir /img; mount -t ext2 /dev/hdaxxx /img. 3. Créer un répertoire dans lequel on placera les images ISO. Ce répertoire sera noté IMAGEDIR dans la suite. 4. Charger les images à partir des CD de RedHat 9 : *** inserer le CD 1 *** dd if=/dev/cdrom of=disk1.iso *** inserer le CD 2 *** dd if=/dev/cdrom of=disk2.iso *** inserer le CD 3 *** dd if=/dev/cdrom of=disk3.iso Compter environ 3 minutes / disque. 5. Exporter le repertoire IMAGEDIR par NFS : on utilise le réseau IUT (switch en 100/FD) interface eth1 normalement adresses de la forme 10.0.0.N, N numéro de prise IUT. Ajouter une ligne au fichier /etc/exports, par exemple : IMAGEDIR 10.0.0.0/255.0.0.0(ro,sync) démarrer NFS : service nfs start 6. Création des disquettes d installation : A partir du CD 1 (ou mount -o loop disk1.iso disc1) dans le répertoire images : disquette de boot : dd if=bootdisk.img of=/dev/fd0 disquette de pilotes (pour carte réseau) : dd if=drvnet.img of=/dev/fd0 R&T2 2005-06 - E. Viennet 6