Emnekode: SO135A Dato: onsdag 25. feb. I Antall oppgaver: 4



Like dokumenter
faks: Avdeling for Ingeniørutdanning. Cart Aælersgate Oslo - tlf 05. iu@hio.no

Emnekode: SOl35A Alle trykte og skrevne hjelpemidler

Oppgave 1 - Java og prosesser (20%)

Eksamensinformasjon. Prosesser. Prosesser. Eksamensoppgave. Operativsystemer (DATS/ITPE2500) Bokmål 06. juni 2017 kl

Antall sider:5 (Inkludert denne) Alle skrevne og trykte hjelpemidler samt kalkulator

Avdeling for ingeniørutdannlng. Con Adelersgate Oslo. tlf: faks:

Eksamensinformasjon. Linux kommandolinje. Linux kommandolinje. Eksamensinformasjon. Fakultet: Teknologi, kunst og design. Tid: 3 t.

Høgskoleni Østfold. Ny/utsatt EKSAMEN

d~~ "5(~~~~ ~ \ - -~-- en av disse: Annen lærer r Studieleder/ Fagkoordinator Utarbeidet av (faglærer) :

-/tmp med navn på alle kataloger og filer etter at disse

EKSAMEN. Operativsystemer. 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater.

EKSAMEN. Dato: 7. desember 2016 Eksamenstid: 09:00 13:00

Antall sider:s (inkludert denne) Alle skrevne og trykte hjelpemidler samt kalkulator

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

Emnenavn: Datakommunikasjon. Eksamenstid: 9:00 til 13:00. Faglærere: Erling Strand

Oppgave 1 - Linux kommandolinje (%)

EKSAMEN. Operativsystemer og nettverk

Prøve- EKSAMEN. Operativsystemer med Linux

Filterprogrammer og redirigering av I/O

Filterprogrammer og redirigering av I/O

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne

Lynkurs i shellprogrammering under Linux

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

6107 Operativsystemer og nettverk

EKSAMEN. Dato: 24. november 2015 Eksamenstid: 09:00 13:00

Avdeling for ingeniørutdanning. Cort Adelersgate Oslo. tlf: faks:

~ Gruppe(r): 2EA$ 2EC rdato:24.02.æ

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG

lfæ~~~~:::j~~:~l -.~=:~-t::-d I Alle trykte og håndskrevne EKSAMENSOPPGA VE Side l av 5 Eksamenstid:

Nyttige Linux-kommandoer. Hvordan du kan jobbe mer effektivt Dag Langmyhr

Ny/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00

Løsningsforslag til eksamen 24. november 2015

Oversikt. Informatikk. INF1000: Grunnkurs i objektorientert programmering. Utenom INF1000 Informasjon & hjelp

Emne: Datamaskinarkitektur Emnekode:lO 134A Faglig veileder: Lars Kristiansen

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE. Antall sider (Inkl forsiden): 8. Alle trykte og håndskrevne

UNIVERSITETET I OSLO

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Øving 0 - Xcode TDT4102

Ny EKSAMEN. Operativsystemer og nettverk

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

OPPLÆRINGSREGION NORD. Skriftlig eksamen. DEL2002 Elektronisk infrastruktur VÅREN Privatister. Vg2 Data og elektronikk

UNIVERSITETET I OSLO

EKSAMEN. Operativsystemer. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.

Hvordan å lage og publisere ditt personlige visittkort

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

G høgskolen i oslo. Dato: . Tillatte. .3aa, 3ab, 3ac, 3ia, 3ib, 3ic. Kandidaten må selv kontrollere at oppgavesettet er fullstendig.

Skriftlig eksamen TIP 1001

EKSAMEN. Emne: Datakommunikasjon. Dato: 30. Nov 2016 Eksamenstid: kl. 9:00 til kl. 13:00

EKSAMEN. Emne: Datakommunikasjon

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

Hendelser Apprentice ComputerCraft PDF

EKSAMEN. Emne: Datakommunikasjon

Introduksjon til dataanlegget ved Institutt for informatikk. Marc Bezem Institutt for informatikk Universitetet i Bergen

Kom i gang med programmering i Java

Oppgaver til forkurs i informatikk dag 1

1 t:n'v'\ekode LO325E. Alle ~vne og trykte. GOd'"j(jent kalkulator

UNIVERSITETET I OSLO

Emnekode: LV121A Dato: Alle skrevne og trykte hjelpemidler

OPPLÆRINGSREGION NORD. Skriftlig eksamen. TIP1003 Dokumentasjon og kvalitet HØST Privatister. Vg1 Teknikk og industriell produksjon

Brukermanual for Quizbuilder

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

I O. data. Faglig veileder: Hårek HauQerud Eksamenstid: ~.OO 'Antall vedlegg. ~mne: Operativsystem er og Unix 'Gruppe( r) iforsiden): 6

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

