• Aucun résultat trouvé

CT 2012/2

N/A
N/A
Protected

Academic year: 2022

Partager "CT 2012/2"

Copied!
2
0
0

Texte intégral

(1)

Unix et Programmation Shell

 juin

Vous r´epondrez aux questions en par deux lignes en moyenne.

Q 1. Citer deux informaticiens `a l’origine de GNU/linux.

Q 2. Pr´eciser trois acronymes du mondeunix.

Q 3. La commande uname permet d’obtenir des informations sur le syst`eme. Lesquelles ? Q 4. Donner un exemple de syst`eme d’exploi- tation r´ecent bas´e sur un noyaulinux.

Q 5. Rappeler l’organisation g´en´erale du syst`eme de fichiers unix.

Q 6. Quelle est la particularit´e du r´epertoire /proc?

Q 7. D´ecrire avec pr´ecision le rˆole d’une ligne de shell commen¸cant par le caract`ere #.

Q 8. Pr´eciser 7 commandes internes popu- laires du shell bash.

Q 9. D´etailler

$ l s −i l /tmp/ f b . sh

48744 −rwxr−x−−x 1 f o o bar 35 6 j u i n 1 0 : 2 3 /tmp/ f b . sh Q 10. Commenter avec pr´ecision le r´esultat de la commande ci-dessous :

$ / u s r / b i n / t i m e −−f o r m a t=”cpu=%U”\

t i m e −p s l e e p 2 r e a l 2 . 0 0

u s e r 0 . 0 0 s y s 0 . 0 0 cpu =0.00

Q 11. Proposer une explication

$ a l i a s xp=’ i f ! c a t $ ( ( x++))

2>/dev / n u l l ; t h e n e c h o −n $x ; f i ’

$ xp ; xp ; xp ; xp 12 t r o i s

4

Q 12. Que fait la commande

g r e p −rE ’ ( [ 0−9 ]{1 , 3} \. ){3}[ 0−9 ] + ’

−−i n c l u d e=r∗.∗f / e t c 2>/dev / n u l l Dans la plupart des cas, cette commande ´ecrira au moins une ligne. Pourquoi ?

Q 13. Pour supprimer correctement les ba- lises html du fichier index.html, quelle est la bonne commande ?

$ s e d ’ s /<[ˆ>]∗>// ’ i n d e x . html

$ s e d ’ s /<.∗>// ’ i n d e x . html

$ s e d ’ s /<[ˆ>]∗>//g ’ i n d e x . html

$ s e d ’ s /<.∗>//g ’ i n d e x . html Q 14. Commenter

[ / tmp/ i c i ] $

e c h o ’ cd $1 ; pwd’>cd ; chmod u+x cd ; [ / tmp/ i c i ] $ mkdir /tmp/ l a b a s [ / tmp/ i c i ] $ . / cd /tmp/ l a b a s /tmp/ l a b a s

[ / tmp/ i c i ] $

Q 15. Dans l’exemple ci-dessous, sur quel hˆote est ex´ecut´e la commandewho?

[ ] $ s s h pl@192 . 1 6 8 . 0 . 1 0 0 who pl@192 . 1 6 8 . 0 . 1 0 0 ’ s password : ∗∗∗

p l t t y 1 2013−06−06 0 7 : 5 7 p l p t s /1 2013−06−06 1 3 : 1 9 p l p t s /2 2013−06−06 1 3 : 0 5 p a t p t s /3 2013−06−06 1 3 : 3 2

Rappeler les ´etapes `a suivre pour ex´ecuter des commandes sur une machine distantes sans fournir de mot de passe.

Q 16. Ecrire un script : whereis user hosts, pour d´eterminer sur quel hˆote est connect´e un utilisateur donn´e.

– user : utilisateur

– hosts: fichier contenant la liste des hotes accessibles parssh.

Utiliser les commandes : ping,sshetwho.

1

(2)

1 e x e c v e ( ” / b i n /;−)

2 open ( ” / dev / t t y ” , O RDWR|O NONBLOCK) = 3 3 open ( ” / p r o c / meminfo ” , O RDONLY) = 3

