Linux - Corrections Des Exercices Du TP N°1 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Corrections des exercices du TP n°1 RETOUR

Infos système Quel est le système installé?

uname -a

Linux hector 2.6.15-27-386 #1 PREEMPT Fri Dec 8 17:51:56 UTC 2006 i686 GNU/Linux

cat /etc/issue Quelle est la Ubuntu 6.06.1 LTS \n distribution installée? who Quels sont les

utilisateurs en cours du système?

\l

nico :0 2007-01-14 16:25

su user Ouvrir un nouveau terminal en utilisant un autre compte. exit Fermer ce terminal.

La commande man Tester la commande man pour obtenir de l'aide sur man. Quelles sont les commandes susceptibles d'être documentées dans man?

man man

man is the systems manual pager. Each page argument given to man is normally the name of a program, utility or function.

Contenu de répertoires et de fichiers ascii (texte) Lister le contenu du répertoire /etc.

ls /etc

ls -l /etc Lister de manière ls -la /etc détaillée le contenu du Tous ces fichiers sont bien présents. répertoire /etc. Les fichiers nommés "passwd", "shadow", "group" et "gpasswd" sont-ils présents dans /etc? ls /dev Lister le contenu du

répertoire /dev.

Lister le contenu du fichier /etc/passwd.

cat /etc/passwd

Lister le contenu du fichier /etc/shadow.

cat /etc/shadow Lecture refusée.

Afficher par ordre alphabétique les utilisateurs définis dans le fichier /etc/passwd.

cat /etc/passwd | sort

root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh ... user,,,:/var/run/hplip:/bin/false nico:x:1000:1000:Nico,,,:/home/nico:/bin/bash

backup:x:34:34:backup:/var/backups:/bin/sh bin:x:2:2:bin:/bin:/bin/sh cupsys:x:100:106::/home/cupsys:/bin/false daemon:x:1:1:daemon:/usr/sbin:/bin/sh dhcp:x:101:101::/nonexistent:/bin/false games:x:5:60:games:/usr/games:/bin/sh ... root:x:0:0:root:/root:/bin/bash sync:x:4:65534:sync:/bin:/bin/sync syslog:x:102:102::/home/syslog:/bin/false sys:x:3:3:sys:/dev:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/sh