Kjøre Wordpress på OSX

Gruppe(r): 2EY Eksamenstid, fra-til: Eksamensoppgaven består av. Antall sider: 4 (Inkludert denne)

$ls -l $grep -i Olsen adresseliste.txt less #!/bin/sh $echo `ls` $chmod 755. Praktisk Linux. Grunnleggende skall kommandoer. Irene Ludvigsen Husa

EKSAMEN. Emne: Algoritmer og datastrukturer

Operativsystemer og nettverk

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

Gi en overordnet beskrivelse av RAID-nivå 0, 1 og 6. Gi eksempler på egnet bruk for hver. Skriv ditt svar her...

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

Antall oppgaver: 6. Alle trykte og skrevne hjelpemidler

Kurset består av to relativt uavhengige deler. Foreleser: Hårek Haugerud, rom PS431

Håndtering av filer og kataloger

OPPLÆRINGSREGION NORD. Skriftlig eksamen. ELE1001 Data- og elektronikksystemer HØSTEN Privatister. Vg1 Elektrofag

Installere JBuilder Foundation i Windows XP

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

Litt info om Unix-nettet/maskinene. Hvorfor kjøre matlab på Unix. Overføring av filer mellom PC og Unix. Hvordan få tilgang/unix-bruker

Humanware Companion.

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

Håndtering av filer og kataloger

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

TDT4110 IT Grunnkurs Høst 2014

UNIVERSITETET I OSLO

1 Innledning. 2 Fremgangsmåte. 3 Windows - installering. C++ i Unix 1 TDT4102 NTNU

INSPERA - brukerveiledning for student skoleeksamen

OPPLÆRINGSREGION NORD. Skriftlig eksamen TIP1002 HØSTEN Privatister. Tekniske tjenester

UNIVERSITETET I OSLO

OPPLÆRINGSREGION NORD. Skriftlig eksamen. MUS2001 Ergonomi og bevegelse 1. Våren Privatister. VG2 Musikk

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

Labbene skal være oppsatt med dual boot. Disse labene er satt opp med dual boot, dvs. at vi må velge Linux eller Windows under oppstart av maskin.

Betinget eksekvering og logiske tester i shell

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene.

Om oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre egne presiseringer. Formulér i så fall disse tydelig i oppgavebesvarelsen din.

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

Transkript:

~ høgskolen i oslo Emne: Operativsvstemer ap Unix ~-Gruppe(r) data Eksamensoppgave n består av: Antall sider (inkl. Forsiden): 6 Emnekode: SO135A Dato: onsdag 25. feb I Antall oppgaver: 4 Faglig veileder: Hårek HauQerud Eksamenstid: 9.00-12.00 Antall vedlegg: O Tillatte hjelpemidler Alle trykte og skrevne Kandidaten må selv kontrollere at oppgavesettet er fullstendig. Ved eventuelle uklarheter i oppgaveteksten skal du redegjøre for de forutsetninger du legger til grunn for løsningen. Avdeling for ingeniørutdanning. Con Adelersgate 30. 0254 Oslo. tlf: 22 45 3200. faks: 22 45 32 05. iu@hio.no

Eksamen vår 2004 Operativsystemer og UNIX Les nøye gjennom oppgavene før du begynner og pass på å besvare alle spørsmålene. Alle trykte og skrevne hjelpemidler er tillatt. Oppgavene vil ikke bli vektlagt likt ved sensur. En sannsynlig fordeling er at oppgave 1 teller 10%, oppgave 2 teller 35%, oppgave 3 teller 25% og oppgave 4 teller 30%. De som ønsker det kan besvare oppgavene eller deler av oppgavene på engelsk. Sett gjeme egne forutsetninger dersom du synes oppgaveteksten er uklar. Beskriv forutsetningene og løs oppgaven utijra dem. Oppgave 1 I denne oppgaven skal du i delspørsmål a) til d) løse problemet ved å angi en kommando på en linje, slik du ville ha tastet den inn til bash på en Linux-maskin fra tastaturet (du svarer for eksempel mkdir kat hvis du blir spurt: Opprett en katalog med navn kat). a) Gi en kommando som sletter filen fil. txt som ligger i katalogen /tmp.. b) Gi en kommando som setter rettighetene til din fil /tmp/open slik at eieren (du) har alle rettigheter mens gruppen og alle andre bare kan lese filen. c) Gi en kommando som l~ter ned siden http: / /vww. vg. no/ index. html til katalogen du står i. d) Gi en kommando som gir antall linjer i filen index.html som inneholder ordet 'sport' e) Du utfører følgende: $ PATH="" $ Is Hva blir output? 'f) Hva skjer når du utfører følgende script? I! /bin/bash $0 t g) Hva skjer når du utfører følgende script og hvorfor bør du IKKE kjøre dette scriptet? I! Ibin/bash $0 t $Ot Oppgave 2 a) Et "Network Intrusion Detection System" er et system som prøver å oppdage om noen forsøker å bryte seg inn på et nettverk. Et meget utbredt slikt system heter snort og oppdager innbruddsforsøk ved å sammenligne nettverkstraf1kk med en rekke regler for hvordan kjente innbrudd ser ut. Dette settet med regler oppdateres jevnlig og ligger i en fil på web-adressen http://wwv.snort.org/dl/rules/snortrules-snapshot-2_1.tar.gz. r denne deloppgaven skal du lage et bash-script som henter denne filen og pakker den ut. Du kan tenke deg.1

