Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Cahier de tps
Chapter 1. Introduction
Aucun tp pour ce chapitre.
2
Table of Contents
2.1. Rappel sur les terminaux ................................................................................................... 2
2.1.1. L'interpréteur de commande .................................................................................... 2
2.1.2. Changement d'utilisateur ........................................................................................ 2
2.2. Opérations sur les fichiers et répertoires ............................................................................... 3
Le texte qui précède l’endroit où vous pouvez saisir vos commandes s’appelle le prompt. Bien que celui ci soit
entièrement modifiable, voici de quoi est composé un prompt « classique » :
Par exemple :
root@localhost ~ #
Le symbole final (# ou $) permet de distinguer rapidement les privilèges de l’utilisateur : « # » pour le super
utilisateur, « $ » pour un utilisateur classique. Ce symbole fait parti du prompt et peut donc aussi être changé.
Ici, « ~ » (symbole tilde) signifie qu’il s’agit du répertoire personnel de l’utilisateur. Le répertoire du super util-
isateur étant /root et le répertoire d’un utilisateur classique étant situé, par convention, dans /
home/login_utilisateur.
L’interpréteur de commande permet de compléter automatiquement le nom des commandes et les chemins vers
les fichiers ou répertoire. Pour cela, il suffit d’appuyer sur la touche TAB et Bash fera de son mieux pour
compléter votre ligne. Dans le cas où plusieurs façons de compléter sont possibles, il faudra appuyer une
seconde fois sur la touche TAB pour afficher la liste des possibilités.
• L’utilisateur supinfo
Terminaux et commandes de base 3
Pour passer de l’un à l’autre, il suffit de taper su suivi du login de l’utilisateur désiré. le - permet de recharger
l'environnement de l'utilisateur.
Q:
Dans le répertoire dossier1, créez un lien symbolique nommé noyau qui pointe vers /usr/src.
Q:
Listez le contenu de votre répertoire courant, puis celui du répertoire dossier1, copiez le répertoire
dossier1 en dossier2, effacer le répertoire dossier1 puis renommer dossier2 en dossier1.
Q:
Allez dans le répertoire dossier1/noyau/, puis utiliser la commande pwd -P pour afficher le
répertoire où vous vous trouvez. Enfin, utilisez la commande cd - pour revenir au répertoire précédent.
Q:
Affichez les lignes du fichier /var/log/messages qui contiennent le mot usb.
Q:
Créez un fichier un super fichier en l'écrivant entre guillemets. Effacer ce fichier en utilisant la
commande rm et l'auto-complétion de Bash à partir du premier mot du fichier. Observez la syntaxe
utilisée par Bash.
Q:
Effacez tous les fichiers et dossiers commençant par « doss » dans le répertoire courant.
4
Table of Contents
3.1. Pipes et redirections ......................................................................................................... 4
3.2. Flux de textes et filtres ..................................................................................................... 4
3.3. L'éditeur VI .................................................................................................................... 5
Q:
Listez en affichage complet le contenu du répertoire /etc dans le fichier sortie_etc.
Q:
Concaténez la liste des répertoires et des fichiers de /var/log/ à la suite de sortie_etc.
Q:
Utilisez cat combiné avec less pour afficher le fichier sortie_etc.
Q:
Utilisez cat combiné avec grep pour n’afficher que les fichiers qui ont « .conf » dans leur nom et qui sont
dans sortie_etc.
Q:
Listez tous les fichiers du répertoire /etc contenant la suite de caractères « env ».
Q:
Listez le répertoire /dev/ de 3 manières : Classique (ls), combiné avec more, puis avec less.
Q:
Affichez les noms de fichiers contenant la suite de caractères « conf » dans les 30 premiers fichiers du
répertoire /etc.
Q:
Faites de même pour les 10 derniers fichiers.
Q:
Créez un fichier toto contenant la phrase « linux rulez » grâce à la commande echo et les redirections.
Q:
Grâce à la commande tr, convertissez toutes les lettres minuscules (de a à z) du fichier toto en lettres
majuscules, redirigez le tout vers le fichier tata puis grâce à l’opérateur && affichez le contenu de
tata. N’hésitez pas à consulter l’aide de la commande tr.
Q:
Sur une première console, affichez le fichier /var/log/auth.log en utilisant le rafraîchissement
automatique de la commande tail. Connectez vous à une autre console virtuelle en tant que root et ob-
servez le changement du fichier sur la première console.
Q:
Le fichier /etc/passwd contient diverses informations relatives aux comptes des utilisateurs. Com-
ment faire pour obtenir un fichier sys_users contenant le login de tous les utilisateurs du système, à
hauteur d'un login par ligne, chaque ligne étant numérotée ?
Q:
Afficher le nombre de comptes utilisateurs présents sur la machine en une seule commande.
Q:
La commande ifconfig (en root) affiche les informations relatives au réseau. Comment faire pour obtenir
un fichier ip_address contenant la liste des adresses IP configurées, à hauteur d’une adresse IP par
ligne ?
Q:
Quels sont les trois opérateurs que l’on peut utiliser pour exécuter plusieurs commandes à la suite ?
3.3. L'éditeur VI
Q:
L’éditeur de texte Vi (prononcer « vi aïe ») est l’un des éditeurs les plus répandus dans le monde UNIX. Il
vous faut donc apprendre à le maîtriser. Pour cela, tapez vimtutor et complétez le tutorial.
6
Table of Contents
4.1. Préparation .................................................................................................................... 6
4.2. Grep ............................................................................................................................. 6
4.3. Sed ............................................................................................................................... 6
4.1. Préparation
Avant de commencer ce TP, on va créer un fichier qui va nous permettre de vérifier les différentes expressions
réguilères. Pour cela, il suffit de copier les lignes ci-dessous dans un fichier et de tester les expressions réguières
sur ce dernier.
4.2. Grep
Q:
Afficher toutes les lignes commençant par un #.
Q:
Afficher toutes les lignes qui finissent par un caractère alphanumérique.
Q:
Afficher toutes les lignes contenant une suite de 3 chiffres.
Q:
Afficher toutes les lignes contenant 8888, 88888 ou 888888.
Q:
Afficher toutes les lignes contenant soit netbsd, freebsd ou openbsd.
4.3. Sed
Q:
Remplacer toutes les occurrences de /mnt par /media dans /etc/fstab sans modifier le fichier original.
Q:
Supprimer toutes les lignes vides d'un fichier.
Q:
Afficher que les lignes finissant par /bin/bash dans /etc/passwd
Q:
Créer une expression régulière qui reconnaît un nom d'utilisateur Linux valide.
7
Table of Contents
5.1. Gestion des processus ...................................................................................................... 7
Q:
Utiliser la commande jobs qui vous permettra d'observer les [travaux] du shell courant.
Q:
Passer la commande yes > /dev/null en arrière plan.
Q:
Envoyer un signal SIGTERM ou SIGKILL au processus yes > /dev/null et vérifier qu'il a bien été quitté.
Q:
Editer le fichier /etc/resolv.conf avec vi en utilisant la commande nice. Lancer la commande top
et vérifier la priorité du processus. Toujours avec la commande top diminuer la priorité du processus à 15.
Q:
Lancer la commande top afin que celle-ci affiche tous les processus durant 3 rafraichissements, où l'écart
entre chaque rafraichissement soit de 5 secondes le tout en mode batch, puis retournez le tout dans un
fichier. (voir le man)
8
Chapter 6. FHS
Aucun tp pour ce chapitre.
9
Chapter 7. Recherche
Table of Contents
7.1. find .............................................................................................................................. 9
7.2. locate ............................................................................................................................ 9
7.1. find
Q:
Rechercher un fichier portant le nom de messages dans /var.
Q:
Rechercher tous les fichiers se terminant par « .log ».
Q:
Rechercher tous les répertoires portant le nom de log qui ont été accédés depuis moins de 2 jours.
Q:
Rechercher tous les fichiers se terminant par « .log » sur le système et y appliquer un « touch » afin d'en
modifier la dernière date d'accès. Vérifier ensuite avec la commande ls -l.
7.2. locate
Q:
Rechercher tous les fichiers se terminant par « .log » sur le système avec la commande locate et observer
la vitesse.
Q:
Créer un fichier monfichier.txt puis chercher le avec la commande locate. Que remarquez-vous ?
Q:
Mettre à jour la base de donnée de locate grâce à la commande updatedb puis rechercher de nouveau le
fichier monfichier.txt.
10
Table of Contents
8.1. Les utilisateurs et groupes ................................................................................................10
8.2. Gestion des identités .......................................................................................................10
8.3. Suppression d'utilisateur et de groupe .................................................................................11
8.4. Modèle de répertoire personnel .........................................................................................12
Q:
Créez un groupe forma sans aucune option.
Q:
Définissez le groupe forma comme groupe principal de l'utilisateur lpic. Cette modification devra être
faite en modifiant le fichier /etc/passwd et non en utilsant la commande usermod.
Q:
Définissez les groupes secondaires de l'utilisateur lpic comme étant : users et staff (créez les si nécessaire
avec la commande groupadd). Cette fois-ci, utilisez la commande usermod.
Q:
Listez les groupes de l'utilisateur lpic.
Q:
Vous voulez activer les fonctionnalités shadow sur votre système (si cela n'est pas déjà fait). Une fois que
les fonctionnalités shadow sont activées. Ouvrez le fichier /etc/passwd. Que voyez-vous par rapport au
mot de passe? Où ces mots de passe sont-ils stockés ?
Note
Pour se déconnecter rapidement d'une session dans un terminal, il existe le raccourci très pratique
Ctrl+D. Ce raccourci équivaut à taper la commande exit.
Gestion des utilisateurs et des groupes 11
Q:
Listez les utilisateurs connectés.
Q:
Déconnectez vous de l'utilisateur mandriva pour revenir en super utilisateur root.
Q:
Désactivez le compte lpic.
Q:
Changez votre identité en lpic. Pourquoi le mot de passe de user1 n'est-il pas demandé ?
Q:
Essayez de vous logguer en tant que lpic.
Q:
Revenez en root puis logguez vous en tant que lpic. Pourquoi cela marche-t-il ?
Q:
Revenez en root et réactivez le compte de l'utilisateur lpic. Précisez les trois façons de réactiver le
compte: 2 avec la commande passwd et 1 en éditant le fichier /etc/passwd.
Q:
Modifiez le fichier /etc/passwd et remplacez le shell de lpic par /bin/false.
Q:
Logguez-vous en tant que lpic. Cela fonctionne-t-il ? Pourquoi ?
Note
La page de manuel de false peut vous aider.
Q:
Supprimez le groupe forma.
Note
On peut également éditer les fichiers /etc/passwd et /etc/group et supprimer les lignes
correspondantes.
Gestion des utilisateurs et des groupes 12
Créez ensuite un compte bernard avec génération automatique du dossier personnel et vérifiez la création
des dossiers.
Note
Pensez au dossier /etc/skel !
13
Table of Contents
9.1. Gestion des permissions ..................................................................................................13
Q:
Quelles sont les permissions appliquées au fichier /etc/shadow ? Cela représente-il un risque de
sécurité ?
Q:
Créer un fichier toto et un dossier foo. Quelles sont les permissions définies par défaut ?
Q:
Afficher les permissions du fichier et du dossier précédemment créé.
Q:
Changer le umask à 0077
Q:
Créer un fichier toto2 et un dossier foo2, puis afficher leurs permissions.
Q:
Changer le propriétaire et le groupe du fichier toto en root
Q:
Appliquer les permissions rwx pour l'utilisateur, rx pour le groupe, r pour les autres, en utilisant la nota-
tion avec les lettres, puis avec les chiffres sur le fichier toto.
Q:
Essayer d'arrêter la machine en tant qu'utilisateur supinfo en utilisant la commande halt puis /
sbin/halt. Pourquoi la commande halt ne fonctionne pas sans rentrer son chemin complet ?
Q:
Faites en sorte qu'un utilisateur normal puisse arrêter la machine en utilisant le suid sur le fichier
exécutable /sbin/halt.
14
Table of Contents
10.1. Gestion des disques .......................................................................................................14
10.2. Cas pratique ................................................................................................................14
Q:
Quel sera le nom du périphérique correspondant au premier disque du premier contrôleur IDE ?
Q:
Créer une nouvelle partition Linux de type ext3 de 100Mo (avec fdisk) sur le disque dur esclave du
premier contrôleur SCSI .
Q:
Mettre en place un système de fichiers ext3 sur la nouvelle partition.
Q:
Monter la partition dans le répertoire /mnt/externe. Attribuer le répertoire à l’utilisateur supinfo et au
groupe root. Faire en sorte que l'utilisateur supinfo ait les droits de lecture/écriture/exécution, et que tous
les autres aient les droits de lecture/exécution seulement.
Q:
Démonter la partition puis remplir /etc/fstab afin de monter la partition automatiquement au
démarrage.
Q:
Redémarrer et vérifier que le montage fonctionne.
Q:
Afficher la taille de la partition montée avec df puis avec du.
Etant occupé, l'administrateur vous confie l'élaboration de la procédure et vous fourni une machine virtuelle afin
d'effectuer des simulations.
Q:
Démontez le disque SCSI que vous venez de préparer. Vous l'utiliserez comme disque de stockage pour /
var/log.
Gestion des disques 15
Q:
Créez le système de fichier sur le disque /dev/sdb1
Q:
Montez la partition /dev/sdb1 dans /mnt/externe et copiez le répertoire /var/log dans le répertoire
/mnt/externe (donc sur le disque).
Note
Afin de préserver les permissions, liens symboliques et appartenances, on va employer
l'option --preserve=all
Q:
Démontez le point de montage /mnt/externe. Ajoutez une entrée dans /etc/fstab afin de monter
la partition /dev/sdb1 automatiquement sur /var/log.
Q:
Redémarrer, et vérifier le fonctionnement de votre configuration.
16
Table of Contents
11.1. Configuration des quotas ................................................................................................16
Pré-requis : Ajouter et formater une nouvelle partition, ajouter cette partition au fichier fstab. Elle sera montée
automatiquement dans le répertoire /mnt/save.
Q:
Quelle est la signification de limite dur (hard limit) , limite douce (soft limite) et temps de grâce (grace
limit)
2. Préparez la partition /dev/sdb1 à utiliser des quotas via le fichier /etc/fstab et rebootez le server.
4. Configurez la limite quota nommée "blocks" pour l'utilisateur supinfo sur la seconde partition montée dans
/mnt/save: 10mo pour la soft limit, 15 mo pour la hard limit.
5. testez : créez un fichier de 10 mo avec la commande 'dd' puis créez un autre fichier de 10 mo , Regardez les
résultats de la commande
Q:
Aprés ces tests, pouvez vous éditer un fichier et sauvegarder dans la partition montée dans /mnt/save ?
2. Activer les quotas sur la partition /dev/sdb1 dans le fichier /etc/fstab et rebootez le server.
[root@mandriva]# reboot
Pour créer tous les fichiers nécessaires (aquota.group et aquota.user) entrez cette commande (-a
pour tester tous les systèmes de fichier montés, -u pour les utilisateurs, -g pour les groupes et -v pour le
mode verbeux):
Activez les quotas (-a pour l'activer sur tous les systèmes de fichiers)
4. Configurez la limite quota nommée "blocks" pour l'utilisateur supinfo sur la seconde partition montée dans
/mnt/save : 10mo pour la soft limit, 15 mo pour la hard limit.
Quotas 18
5. Testez : créez un fichier de 10 mo avec la commande 'dd' puis créez un autre fichier de 10 mo , Regardez
les résultats de la commande
Créez un fichier de 10mo avec la commande dd (1024 octets * 100). Cette commande est très utile pour ce
genre de tests:
La première création de fichier vous averti que vous excédez la soft limit. La seconde création de fichier est
limitée en taille par la hard limit définie (5mo au lieu de 10mo car l'ensemble des fichiers correspond à
15mo soit la hard limit).
19
Table of Contents
12.1. Préparation à l'installation ..............................................................................................19
12.2. Configuration du bootloader ...........................................................................................19
Note
LILO est un bootloader pour plateforme de type Intel x86. Il offre beaucoup moins de
fonctionnalités que GRUB car il réside entièrement en MBR. Cela signifie qu'il n'est pas lié aux
partitions du système, mais aussi qu'il faut réinstaller LILO dans le MBR à chaque modification de
son fichier de configuration (/etc/lilo.conf).
Q:
Configurer LILO. Ré-installez LILO sur le MBR et redémarrez le système pour observer les change-
ments.
Note
La principale différence entre Lilo et GRUB c'est que GRUB n'a pas besoin d'être réinstallé sur le
MBR après chaque changement de configuration.
L'inconvénient majeur de GRUB est qu'il dépend de la partition sur laquelle se trouve son fichier
de configuration. En cas de suppression de cette partition, GRUB se trouve dans l'incapacité de
fonctionner.
Q:
Maintenant configurez GRUB. Créer le fichier configuration de GRUB (/boot/grub/menu.lst) si
celui-ci n'existe pas.
Installation 20
Q:
Installez GRUB sur le MBR et relancez le système pour constater les changements.
21
Table of Contents
13.1. L'approche Red Hat ......................................................................................................21
13.1.1. Installation de paquetages avec les rpm ..................................................................21
13.1.2. Manipulation des packages RPM ...........................................................................21
13.2. L'approche Debian ........................................................................................................21
13.2.1. Installation de paquetages avec dpkg. ....................................................................21
13.2.2. Installation de paquetages avec apt-get. .................................................................22
13.2.3. Manipulation des packages debian .........................................................................22
13.3. Installation universelle et personnalisée. ............................................................................22
13.3.1. Installation depuis les sources. ..............................................................................22
13.4. Les librairies dynamiques du système ...............................................................................23
Q:
Installer le paquet
Q:
Démarrez le serveur.
Q:
Récupérez la liste de tous les paquets installés dont le nom contient la chaîne de caractère "gnome". Faîtes
en sorte que cette liste soit automatiquement inscrite dans un fichier liste.txt .
ftp://ftp.proxad.net/.mirrors1/ftp.debian.org/pool/main/l/lynx/1
Installation de programmes 22
Q:
Installer le paquet.
Q:
Tester cette nouvelle application. Pour retrouver la commande qui correspond au package que vous venez
d'installer, aidez vous de dpkg (en listant l'ensemble des fichiers installés).
Q:
Il faut maintenant mettre à jour la liste des paquets disponibles à l'installation. Effectuez cette action.
Q:
Vous pouvez maintenant partir à la recherche du paquet contenant le serveur proftpd™. Généralement, le
nom du paquet est celui du logiciel. Recherchez donc dans le cache le mot clé "proftpd".
Q:
Maintenant que vous connaissez exactement le nom du paquet, vous pouvez procéder à son installation.
Q:
Grâce à wget, télécharger le fichier suivant :
ftp://ftp.ncftp.com/ncftp/ncftp-3.2.2-src.tar.bz22.
Q:
Décompresser l'archive et rentrer dans le répertoire décompressé.
Q:
Configurer l'application pour qu'elle s'installe dans /usr/local/ puis lancer la compilation.
Q:
Passer en root et lancer l'installation de l'application.
Q:
En tant qu'utilisateur supinfo, lancer l'application.
1
???
2
ftp://ftp.ncftp.com/ncftp/ncftp-3.2.0-src.tar.bz2
Installation de programmes 23
Lancez ssh --help, que se passe-t-il ? Remédiez au problème. (indice: aidez vous de la commande ldd)
24
Table of Contents
15.1. Configuration du serveur X ............................................................................................25
Q:
Faites une copie du fichier de configuration du serveur graphique dans votre dossier personnel.
Q:
Vérifiez que le chemin /usr/X11R6/bin est dans votre variable $PATH, sinon rajoutez le.
Q:
Configurez le serveur X grâce à l’utilitaire xf86config qui fonctionne en mode texte. Aidez vous de la
commande lspci pour connaître votre matériel afin pouvoir répondre aux questions.
Q:
En tant qu'utilisateur supinfo, lancez le serveur X grâce à la commande startx et vérifiez son fonction-
nement.
Q:
Coupez votre session graphique grâce à a combinaison de touche : Ctrl+Alt+Retour arrière.
Q:
Vérifiez de nouveau que tout fonctionne bien. En cas de problème, pour récupérer une session qui fonc-
tionne, vous pouvez recopier la configuration depuis votre dossier personnel vers le dossier de configura-
tion du système.
En tant qu'utilisateur supinfo, éditez le fichier ~/.xinitrc pour pouvoir lancer le window manager twm ain-
si que les applications suivantes : xterm, xeyes et xclock.
Q:
Quittez la session graphique puis effacez votre .xinitrc
Q:
Grâce à apt-get, installez le gestionnaire de session GDM. Lors de l'écran de configuration, choisir GDM
comme gestionnaire de session par défaut.
Q:
Modifier dans le fichier de configuration de GDM,/etc/gdm/gdm.conf, la ligne suivante :
#Greeter=/usr/bin/gdmlogin #par
Greeter=/usr/bin/gdmgreeter