Vous êtes sur la page 1sur 1

Corrections des exercices du TP n°1

RETOUR Infos système

Quel est le système uname -a


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

Quelle est la cat /etc/issue


Ubuntu 6.06.1 LTS \n \l
distribution installée?
Quels sont les who
nico :0 2007-01-14 16:25
utilisateurs en cours
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 is the systems manual pager. Each page argument given to man is normally
man pour obtenir de the name of a program, utility or function.

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 ls /etc


répertoire /etc.
Lister de manière ls -l /etc
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?
Lister le contenu du ls /dev
répertoire /dev.
Lister le contenu du cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
fichier /etc/passwd. 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
backup:x:34:34:backup:/var/backups:/bin/sh
alphabétique les bin:x:2:2:bin:/bin:/bin/sh
cupsys:x:100:106::/home/cupsys:/bin/false
utilisateurs définis daemon:x:1:1:daemon:/usr/sbin:/bin/sh
dans le fichier dhcp:x:101:101::/nonexistent:/bin/false
games:x:5:60:games:/usr/games:/bin/sh
/etc/passwd. ...
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 find: /tmp/kde-root: Permission non accordée
"stdio.h" dans le /usr/include/bits/stdio.h
/usr/include/stdio.h
système de fichier de
votre installation.
A l'aide de la od -x monfichier.dos
0000000 6e75 0a0d 6564 7875 0a0d 7274 696f 0d73
commande "od", 0000020 710a 6175 7274 0d65 630a 6e69 0d71 730a
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
ascii (texte) DOS, 0000020 \n q u a t r e \r \n c i n q \r \n s
0000040 i x \r \n s e p t \r \n \r \n \r \n \r \n
UNIX et Macintosh. 0000060 \r \n \r \n

Utiliser le fichier ascii 0000064


od -x monfichier.unix
Dos montexte.dos 0000000 6e75 640a 7565 0a78 7274 696f 0a73 7571
fourni en lien et créer 0000020 7461 6572 630a 6e69 0a71 6973 0a78 6573
0000040 7470 0a0a 0a0a 0a0a
les fichiers ascii Unix 0000050
"montexte.unix" et od -c monfichier.unix
0000000 u n \n d e u x \n t r o i s \n q u
ascii Macintosh 0000020 a t r e \n c i n q \n s i x \n s e
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
texte (Kate par 0000040 7470 0d0d 0d0d 0d0d
0000050
exemple) puis od -c monfichier.unix
comparer (version 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
Macintosh si l'éditeur 0000040 p t \r \r \r \r \r \r
le permet). 0000050

Quelle est la Codage des fins de ligne sous Dos par les deux caracteres 0x0D et
différence? 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 commandes cmp monfichier.unix monfichier.dos
monfichier.unix monfichier.dos
de 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
< un
même fichier texte en < deux
< trois
version Unix et Dos. < 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
fichiers wc monfichier.mac
0 7 40 monfichier.mac
"montexte.unix",
"montexte.dos" et
"montexte.mac"?

Commandes

Se localiser dans la pwd


hiérarchie.
Détecter la présence ls -la
total 8
de drwxr-xr-x 2 nico nico 4096 2007-02-01 11:25 .
drwxr-xr-x 22 nico nico 4096 2007-02-01 11:25 ..
fichiers/répertoires.
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
aaaaaaaaaaaaaaaaaa
Mon_fichier.
Lister son propre ls
Mon_fichier
répertoire. 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


ls /dev
/bin et /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 ..
rmdir Source
répertoire de départ
et détruire "Source".
Créer un deuxième touch Mon_fichier_2
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 cp Mon_fichier Mon_fichier.old


cp Mon_fichier_2 Mon_fichier_2.old
en fichier .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
ls -la Old
avec l’extension .old total 12
dans le répertoire drwxr-xr-x
drwxr-xr-x
2
4
nico
nico
nico 4096 2007-02-01 11:39 .
nico 4096 2007-02-01 11:39 ..
"Old". -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 sans cp * Data


cp: omission du répertoire `Data'
extension dans le cp: omission du répertoire `Old'
ls -la Data
répertoire "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


ls -la
départ, créer un lien total 20
matériel "Mon_lien" drwxr-xr-x 4 nico nico 4096
drwxr-xr-x 22 nico nico 4096
2007-02-01
2007-02-01
11:54
11:43
.
..
équivalent à 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
"Mon_fichier_2". -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 ls -lai


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
affichant leur numéro 16624 -rw-r--r-- 1 nico nico
16597 -rw-r--r-- 2 nico nico
19 2007-02-01 11:28 Mon_fichier
0 2007-02-01 11:31 Mon_fichier_2
d’inode. 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
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
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 ls -la
total 20
fichiers drwxr-xr-x 4 nico nico 4096 2007-02-01 11:57 .
drwxr-xr-x 22 nico nico 4096 2007-02-01 11:43 ..
"Mon_nouveau_lien" et drwxr-xr-x 2 nico nico 4096 2007-02-01 11:41 Data
"Mon_fichier_2". -rw-r--r-- 1
-rw-r--r-- 1
nico
nico
nico
nico
19 2007-02-01 11:28 Mon_fichier
0 2007-02-01 11:31 Mon_fichier_2
Que remarquez vous? 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
ls -la
"Mon_fichier_2". total 20
"Mon_nouveau_lien" a- drwxr-xr-x
drwxr-xr-x
4 nico nico 4096 2007-02-01 11:59 .
22 nico nico 4096 2007-02-01 11:43 ..
t-il disparu? 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
4115 ./Old
totale des fichiers 4115 ./Data

contenus dans votre 12358 .


La taille est approximative en raison de l'utilisation de blocs de 512
répertoire?
octets.
Effacer tous les rm -r *
ls -la
fichiers créés. 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