Vous êtes sur la page 1sur 41

Corrections des exercices du TP n1

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

La commande manTester la commande man pour obtenir de l'aide sur man. Quelles sont les commandes susceptibles d'tre documentes 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 rpertoires et de fichiers ascii (texte)Lister le contenu du rpertoire /etc. ls /etc

Lister de manire dtaille le contenu du rpertoire /etc. Les fichiers nomms "passwd", "shadow", "group" et "gpasswd" sont-ils prsents dans /etc? ls -la /etc Tous ces fichiers sont bien prsents. Lister le contenu du rpertoire /dev. ls /dev Lister le contenu du 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 fichier /etc/shadow. Lecture refuse. cat /etc/shadow cat /etc/passwd ls -l /etc

Afficher par ordre alphabtique les utilisateurs dfinis dans le fichier /etc/passwd. cat /etc/passwd | sort 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 Rechercher tous les fichiers du rpertoire /etc contenant la chaine de caractres "root". grep root /etc/* ... Rechercher la localisation du fichier "stdio.h" dans le systme de fichier de votre installation. find / -name stdio.h ... find: /tmp/kde-root: Permission non accorde /usr/include/bits/stdio.h

/usr/include/stdio.h A l'aide de la commande "od", illustrer la diffrence majeure existant entre les types de fichier ascii (texte) DOS, UNIX et Macintosh. Utiliser le fichier ascii Dos montexte.dos fourni en lien et crer les fichiers ascii Unix "montexte.unix" et ascii Macintosh "montexte.mac" avec le mme contenu au moyen d'un diteur texte (Kate par exemple) puis comparer (version Macintosh si l'diteur le permet). Quelle est la diffrence? od -x monfichier.dos 0000000 6e75 0a0d 6564 7875 0a0d 7274 696f 0d73 0000020 710a 6175 7274 0d65 630a 6e69 0d71 730a 0000040 7869 0a0d 6573 7470 0a0d 0a0d 0a0d 0a0d 0000060 0a0d 0a0d 0000064 od -c monfichier.dos 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 0000040 i x \r \n s e p t \r \n \r \n \r \n \r \n 0000060 \r \n \r \n 0000064 od -x monfichier.unix 0000000 6e75 640a 7565 0a78 7274 696f 0a73 7571 0000020 7461 6572 630a 6e69 0a71 6973 0a78 6573 0000040 7470 0a0a 0a0a 0a0a

0000050 od -c monfichier.unix 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 0000040 p t \n \n \n \n \n \n 0000050 od -x monfichier.mac 0000000 6e75 640d 7565 0d78 7274 696f 0d73 7571 0000020 7461 6572 630d 6e69 0d71 6973 0d78 6573 0000040 7470 0d0d 0d0d 0d0d 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 commandes de comparaison de fichiers de Linux pour tester le contenu d'un mme fichier texte en version Unix et Dos. cmp monfichier.unix monfichier.dos

monfichier.unix monfichier.dos sont diffrents: 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 mots et de caractres comportent les fichiers "montexte.unix", "montexte.dos" et "montexte.mac"? wc monfichier.unix 12 7 40 monfichier.unix wc monfichier.dos 12 7 52 monfichier.dos wc monfichier.mac 0 7 40 monfichier.mac

CommandesSe localiser dans la hirarchie. pwd Dtecter la prsence de fichiers/rpertoires. 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 entres vers la racine du repertoire et la racine du rpertoire pre Entrer du texte dans Mon_fichier. Lister le contenu de Mon_fichier. echo aaaaaaaaaaaaaaaaaa >Mon_fichier cat Mon_fichier ls -la

aaaaaaaaaaaaaaaaaa Lister son propre rpertoire. 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 /dev Crer sous votre rpertoire 2 sous-rpertoires: "Source" et "Data". mkdir Source Data ls /bin ls

Se positionner sous "Source". cd source Lister le rpertoire. 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 rpertoire de dpart et dtruire "Source". rmdir Source Crer un deuxime fichier Mon_fichier_2. touch Mon_fichier_2 ls -la total 16 cd .. ls -la

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 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 Crer un rpertoire "Old". mkdir old

Dplacer les fichiers avec l extension .old dans le rpertoire "Old". mv *.old Old ls -la Old total 12 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 sans extension dans le rpertoire "Data". cp: omission du rpertoire `Data' cp: omission du rpertoire `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 cp * Data

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 rpertoire de dpart, crer un lien matriel "Mon_lien" quivalent "Mon_fichier_2". ln Mon_fichier_2 Mon_lien ls -la total 20 drwxr-xr-x 4 nico nico 4096 2007-02-01 11:54 . 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 "Mon_lien" et "Mon_fichier_2" en affichant leur numro d inode. Que remarquez vous? total 20 16457 drwxr-xr-x 4 nico nico 4096 2007-02-01 11:54 . ls -lai

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-- 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 "Mon_lien". "Mon_fichier_2" a-t-il disparu? ls -lai total 20 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 rpertoire de dpart, crez un lien symbolique "Mon_nouveau_lien" sur "Mon_fichier_2". ln -s Mon_fichier_2 Mon_nouveau_lien Lister les deux fichiers "Mon_nouveau_lien" et "Mon_fichier_2". rm Mon_lien

Que remarquez vous? total 20

ls -la

drwxr-xr-x 4 nico nico 4096 2007-02-01 11:57 . 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-- 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 "Mon_fichier_2". "Mon_nouveau_lien" a-t-il disparu? rm Mon_fichier_2 ls -la total 20 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 spcifique dans le shell utilis. Quelle est la taille totale des fichiers contenus dans votre rpertoire? 4115 ./Old 4115 ./Data 12358 . La taille est approximative en raison de l'utilisation de blocs de 512 octets. Effacer tous les fichiers crs. 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 .. du -b

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

1. Cration des groupes et des utilisateurs Cration de 2 groupes groupadd group1 groupadd group2 cat /etc/group

... group1:x:1001: group2:x:1002: Cration des 4 utilisateurs avec cration de leurs rpertoires 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 propritaire des rpertoires chown u1:group1 /home/u1 chown u2:group1 /home/u2 chown u3:group2 /home/u3 chown u4:group2 /home/u4 Cration des rpertoires communs mkdir /home/group1 mkdir /home/group2 Mise en place des permissions pour permettre aux utilisateurs d'crire dans le rpertoire de leur groupe chgrp group1 /home/group1 chgrp group2 /home/group2 Mise en place de la permission pour protger de l'effacement tout en autorisant l'criture:

A ce niveau du cours, on ne sait pas rsoudre la dernire problmatique. 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 succs 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 conseilles 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 scurit et la souplesse. Elles permettent le parcours des rpertoires sans en autoriser l'examen avec la commande "ls" tout en autorisant l'accs des rpertoires fils dont les droits seront plus permissifs, utiliss pour changer des fichiers " dans "Unix utilisation administration systme et rseau" par Christian Pellisier. Dans notre exemple, on choisit plutt la valeur 067.

RETOUR

RETOUR

TP n1

Correction TP n1 TP n2 Correction TP n2

TP n3 Correction TP n3 TP n4 Correction TP n4 TP n5

RETOUR

TP n1

Correction TP n1 TP n2 Correction TP n2 TP n3 Correction TP n3 TP n4 Corrections des exercices du TP n1

RETOUR Infos systmeQuel est le systme install? uname -a Linux hector 2.6.15-27-386 #1 PREEMPT Fri Dec 8 17:51:56 UTC 2006 i686 GNU/Linux Quelle est la distribution installe? cat /etc/issue Ubuntu 6.06.1 LTS \n \l Quels sont les utilisateurs en cours du systme? who

nico :0 2007-01-14 16:25 Ouvrir un nouveau terminal en utilisant un autre compte. Fermer ce terminal. exit su user

La commande manTester la commande man pour obtenir de l'aide sur man. Quelles sont les commandes susceptibles d'tre documentes 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 rpertoires et de fichiers ascii (texte)Lister le contenu du rpertoire /etc. ls /etc Lister de manire dtaille le contenu du rpertoire /etc. Les fichiers nomms "passwd", "shadow", "group" et "gpasswd" sont-ils prsents dans /etc? ls -la /etc Tous ces fichiers sont bien prsents. Lister le contenu du rpertoire /dev. ls /dev Lister le contenu du fichier /etc/passwd. root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh cat /etc/passwd ls -l /etc

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 fichier /etc/shadow. Lecture refuse. Afficher par ordre alphabtique les utilisateurs dfinis dans le fichier /etc/passwd. cat /etc/passwd | sort 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 ... cat /etc/shadow

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 fichiers du rpertoire /etc contenant la chaine de caractres "root". grep root /etc/* ... Rechercher la localisation du fichier "stdio.h" dans le systme de fichier de votre installation. find / -name stdio.h ... find: /tmp/kde-root: Permission non accorde /usr/include/bits/stdio.h /usr/include/stdio.h A l'aide de la commande "od", illustrer la diffrence majeure existant entre les types de fichier ascii (texte) DOS, UNIX et Macintosh. Utiliser le fichier ascii Dos montexte.dos fourni en lien et crer les fichiers ascii Unix "montexte.unix" et ascii Macintosh "montexte.mac" avec le mme contenu au moyen d'un diteur texte (Kate par exemple) puis comparer (version Macintosh si l'diteur le permet). Quelle est la diffrence? od -x monfichier.dos 0000000 6e75 0a0d 6564 7875 0a0d 7274 696f 0d73 0000020 710a 6175 7274 0d65 630a 6e69 0d71 730a

0000040 7869 0a0d 6573 7470 0a0d 0a0d 0a0d 0a0d 0000060 0a0d 0a0d 0000064 od -c monfichier.dos 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 0000040 i x \r \n s e p t \r \n \r \n \r \n \r \n 0000060 \r \n \r \n 0000064 od -x monfichier.unix 0000000 6e75 640a 7565 0a78 7274 696f 0a73 7571 0000020 7461 6572 630a 6e69 0a71 6973 0a78 6573 0000040 7470 0a0a 0a0a 0a0a 0000050 od -c monfichier.unix 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 0000040 p t \n \n \n \n \n \n 0000050 od -x monfichier.mac 0000000 6e75 640d 7565 0d78 7274 696f 0d73 7571 0000020 7461 6572 630d 6e69 0d71 6973 0d78 6573

0000040 7470 0d0d 0d0d 0d0d 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 commandes de comparaison de fichiers de Linux pour tester le contenu d'un mme fichier texte en version Unix et Dos. cmp monfichier.unix monfichier.dos monfichier.unix monfichier.dos sont diffrents: 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 mots et de caractres comportent les fichiers "montexte.unix", "montexte.dos" et "montexte.mac"? wc monfichier.unix 12 7 40 monfichier.unix wc monfichier.dos 12 7 52 monfichier.dos

wc monfichier.mac 0 7 40 monfichier.mac

CommandesSe localiser dans la hirarchie. pwd Dtecter la prsence de fichiers/rpertoires. 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 entres vers la racine du repertoire et la racine du rpertoire pre Entrer du texte dans Mon_fichier. Lister le contenu de Mon_fichier. aaaaaaaaaaaaaaaaaa Lister son propre rpertoire. 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 echo aaaaaaaaaaaaaaaaaa >Mon_fichier cat Mon_fichier ls -la

ls /dev Crer sous votre rpertoire 2 sous-rpertoires: "Source" et "Data". mkdir Source Data

Se positionner sous "Source". cd source Lister le rpertoire. 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 rpertoire de dpart et dtruire "Source". rmdir Source Crer un deuxime fichier Mon_fichier_2. touch 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 en fichier .old. cp Mon_fichier Mon_fichier.old cp Mon_fichier_2 Mon_fichier_2.old ls -la total 20 cd .. ls -la

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 Crer un rpertoire "Old". mkdir old

Dplacer les fichiers avec l extension .old dans le rpertoire "Old". mv *.old Old ls -la Old total 12 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 sans extension dans le rpertoire "Data". cp: omission du rpertoire `Data' cp: omission du rpertoire `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 rpertoire de dpart, crer un lien matriel "Mon_lien" quivalent "Mon_fichier_2". ln Mon_fichier_2 Mon_lien ls -la cp * Data

total 20 drwxr-xr-x 4 nico nico 4096 2007-02-01 11:54 . 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 "Mon_lien" et "Mon_fichier_2" en affichant leur numro d inode. Que remarquez vous? total 20 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 .. 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-- 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 "Mon_lien". ls -lai

"Mon_fichier_2" a-t-il disparu? ls -lai total 20

rm Mon_lien

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 rpertoire de dpart, crez un lien symbolique "Mon_nouveau_lien" sur "Mon_fichier_2". ln -s Mon_fichier_2 Mon_nouveau_lien Lister les deux fichiers "Mon_nouveau_lien" et "Mon_fichier_2". Que remarquez vous? total 20 drwxr-xr-x 4 nico nico 4096 2007-02-01 11:57 . 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-- 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 ls -la

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 "Mon_fichier_2". "Mon_nouveau_lien" a-t-il disparu? rm Mon_fichier_2 ls -la total 20 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 spcifique dans le shell utilis. Quelle est la taille totale des fichiers contenus dans votre rpertoire? 4115 ./Old 4115 ./Data 12358 . La taille est approximative en raison de l'utilisation de blocs de 512 octets. du -b

Effacer tous les fichiers crs. 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. Cration des groupes et des utilisateurs Cration de 2 groupes groupadd group1 groupadd group2 cat /etc/group ... group1:x:1001: group2:x:1002: Cration des 4 utilisateurs avec cration de leurs rpertoires 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 propritaire des rpertoires chown u1:group1 /home/u1 chown u2:group1 /home/u2 chown u3:group2 /home/u3 chown u4:group2 /home/u4 Cration des rpertoires communs mkdir /home/group1 mkdir /home/group2 Mise en place des permissions pour permettre aux utilisateurs d'crire dans le rpertoire de leur groupe chgrp group1 /home/group1 chgrp group2 /home/group2 Mise en place de la permission pour protger de l'effacement tout en autorisant l'criture: A ce niveau du cours, on ne sait pas rsoudre la dernire problmatique. 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 succs 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 conseilles 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 scurit et la souplesse. Elles permettent le parcours des rpertoires sans en autoriser l'examen avec la commande "ls" tout en autorisant l'accs des rpertoires fils dont les droits seront plus permissifs, utiliss pour changer des fichiers " dans "Unix utilisation administration systme et rseau" par Christian Pellisier. Dans notre exemple, on choisit plutt la valeur 067.

RETOURhttp://raphaello.univ-fcomte.fr/Linux/20-Exercices/Exercices.htm