at f. eks. cron sørger for at scriptet kjøres en gang i døgnet og at det blir kjørt av root. Når du pakker ut tar.gz-filen, lages det en katalog med navn rules som inneholder alle filene som snort trenger. Scriptet skal oppfylle følgende:. tar. gz-filen og rules-katalogen skal legges i / etc/ abort. tar. gz-filen skal beholdes helt til en ny tar. gz-fillastes ned. Da skal den gamle slettes først.. Før tar. gz-filen pakkes ut, skal den gamle rules-katalogen flyttes til en med navn rules. old. Den gamle rules. old må slettes før flyttingen i forrige punkt. Før noe slettes eller flyttes, skal det sjekkes om det eksisterer i utgangspunktet. Både eier og gruppe for rules-katalogen skal settes til root b) Skrivet bash-script rename som endrer filendeise på filer i katalogen det kjøres. Brukeren angir en filendeise og hva den skal endres til med to argumenter. Hvis man bruker rename som følger: $ rename vav mp3 Endrer fil.vav til fil.mp3 Endrer fi12.vav til fi12.mp3 skal alle filer i katalogen som har filendelse wav endres til mp3. En opplysning om hver endring skal gis som i eksempelet. Hvis brukeren ikke angir to argumenter skal scriptet avslutte 'og oppgi riktig syntaks. Hvis det ikke finnes filer med den filendelsen brukeren angir som første argument, skal scriptet gi en melding om det. Manualsiden for kommandoen basename kan være til hjelp for å løse denne oppgaven. HAME basename - strip directory and suffix from filenames SYNOPSIS basename NAME (SUFFlI] basename OPTION DESGRIPTION Print NAME vi th any leading directory components removed tralling SUFFIX. It apecified. alao 1."8moVe a. Oppgave 3 I denne oppgaven skal vi se på forskjellene mellom programmer skrevet i Java, C og bash og deres avhengighet av hvilken maskinplattform og hvilket operativsystem man kjører dem på. På din x86-pc som kjører Linux har du kildekoden til et Java-program med navn HeIlo. java. Du gjør følgende: $ javac Hello.java $ java HeIlo HeIlo world! 2

a) Forklar kort de to kommandoene, hva som skjer og hva filen Hello.class er. b) Du kopierer HeIlo. class til en Sun Unix-maskin som kjører Solaris og kjører det med $ java He110 Vil programmet kunne kjøre her? Forklar kort. Krever det eventuelt spesielle forutsetninger? c) Du kopierer HeIlo. class til en Windows 2000 PC og kjører det fra Command Prompt med C:\>java Hello Vil programmet kunne kjøre her? Forklar kort. Krever det eventuelt spesielle forutsetninger' d) På din Linux-PC kompilerer du C-programmet Hello.c og får den eksekverbare filen a.out. følgende: Du gjør $ a.out Hello vorld1 Forklar kort hva som skjer e) Du kopierer a. out til en Sun Unix-maskin som kjører Solaris og kjører det med $ a.out Vil programmet kunne kjøre her? Forklar kort. Krever det eventuelt spesielle forutsetninger: f) Du kopierer a. out til en Windows 2000 PC (som kjører på nøyaktig samme hardware som din Linux-PC) og kjører det fra Command Prompt med C:\>a.out Vil programmet kunne kjøre her? Forklar kort. Krever det eventuelt spesielle forutsetninger? g) På din Linux-PC kjører du bash-scriptet HeIlo. babb som ser slik ut.! Ibin/bash echo "Hello vorld!" Forklar kort hva. som skjer når du kjører det (ikke bare hva. output blir, men også litt om hvordan maskinen utfører koden). h) Du kopierer HeIlo. babb til en Sun Unix-maskin som kjører Solaris og kjører det med $ Hello.baBh 3