grep root /etc/* Rechercher tous les ... fichiers du répertoire /etc contenant la chaine de caractères "root". find / -name stdio.h Rechercher la

localisation du fichier "stdio.h" dans le système de fichier de votre installation.

... find: /tmp/kde-root: Permission non accordée /usr/include/bits/stdio.h /usr/include/stdio.h

od -x monfichier.dos A l'aide de la 0000000 6e75 0a0d 6564 7875 0a0d 7274 696f 0d73 0000020 710a 6175 7274 0d65 630a 6e69 0d71 730a commande "od", 0000040 7869 0a0d 6573 7470 0a0d 0a0d 0a0d 0a0d illustrer la différence 0000060 0a0d 0a0d majeure existant entre 0000064 od -c monfichier.dos les types de fichier 0000000 u n \r \n d e u x \r \n t r o i s \r 0000020 \n q u a t r e \r \n c i n q \r \n s ascii (texte) DOS, 0000040 i x \r \n s e p t \r \n \r \n \r \n \r \n 0000060 \r \n \r \n UNIX et Macintosh. Utiliser le fichier ascii 0000064 od -x monfichier.unix Dos montexte.dos 0000000 6e75 640a 7565 0a78 7274 696f 0a73 7571 7461 6572 630a 6e69 0a71 6973 0a78 6573 fourni en lien et créer 0000020 0000040 7470 0a0a 0a0a 0a0a les fichiers ascii Unix 0000050 od -c monfichier.unix "montexte.unix" et 0000000 u n \n d e u x \n t r o i s \n q u 0000020 a t r e \n c i n q \n s i x \n s e ascii Macintosh 0000040 p t \n \n \n \n \n \n "montexte.mac" avec le 0000050 même contenu au od -x monfichier.mac 0000000 6e75 640d 7565 0d78 7274 696f 0d73 7571 moyen d'un éditeur 0000020 7461 6572 630d 6e69 0d71 6973 0d78 6573 0000040 7470 0d0d 0d0d 0d0d texte (Kate par 0000050 exemple) puis od -c monfichier.unix 0000000 u n \r d e u x \r t r o i s \r q u comparer (version 0000020 a t r e \r c i n q \r s i x \r s e Macintosh si l'éditeur 0000040 p t \r \r \r \r \r \r 0000050 le permet). Codage des fins de ligne sous Dos par les deux caracteres 0x0D et Quelle est la 0x0A. différence? Codage des fins de ligne sous Unix par le seul caractere 0x0A. Codage des fins de ligne sous Macintosh par le seul caractere 0x0D. Utiliser les commandes cmp monfichier.unix monfichier.dos

de comparaison de fichiers de Linux pour tester le contenu d'un même fichier texte en version Unix et Dos.

monfichier.unix monfichier.dos sont différents: octet 3, ligne 1

diff monfichier.unix monfichier.dos 1,12c1,12 < un < deux < trois < quatre < cinq < six < sept < < < < < --> un > deux > trois > quatre > cinq > six > sept > > > > >

diff monfichier.unix monfichier.mac 1,12c1 < un < deux < trois < quatre < cinq < six < sept < < < < < --septre \ Pas de fin de ligne Ã

la fin du fichier.

Combien de lignes, de wc monfichier.unix 12 7 40 monfichier.unix mots et de caractères wc monfichier.dos comportent les 12 7 52 monfichier.dos wc monfichier.mac fichiers 0 7 40 monfichier.mac "montexte.unix", "montexte.dos" et "montexte.mac"? Commandes Se localiser dans la hiérarchie.

pwd

Détecter la présence de fichiers/répertoires.

ls -la

Entrer du texte dans Mon_fichier.

total 8 drwxr-xr-x 2 nico nico 4096 2007-02-01 11:25 . drwxr-xr-x 22 nico nico 4096 2007-02-01 11:25 ..

Oui, mais ce sont les entrées vers la racine du repertoire et la racine du répertoire père echo aaaaaaaaaaaaaaaaaa >Mon_fichier

Lister le contenu de Mon_fichier.

cat Mon_fichier

Lister son propre répertoire.

ls

aaaaaaaaaaaaaaaaaa

Mon_fichier

ls -la

total 12 drwxr-xr-x 2 nico nico 4096 2007-02-01 11:28 . drwxr-xr-x 22 nico nico 4096 2007-02-01 11:25 .. -rw-r--r-- 1 nico nico 19 2007-02-01 11:28 Mon_fichier

Lister les catalogues /bin et /dev.

ls /bin ls /dev

Créer sous votre répertoire 2 sousrépertoires: "Source" et "Data".

mkdir Source Data

Se positionner sous "Source".

cd source

Lister le répertoire.

ls -la

Revenir sous le répertoire de départ et détruire "Source".

cd .. rmdir Source

total 8 drwxr-xr-x 2 nico nico 4096 2007-02-01 11:29 . drwxr-xr-x 4 nico nico 4096 2007-02-01 11:29 ..

touch Mon_fichier_2 Créer un deuxième ls -la fichier Mon_fichier_2. total 16

drwxr-xr-x 3 nico nico 4096 2007-02-01 11:31 . drwxr-xr-x 22 nico nico 4096 2007-02-01 11:31 .. drwxr-xr-x 2 nico nico 4096 2007-02-01 11:29 Data -rw-r--r-- 1 nico nico 19 2007-02-01 11:28 Mon_fichier -rw-r--r-- 1 nico nico 0 2007-02-01 11:31 Mon_fichier_2

Copier chaque fichier en fichier .old.

cp Mon_fichier Mon_fichier.old cp Mon_fichier_2 Mon_fichier_2.old ls -la total 20 drwxr-xr-x drwxr-xr-x drwxr-xr-x -rw-r--r--rw-r--r--rw-r--r--rw-r--r--

3 22 2 1 1 1 1

nico nico nico nico nico nico nico

Créer un répertoire "Old".

mkdir old

Déplacer les fichiers avec l’extension .old dans le répertoire "Old".

mv *.old Old ls -la Old total 12 drwxr-xr-x drwxr-xr-x -rw-r--r--rw-r--r--

2 4 1 1

nico nico nico nico

nico 4096 2007-02-01 11:39 . nico 4096 2007-02-01 11:31 .. nico 4096 2007-02-01 11:29 Data nico 19 2007-02-01 11:28 Mon_fichier nico 0 2007-02-01 11:31 Mon_fichier_2 nico 0 2007-02-01 11:38 Mon_fichier_2.old nico 19 2007-02-01 11:38 Mon_fichier.old

nico 4096 2007-02-01 11:39 . nico 4096 2007-02-01 11:39 .. nico 0 2007-02-01 11:38 Mon_fichier_2.old nico 19 2007-02-01 11:38 Mon_fichier.old

ls -la

total 20 drwxr-xr-x 4 nico nico 4096 drwxr-xr-x 22 nico nico 4096 drwxr-xr-x 2 nico nico 4096 -rw-r--r-- 1 nico nico 19 -rw-r--r-- 1 nico nico 0 drwxr-xr-x 2 nico nico 4096

Copier les fichiers sans cp * Data cp: omission du cp: omission du extension dans le ls -la Data répertoire "Data". total 12 drwxr-xr-x drwxr-xr-x -rw-r--r--rw-r--r--

2 4 1 1

2007-02-01 2007-02-01 2007-02-01 2007-02-01 2007-02-01 2007-02-01

11:39 11:31 11:29 11:28 11:31 11:39

. .. Data Mon_fichier Mon_fichier_2 Old

répertoire `Data' répertoire `Old'

nico nico nico nico

nico 4096 2007-02-01 11:41 . nico 4096 2007-02-01 11:39 .. nico 19 2007-02-01 11:41 Mon_fichier nico 0 2007-02-01 11:41 Mon_fichier_2

ls -la

total 20 drwxr-xr-x 4 nico nico 4096 drwxr-xr-x 22 nico nico 4096 drwxr-xr-x 2 nico nico 4096 -rw-r--r-- 1 nico nico 19 -rw-r--r-- 1 nico nico 0 drwxr-xr-x 2 nico nico 4096

Sous le répertoire de départ, créer un lien matériel "Mon_lien" équivalent à "Mon_fichier_2".

2007-02-01 2007-02-01 2007-02-01 2007-02-01 2007-02-01 2007-02-01

11:39 11:31 11:41 11:28 11:31 11:39

. .. Data Mon_fichier Mon_fichier_2 Old

11:54 11:43 11:41 11:28 11:31 11:31 11:39

. .. Data Mon_fichier Mon_fichier_2 Mon_lien Old

ln Mon_fichier_2 Mon_lien ls -la total 20 drwxr-xr-x 4 nico nico 4096 drwxr-xr-x 22 nico nico 4096 drwxr-xr-x 2 nico nico 4096 -rw-r--r-- 1 nico nico 19 -rw-r--r-- 2 nico nico 0 -rw-r--r-- 2 nico nico 0 drwxr-xr-x 2 nico nico 4096

2007-02-01 2007-02-01 2007-02-01 2007-02-01 2007-02-01 2007-02-01 2007-02-01

ls -lai Lister les deux total 20 fichiers "Mon_lien" et 16457 drwxr-xr-x 4 nico nico 4096 2007-02-01 11:54 . 868403 drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 .. "Mon_fichier_2" en 16619 drwxr-xr-x 2 nico nico 4096 2007-02-01 11:41 Data -rw-r--r-- 1 nico nico 19 2007-02-01 11:28 Mon_fichier affichant leur numéro 16624 16597 -rw-r--r-- 2 nico nico 0 2007-02-01 11:31 Mon_fichier_2 16597 -rw-r--r-- 2 nico nico 0 2007-02-01 11:31 Mon_lien d’inode. 16632 drwxr-xr-x 2 nico nico 4096 2007-02-01 11:39 Old Que remarquez vous? Leurs numeros d'inode sont identiques donc ces deux fichiers n'en sont physiquement qu'un seul. Supprimer "Mon_lien". rm Mon_lien ls -lai "Mon_fichier_2" a-t-il total 20 16457 drwxr-xr-x 4 nico nico 4096 2007-02-01 11:56 . disparu? 868403 drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 .. 16619 16624 16597 16632

drwxr-xr-x -rw-r--r--rw-r--r-drwxr-xr-x

2 1 1 2

nico nico nico nico

nico 4096 2007-02-01 11:41 Data nico 19 2007-02-01 11:28 Mon_fichier nico 0 2007-02-01 11:31 Mon_fichier_2 nico 4096 2007-02-01 11:39 Old

"Mon_fichier_2" existe toujours. Sous votre répertoire ln -s Mon_fichier_2 Mon_nouveau_lien de départ, créez un lien symbolique "Mon_nouveau_lien" sur "Mon_fichier_2". ls -la Lister les deux

fichiers "Mon_nouveau_lien" et "Mon_fichier_2". Que remarquez vous?

Supprimer "Mon_fichier_2". "Mon_nouveau_lien" at-il disparu?

Quelle est la taille totale des fichiers contenus dans votre répertoire? Effacer tous les fichiers créés.

total 20 drwxr-xr-x 4 drwxr-xr-x 22 drwxr-xr-x 2 -rw-r--r-- 1 -rw-r--r-- 1 lrwxrwxrwx 1 Mon_fichier_2 drwxr-xr-x 2

nico nico nico nico nico nico

nico 4096 2007-02-01 11:57 . nico 4096 2007-02-01 11:43 .. nico 4096 2007-02-01 11:41 Data nico 19 2007-02-01 11:28 Mon_fichier nico 0 2007-02-01 11:31 Mon_fichier_2 nico 13 2007-02-01 11:57 Mon_nouveau_lien ->

nico nico 4096 2007-02-01 11:39 Old

Le lien est clairement mis en evidence par le caractere l et par l'affichage du nom du fichier lie. La taille n'est pas bonne. rm Mon_fichier_2 ls -la total 20 drwxr-xr-x drwxr-xr-x drwxr-xr-x -rw-r--r-lrwxrwxrwx drwxr-xr-x

4 nico nico 4096 2007-02-01 11:59 . 22 nico nico 4096 2007-02-01 11:43 .. 2 nico nico 4096 2007-02-01 11:41 Data 1 nico nico 19 2007-02-01 11:28 Mon_fichier 1 nico nico 13 2007-02-01 11:57 Mon_nouveau_lien -> Mon_fichier_2 2 nico nico 4096 2007-02-01 11:39 Old

Le lien existe toujours mais est brise. Il est caracterisé par un code couleur spécifique dans le shell utilisé. du -b 4115 ./Old 4115 ./Data 12358 .

La taille est approximative en raison de l'utilisation de blocs de 512 octets. rm -r * ls -la total 8 drwxr-xr-x 2 nico nico 4096 2007-02-01 12:03 . drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 ..

Mise en place d'un espace de travail pour 4 utilisateurs 1. Création des groupes et des utilisateurs Création de 2 groupes groupadd group1 groupadd group2 cat /etc/group ... group1:x:1001: group2:x:1002:

Création des 4 utilisateurs avec création de leurs répertoires home: useradd -m u1 useradd -m u2 useradd -m u3 useradd -m u4 cat /etc/passwd ... u1:x:1001:100::/home/u1:/bin/sh u2:x:1002:100::/home/u2:/bin/sh u3:x:1003:100::/home/u3:/bin/sh u4:x:1004:100::/home/u4:/bin/sh ls -l /home total 20 ... drwxr-xr-x 2 u1 users 4096 2007-02-01 12:12 u1 drwxr-xr-x 2 u2 users 4096 2007-02-01 12:12 u2 drwxr-xr-x 2 u3 users 4096 2007-02-01 12:12 u3 drwxr-xr-x 2 u4 users 4096 2007-02-01 12:12 u4

Placement des utilisateurs dans leurs groupes usermod -G group1 u1 usermod -G group1,group2 u2 usermod -G group2 u3 usermod -G group1,group2 u4 cat /etc/group ... group1:x:1001:u1,u2,u4 group2:x:1002:u2,u3,u4

Changement de propriétaire des répertoires chown u1:group1 /home/u1 chown u2:group1 /home/u2 chown u3:group2 /home/u3 chown u4:group2 /home/u4 Création des répertoires communs mkdir /home/group1 mkdir /home/group2 Mise en place des permissions pour permettre aux utilisateurs d'écrire dans le répertoire de leur groupe chgrp group1 /home/group1 chgrp group2 /home/group2 Mise en place de la permission pour protéger de l'effacement tout en autorisant l'écriture: A ce niveau du cours, on ne sait pas résoudre la dernière problématique. Soit on fait confiance aux utilisateurs, soit on passe par root pour ajouter les fichiers et on ne donne pas la permission «w». Cas le plus permissif: chmod g=rwx /home/group1 ou chmod 770 /home/group1 Cas le moins permissif: chmod g=700 /home/group1 Activation d'un utilisateur passwd u1 Enter new UNIX password: Retype new UNIX password: passwd : le mot de passe a été mis à jour avec succès cat/etc/shadow ... u1:$1$kiUUra9s$AxchvKz0J9OBJPXO8qNf./:13545:0:99999:7::: u2:!:13545:0:99999:7::: u3:!:13545:0:99999:7::: u4:!:13545:0:99999:7:::

2. Modification du profile Exemple de script possible, dans /etc/profile pour éviter de le recopier pour chaque utilisateur: echo "Bienvenue" echo "entrez U pour travailler dans votre repertoire" echo "entrez G pour travailler dans le repertoire de votre groupe" read CHX while [ $CHX != 'U' ] && [ $CHX != 'G' ] do echo "Entrez U ou G ..." read CHX done if [ $CHX == "G" ] then case $USER in "u1") export HOME=/home/group1;; "u2") export HOME=/home/group1;; "u3") export HOME=/home/group2;; "u4") export HOME=/home/group2;; esac cd $HOME fi 3. Choix de la valeur du umask Les valeurs conseillées sont: - 066 pour échanger facilement des fichiers avec l'ensemble des utilisateurs - 067 pour échanger des fichiers seulement avec les membres des groupes dont on est membre, - 077 pour travailler seul. "Les valeurs 066 et 067 offrent le meilleur compromis entre la sécurité et la souplesse. Elles permettent le parcours des répertoires sans en autoriser l'examen avec la commande "ls" tout en autorisant l'accès à des répertoires fils dont les droits seront plus permissifs, utilisés pour échanger des fichiers…" dans "Unix utilisation administration système et réseau" par Christian Pellisier. Dans notre exemple, on choisit plutôt la valeur 067. RETOUR