Vous êtes sur la page 1sur 12

TP n°1

Infos système

• Quel est le système installé?


• Quelle est la distribution installée?
• Quels sont les utilisateurs en cours du système?
• Ouvrir un nouveau terminal en utilisant un autre compte.
• 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?

Contenu de répertoires et de fichiers ascii (texte)

• Lister le contenu du répertoire /etc.


• Lister de manière détaillée le contenu du répertoire /etc.
Les fichiers nommés "passwd", "shadow", "group" et "gpasswd" sont-ils présents
dans /etc?
• Lister le contenu du répertoire /dev.
• Lister le contenu du fichier /etc/passwd.
• Lister le contenu du fichier /etc/shadow.
• Afficher par ordre alphabétique les utilisateurs définis dans le fichier /etc/passwd.
• Rechercher tous les fichiers du répertoire /etc contenant la chaine de caractères
"root".
• Rechercher la localisation du fichier "stdio.h" dans le système de fichier de votre
installation.
• A l'aide de la commande "od", illustrer la différence majeure entre les types de
fichier ascii (texte) DOS, UNIX et Macintosh. Utiliser le fichier ascii Dos
montexte.dos fourni en lien et créer les fichiers ascii Unix "montexte.unix" et ascii
Macintosh "montexte.mac" avec le même contenu au moyen d'un éditeur texte
(Kate par exemple) puis comparer (version Macintosh si l'éditeur le permet).
Quelle est la différence?
• Utiliser les commandes de comparaison de fichiers de Linux pour tester le contenu
d'un même fichier texte en version Unix et Dos.
• Combien de lignes, de mots et de caractères comportent les fichiers
"montexte.unix", "montexte.dos" et "montexte.mac"?

Commandes

Déterminer les commandes permettant de réaliser les actions suivantes:

• Déterminer le répertoire par défaut dans la hiérarchie des répertoires?


• Y a t-il des fichiers, des répertoires dans ce répertoire?
• Entrer du texte dans un fichier nommé "Mon_fichier".
• Lister le contenu de "Mon_fichier".
• Lister le répertoire courant.
• Lister les répertoires /bin et /dev.
• Créer sous votre répertoire deux sous-répertoires : "Source" et "Data".
• Se positionner sous "Source".
• Listez le répertoire courant.
• Revenir sous le répertoire de départ et détruire "Source".
• Créer un deuxième fichier nommé "Mon_fichier_2".
• Copier chaque fichier en nom_de_fichier.old.
• Créer un répertoire "Old".
• Déplacer les fichiers avec l'extension old vers le répertoire "Old".
• Copiez les fichiers sans extension dans le repertoire "Data".
• Sous votre répertoire de départ, créez un lien matériel "Mon_lien" équivalent à
"Mon_fichier_2".
• Lister les deux fichiers "Mon_lien" et "Mon_fichier_2" en affichant leur numéro
d'inode.
Que remarquez vous?
• Supprimer "Mon_lien".
"Mon_fichier_2" a-t-il disparu?
• Sous votre répertoire de départ, créez un lien symbolique "Mon_nouveau_lien" sur
"Mon_fichier_2".
• Lister les deux fichiers "Mon_nouveau_lien" et "Mon_fichier_2".
Que remarquez vous?
• Supprimer "Mon_fichier_2".
"Mon_nouveau_lien" a-t-il disparu?
• Quelle est la taille totale des fichiers contenus dans votre répertoire?
• Effacer tous les fichiers crées.

Mise en place d'un espace de travail pour 4 utilisateurs

Définir le lot de commandes à exécuter pour créer 4 utilisateurs en suivant les règles
suivantes:

• Création de 2 groupes.
• Les premier et deuxième utilisateurs sont membres du premier groupe.
• Les troisième et quatrième utilisateurs sont membres du second groupe.
• Le deuxième utilisateur est aussi membre du second groupe.
• Le quatrième utilisateur est aussi membre du premier groupe.
• Outre leur répertoire de travail, les utilisateurs ont accès à un répertoire commun
/home/groupe1 et/ou /home/groupe2 suivant leur groupe. Dans ce répertoire, ils
peuvent écrire, créer des fichiers mais ne peuvent pas effacer les fichiers.

1. Détaillez les étapes de création des groupes, des utilisateurs et des répertoires en
indiquant quels fichiers vous utilisez et quelles commandes vous utilisez sur ces
fichiers.
2. Modifiez les profils des utilisateurs pour qu'au login, le répertoire d'accueil sur
lequel il souhaite travailler lui soit demandé (s'il entre U, il sera sous son répertoire,
s'il entre G, il sera sous le répertoire de son groupe).
3. Parmi ces 3 valeurs: 066, 067, 077, quel umask positionneriez vous? Expliquez
pour chaque valeur quelles sont les conséquences de ce choix.
Corrections des exercices du
TP n°1
Infos système

Quel est le système uname -a


installé? Linux hector 2.6.15-27-386 #1 PREEMPT Fri Dec 8
17:51:56 UTC 2006 i686 GNU/Linux
Quelle est la cat /etc/issue
distribution installée? Ubuntu 6.06.1 LTS \n \l
Quels sont les who
utilisateurs en cours nico :0 2007-01-14 16:25
du système?
Ouvrir un nouveau su user
terminal en utilisant
un autre compte.
Fermer ce terminal. exit

La commande man

Tester la commande man man


man pour obtenir de man is the systems manual pager. Each page argument
l'aide sur man. given to man is normally the name of a program,
utility or function.
Quelles sont les
commandes
susceptibles d'être
documentées dans
man?

Contenu de répertoires et de fichiers ascii (texte)

Lister le contenu du ls /etc


répertoire /etc.
Lister de manière ls -l /etc
détaillée le contenu du ls -la /etc
répertoire /etc. Tous ces fichiers sont bien présents.
Les fichiers nommés
"passwd", "shadow",
"group" et "gpasswd"
sont-ils présents
dans /etc?
Lister le contenu du ls /dev
répertoire /dev.
Lister le contenu du cat /etc/passwd
fichier /etc/passwd. 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
Lister le contenu du cat /etc/shadow
fichier /etc/shadow. Lecture refusée.
Afficher par ordre cat /etc/passwd | sort
alphabétique les backup:x:34:34:backup:/var/backups:/bin/sh
utilisateurs définis bin:x:2:2:bin:/bin:/bin/sh
cupsys:x:100:106::/home/cupsys:/bin/false
dans le fichier daemon:x:1:1:daemon:/usr/sbin:/bin/sh
/etc/passwd. 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
Rechercher tous les grep root /etc/*
fichiers du ...
répertoire /etc
contenant la chaine de
caractères "root".
Rechercher la find / -name stdio.h
localisation du fichier ...
"stdio.h" dans le find: /tmp/kde-root: Permission non accordée
/usr/include/bits/stdio.h
système de fichier de /usr/include/stdio.h
votre installation.
A l'aide de la od -x monfichier.dos
commande "od", 0000000 6e75 0a0d 6564 7875 0a0d 7274 696f 0d73
illustrer la différence 0000020 710a 6175 7274 0d65 630a 6e69 0d71 730a
0000040 7869 0a0d 6573 7470 0a0d 0a0d 0a0d 0a0d
majeure existant entre 0000060 0a0d 0a0d
les types de fichier 0000064
ascii (texte) DOS, od -c monfichier.dos
UNIX et Macintosh. 0000000 u n \r \n d e u x \r \n t r o i s \r
Utiliser le fichier ascii 0000020 \n q u a t r e \r \n c i n q \r \n s
Dos montexte.dos 0000040 i x \r \n s e p t \r \n \r \n \r \n \r \n
fourni en lien et créer 0000060
0000064
\r \n \r \n
les fichiers ascii Unix
od -x monfichier.unix
"montexte.unix" et 0000000 6e75 640a 7565 0a78 7274 696f 0a73 7571
ascii Macintosh 0000020 7461 6572 630a 6e69 0a71 6973 0a78 6573
"montexte.mac" avec 0000040 7470 0a0a 0a0a 0a0a
0000050
le même contenu au
moyen d'un éditeur od -c monfichier.unix
0000000 u n \n d e u x \n t r o i s \n q u
texte (Kate par 0000020 a t r e \n c i n q \n s i x \n s e
exemple) puis 0000040 p t \n \n \n \n \n \n
comparer (version 0000050
Macintosh si l'éditeur od -x monfichier.mac
le permet). 0000000 6e75 640d 7565 0d78 7274 696f 0d73 7571
Quelle est la 0000020 7461 6572 630d 6e69 0d71 6973 0d78 6573
0000040 7470 0d0d 0d0d 0d0d
différence? 0000050
od -c monfichier.unix
0000000 u n \r d e u x \r t r o i s \r q u
0000020 a t r e \r c i n q \r s i x \r s e
0000040 p t \r \r \r \r \r \r
0000050
Codage des fins de ligne sous Dos par les deux caracteres 0x0D et
0x0A.
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 cmp monfichier.unix monfichier.dos
commandes de monfichier.unix monfichier.dos
comparaison de sont différents: octet 3, ligne 1
fichiers de Linux pour diff monfichier.unix monfichier.dos
tester le contenu d'un 1,12c1,12
même fichier texte en < un
version Unix et Dos. < 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
mots et de caractères 12 7 40 monfichier.unix
comportent les fichiers wc monfichier.dos
"montexte.unix", 12 7 52 monfichier.dos
"montexte.dos" et wc monfichier.mac
"montexte.mac"? 0 7 40 monfichier.mac

Commandes

Se localiser dans la pwd


hiérarchie.
Détecter la présence ls -la
de fichiers/répertoires. 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
Entrer du texte dans echo aaaaaaaaaaaaaaaaaa >Mon_fichier
Mon_fichier.
Lister le contenu de cat Mon_fichier
Mon_fichier. aaaaaaaaaaaaaaaaaa
Lister son propre ls
répertoire. 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 ls /bin
/bin et /dev. ls /dev
Créer sous votre mkdir Source Data
répertoire 2 sous-
répertoires:
"Source" et "Data".
Se positionner sous cd source
"Source".
Lister le répertoire. ls -la
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 ..
Revenir sous le cd ..
répertoire de départ et rmdir Source
détruire "Source".
Créer un deuxième touch Mon_fichier_2
fichier Mon_fichier_2. ls -la
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 cp Mon_fichier Mon_fichier.old
en fichier .old. cp Mon_fichier_2 Mon_fichier_2.old
ls -la
total 20
drwxr-xr-x 3 nico nico 4096 2007-02-01 11:39 .
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
-rw-r--r-- 1 nico nico 0 2007-02-01 11:38
Mon_fichier_2.old
-rw-r--r-- 1 nico nico 19 2007-02-01 11:38
Mon_fichier.old
Créer un répertoire mkdir old
"Old".
Déplacer les fichiers mv *.old Old
avec l’extension .old ls -la Old
dans le répertoire total 12
"Old". drwxr-xr-x 2 nico nico 4096 2007-02-01 11:39 .
drwxr-xr-x 4 nico nico 4096 2007-02-01 11:39 ..
-rw-r--r-- 1 nico nico 0 2007-02-01 11:38
Mon_fichier_2.old
-rw-r--r-- 1 nico nico 19 2007-02-01 11:38
Mon_fichier.old
ls -la
total 20
drwxr-xr-x 4 nico nico 4096 2007-02-01 11:39 .
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
drwxr-xr-x 2 nico nico 4096 2007-02-01 11:39 Old
Copier les fichiers cp * Data
sans extension dans le cp: omission du répertoire `Data'
répertoire "Data". cp: omission du répertoire `Old'
ls -la Data
total 12
drwxr-xr-x 2 nico nico 4096 2007-02-01 11:41 .
drwxr-xr-x 4 nico nico 4096 2007-02-01 11:39 ..
-rw-r--r-- 1 nico nico 19 2007-02-01 11:41
Mon_fichier
-rw-r--r-- 1 nico nico 0 2007-02-01 11:41
Mon_fichier_2
ls -la
total 20
drwxr-xr-x 4 nico nico 4096 2007-02-01 11:39 .
drwxr-xr-x 22 nico nico 4096 2007-02-01 11:31 ..
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
-rw-r--r-- 1 nico nico 0 2007-02-01 11:31
Mon_fichier_2
drwxr-xr-x 2 nico nico 4096 2007-02-01 11:39 Old
Sous le répertoire de ln Mon_fichier_2 Mon_lien
départ, créer un lien ls -la
matériel "Mon_lien" total 20
équivalent à drwxr-xr-x 4 nico nico 4096 2007-02-01 11:54 .
"Mon_fichier_2". drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 ..
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
-rw-r--r-- 2 nico nico 0 2007-02-01 11:31
Mon_fichier_2
-rw-r--r-- 2 nico nico 0 2007-02-01 11:31 Mon_lien
drwxr-xr-x 2 nico nico 4096 2007-02-01 11:39 Old
Lister les deux fichiers ls -lai
"Mon_lien" et total 20
"Mon_fichier_2" en 16457 drwxr-xr-x 4 nico nico 4096 2007-02-01 11:54 .
868403 drwxr-xr-x 22 nico nico 4096 2007-02-01
affichant leur numéro 11:43 ..
d’inode. 16619 drwxr-xr-x 2 nico nico 4096 2007-02-01 11:41
Que remarquez vous? Data
16624 -rw-r--r-- 1 nico nico 19 2007-02-01 11:28
Mon_fichier
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
16632 drwxr-xr-x 2 nico nico 4096 2007-02-01 11:39
Old
Leurs numeros d'inode sont identiques donc ces deux
fichiers n'en sont physiquement qu'un seul.
Supprimer rm Mon_lien
"Mon_lien". ls -lai
"Mon_fichier_2" a-t-il total 20
disparu? 16457 drwxr-xr-x 4 nico nico 4096 2007-02-01 11:56 .
868403 drwxr-xr-x 22 nico nico 4096 2007-02-01
11:43 ..
16619 drwxr-xr-x 2 nico nico 4096 2007-02-01 11:41
Data
16624 -rw-r--r-- 1 nico nico 19 2007-02-01 11:28
Mon_fichier
16597 -rw-r--r-- 1 nico nico 0 2007-02-01 11:31
Mon_fichier_2
16632 drwxr-xr-x 2 nico 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".
Lister les deux fichiers ls -la
"Mon_nouveau_lien" total 20
et "Mon_fichier_2". drwxr-xr-x 4 nico nico 4096 2007-02-01 11:57 .
drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 ..
Que remarquez vous? 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
-rw-r--r-- 1 nico nico 0 2007-02-01 11:31
Mon_fichier_2
lrwxrwxrwx 1 nico nico 13 2007-02-01 11:57
Mon_nouveau_lien -> Mon_fichier_2
drwxr-xr-x 2 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.
Supprimer rm Mon_fichier_2
"Mon_fichier_2". ls -la
"Mon_nouveau_lien" total 20
a-t-il disparu? drwxr-xr-x 4 nico nico 4096 2007-02-01 11:59 .
drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 ..
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
lrwxrwxrwx 1 nico nico 13 2007-02-01 11:57
Mon_nouveau_lien -> Mon_fichier_2
drwxr-xr-x 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é.
Quelle est la taille du -b
totale des fichiers 4115 ./Old
contenus dans votre 4115 ./Data
12358 .
répertoire?
La taille est approximative en raison de l'utilisation de blocs
de 512 octets.
Effacer tous les rm -r *
fichiers créés. 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.

Vous aimerez peut-être aussi