Vil programmet kunne kjøre her? Forklar kort. Krever det eventuelt spesielle forutsetninger? i) Du kopierer HeIlo. babb til en Windows 2000 PC og kjører det fra Command Prompt med C:\>Hell0.bash Vil programmet kunne kjøre her? Forklar kort. Krever det eventuelt spesielle forutsetninger? Oppgave 4 Programmet traceroute gir deg en mulig rute som en nett verks pakke følger når man sender noe til en annen host. Fra en maskin på skolen kan det f. eks. se slik ut: $ lusrlsbin/traceroute anyon.uio.no traceroute to anyon.uio.no (129.240.86.20). 30 hopa max. 40 byte packets 1 cadeler30-gv.uninett.no (128.39.89.1) 1 ms 1 ms 1 ms 2 pi152-gv.uninett.no (158.36.84.21) 4 ms 1 ms 1 ms 3 stolav-gv.uninett.~o (128.39.0.73) 2 ms 1 ms 1 ms 4 oslo-gv1.uninett.no (128.39.46.249) 1 as 1 ms 1 ms 5 uio-gv7.uio.no (128.39.3.94) 1 ms 1 ms 1 ms 6 abel-gv.uio.no (129.240.100.126) 1 ms 1 ms 1 ms 7 fys-gv.uio.no (129.240.100.138) 1 ms 1 ms 1 ms 8 anyon.uio.no (129.240.86.20) 1 ms 1 ms 2 ms I denne oppgaven skal du skrive ditt eget traceroute program i Perl. Generelt lagres det ikke informasjon om hvilke gateways en pakke er innom. Men man kan finne det ut ved hjelp av et lite triks. I IP-headeren er det et felt som kalles "Time To Live" (ttl) og som inneholder et tall. Hver gang en pakke er innom en gateway, senkes dette tallet med en. Hvis det blir null, droppes pakken og gatewayen sender en melding til avsender om at pakken har blitt droppet. Dette gjøres for å være sikker på at en pakke ikke går i en evig løkke. Du skal i scriptet utnytte dette. Hvis man sender en pakke med ttl = 1, vil den droppes av den første gatewayen pakken kommer til. Kommandoen ping har en opsjon -t som gjør at man kan sette ttl-verdien. Dermed får man følgende resultat: $ ping -v 1 -c 1 -t 1 anyon.uio.no PIHG anyon.uio.no (129.240.86.20) from 128.39.89.9 : 56(84) byte. of data. From cadeler30-gw.uninett.no (128.39.89.1) icmp_seq-1 T~ to live exceeded (Opsjonen -w 1 angir at man bare skal vente ett sekund på svar på den opprinnelige pakken. Opsjonen -c 1 angir at det kun skal sendes en pakke.) Dermed vet man at når man sender en pakke til anyon. uio. no, er cadeler30-gw. uninett. no den første gatewayen pakken går til. Neste steg blir å sende en ping-pakke med ttl = 2. Først går den til cadeler30-gw. uninett. no som senker ttl fra 2 til log sender den videre i riktig retning. Neste gateway senker så ttl fra 1 til O og sier ifra til avsender om at pakken er droppet: $ ping -y 1 -c 1 -t 2 anyon.uio.no PIHG anyon.uio.no (129.240.86.20) from 128.39.89.9 : 56(84) bytes of data. From pil52-gw.uninett.no (158.36.84.21) icmp_seq=1 Time ti) live exceeded Slik kan man fortsette å øke ttl-verdier helt til man kommer helt fram. I vårt eksempel må vi øke ttl helt til 8 og da får vi en anderledes tilbakemelding: 4

$ ping -y 1 -c 1 -t 8 anyon.uio.no PIKG anyon.uio.no (129.240.86.20) from 128.39.89.9 ; 56(84) bytes of data. 64 bytes from anyon.uio.no (129.240.86.20); icmp_seq-1 ttl=248 time=1.51 ms Lag et Perl-program ttl. pl som bruker output fra ping og denne strategien til å finne veien e.n pakke sannsynligvis vil ta. Output fra programmet skal i vårt eksempel være: $ ttl.pl anyon.uio.no 1 cadeler30-gv.uninett.no (128.39.89.1) 2 pi152-gv.uninett.no (158.36.84.21) 3 stolav-gv.uninett.no (128.39.0.73) 4 oslo-gv1.uninett.no (128.39.46.249) 5 uio-gv7.uio.no (128.39.3.94) 6 abel-gv.uio.no (129.240.100.126) 7 fys-gv.uio.no (129.240.100.138) 8 anyon.uio.no (129.240.86.20) Scriptet skal avsluttes hvis ttl blir over 100. Feilmelding skal gis om ikke nøyaktig ett argument blir brukt. Hvis man sender ping til en hast som ikke finnes, får man følgende tilbakemelding: $ ping -w 1 -c 1 -t 2 finnes.ikke.no ping: unknown host finnes. ikke. no Brukeren skal da få en melding fra scriptet om at angitt host ikke finnes. (NB! V ær oppmerksom på at ping sender "unknown host"-meldingen til stderr, men at konstruksjonen 2>11 videresender stderr til stdout.) -SLUTT- 5