4 r e a d ( 3 , ”MemTotal : 1798268 kB\nMemF ” . . . , 1 0 2 4 ) = 1024 5 c l o n e ( P r o c e s s 23357 a t t a c h e d

6 c h i l d s t a c k =0 , f l a g s=CLONE CHILD CLEARTID|CLONE CHILD SETTID|SIGCHLD, c h i l d 7 [ p i d 2 3 3 5 6 ] c l o n e ( P r o c e s s 23358 a t t a c h e d

8 c h i l d s t a c k =0 , f l a g s=CLONE CHILD CLEARTID|CLONE CHILD SETTID|SIGCHLD, c h i l d

9 [ p i d 2 3 3 5 7 ] dup2 ( 4 , 1 ) = 1

10 [ p i d 2 3 3 5 8 ] dup2 ( 3 , 0 ) = 0

11 P r o c e s s 23356 s u s p e n d e d

12 [ p i d 2 3 3 5 7 ] open ( ” / tmp/ s r c ” , O RDONLY) = 3

13 [ p i d 2 3 3 5 7 ] dup2 ( 3 , 0 ) = 0

14 [ p i d 2 3 3 5 7 ] e x e c v e ( ” / b i n / c a t ” , [ ” c a t ” ] , [ /∗ 53 v a r s / ] ) = 0 15 [ p i d 2 3 3 5 8 ] open ( ” / tmp/ d s t ” , O WRONLY|O CREAT|O TRUNC, 0 6 6 6 ) = 3

16 [ p i d 2 3 3 5 8 ] dup2 ( 3 , 1 ) = 1

17 [ p i d 2 3 3 5 8 ] e x e c v e ( ” / u s r / b i n /wc ” , [ ” wc ” , ”−l ” ] , [ / 53 v a r s / ] <u n f i n i s h e d 18 [ p i d 2 3 3 5 8 ] <. . . e x e c v e resumed> ) = 0

19 [ p i d 2 3 3 5 7 ] r e a d ( 0 , ” gnu p o s i x Bash s e d awk\n ” , 3 2 7 6 8 ) = 23

20 [ p i d 2 3 3 5 7 ] w r i t e ( 1 , ” gnu p o s i x Bash s e d awk\n ” , 23 <u n f i n i s h e d . . .>

21 [ p i d 2 3 3 5 7 ] <. . . w r i t e resumed> ) = 23 22 [ p i d 2 3 3 5 8 ] <. . . open resumed> ) = 3 23 [ p i d 2 3 3 5 7 ] r e a d ( 0 , ” ” , 3 2 7 6 8 ) = 0 24 P r o c e s s 23356 resumed

25 P r o c e s s 23357 d e t a c h e d

26 [ p i d 2 3 3 5 8 ] r e a d ( 3 , ”# L o c a l e name a l i a s d a t a b a s e .\n # ” . . . , 4 0 9 6 ) = 2512 27 P r o c e s s 23356 s u s p e n d e d

28 [ p i d 2 3 3 5 8 ] r e a d ( 3 , ” ” , 4 0 9 6 ) = 0

29 [ p i d 2 3 3 5 8 ] r e a d ( 0 , ” gnu p o s i x Bash s e d awk\n ” , 1 6 3 8 4 ) = 23 30 [ p i d 2 3 3 5 8 ] r e a d ( 0 , ” ” , 1 6 3 8 4 ) = 0

31 [ p i d 2 3 3 5 8 ] w r i t e ( 1 , ”1\n ” , 2 ) = 2 32 P r o c e s s 23356 resumed

33 P r o c e s s 23358 d e t a c h e d

34 −−− SIGCHLD ( C h i l d e x i t e d ) @ 0 ( 0 ) −−−

Fig. 1 – capture des appels syst`emes.

Q 17. Le script (2) a ´et´e utilis´e pour obtenir les traces (1).

– Commenter ce script.

– Quelle commande de d´ebogage a ´et´e utilis´ee ?

– Donner un autre exemple de commande de d´ebogage.

– Quelle commande a ´et´e trac´ee ?

– Repr´esenter sh´ematiquement les processus, fichiers et descripteurs de fichiers mis en jeux par la commande trac´ee.

f l a g s=read , w r i t e , open , dup2 , e x e c v e , c l o n e

s t r a c e −f e t r a c e=$ f l a g s bash −c ” $1 ” &> t r a c e s . a l l g r e p −vE ’ ( l i b|s h a r e|ELF| \. s o| −1 ) ’ t r a c e s . a l l \

| s e d ’ s / bash .∗/ ;−) / ’ | c u t −c1−75 > t r a c e s . t x t Fig. 2 – script de tra¸cage.

2

Références

Documents relatifs

B&amp;T ® AG, Switzerland and the logo are registrered trademarks of B&amp;T ® , Switzerland and are used under worldwide exclusive license for airsoft guns by ActionSportGames ®

For the design of a portable communication device, the design team followed people. throughout the day, observing moments at which they would like

« Après avoir démontré avec succès qu’il était possible de concilier relation client et surdité, notamment au travers de formations adaptées, nous voulons maintenant créer

Si vous désirez transférer l’appel vers le dispositif main-libre du véhicule lorsque vous utilisez votre téléphone mobile, appuyez sur le bouton ou appuyez et tenez (plus de

ECHO ne peut être en aucune manière tenu pour responsable du traitement et suivi des contenus et services tiers accessibles par le biais de cet appareil.. Toute question ou

v Si vous recevez un appel ou un message d’une personne qui ne fait pas partie de votre liste de contacts, vous pouvez créer une entrée de contact pour celle-ci à partir du

Pour éviter de créer des interférences lors d'opérations de dynamitage, ÉTEIGNEZ votre téléphone lorsque vous vous trouvez dans une zone de dynamitage ou dans toute zone où

Pendant le fonctionnement de l’appareil, appuyer sur le bouton «Start/pause» du robot ou le bouton pause de la télécommande ou l’application pour suspendre