Oppgave 1
I denne oppgaven skal du i delspørsmål a) til e) 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) Sett rettigheter til filen ./secret.pl
slik at du har alle
rettigheter mens andre brukere ikke har noen rettigheter.
b) Lag en symbolsk link i katalogen du står i med navn em
til filen /usr/bin/emacs21
.
c) Finn ut om filen /tmp/bank.txt
er lik filen bank.txt
i katalogen du står i.
d) Legg til strengen "The End" til slutten av filen film.txt
i katalogen over den du står i.
e) Finn IP-adressen til maskinen du sitter på.
f) Du er en vanlig bruker på en Linux-maskin og snill som du er prøver du å lage en brukerkonto til mammaen din ved å gjøre:
$ echo "mamma:x:1003:1003:Mamman Min:/home/mamma:/bin/bash" >> /etc/passwd bash: /etc/passwd: Permission deniedHvorfor får du denne feilmeldingen?
g)
Gitt følgende utdrag av manualsiden til kommandoen tail
:
NAME tail - output the last part of files SYNOPSIS tail [OPTION]... [FILE]... DESCRIPTION Print the last 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. -c, --bytes=N output the last N bytes -n, --lines=N output the last N lines, instead of the last 10 --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default 5) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files)Hva gir kommandoen
tail -n 1 /etc/passwd
?
Oppgave 2
På din Linux-laptop er brukerne definert i filen /etc/passwd
og
slutten av filen ser slik ut:
hh:x:1000:1000:Hårek Haugerud:/home/hh:/bin/bash balder:x:1001:1001:Balder Haugerud:/home/balder:/bin/bash diego:x:1002:1002:Diego Armando Maradona:/home/diego:/bin/bashEn linje er bygd opp slik:
brukernavn:x betyr at passord er i /etc/shadow:brukerID:gruppeID:Fullt navn:hjemmekatalog:default shell
I denne oppgaven skal du lage et bash-script med navn adduser
som
legger til en ny bruker på systemet ditt. Scriptet skal kjøres slik
# adduser nybruker
der nybruker
er navnet på den nye brukeren. En ny bruker skal da lages ved å legge til en
passende linje til /etc/passwd
. Scriptet adduser
skal oppfylle følgende:
/etc/passwd
, skal det avslutte med en passende feilmelding
/home
/etc/passwd
øket med en
/etc/passwd
øket med en
/bin/bash
som default shell
/etc/passwd
/etc/shadow
Oppgave 3
I denne oppgaven skal vi se på nettverkstraffikk med utgangspunkt i figuren som viser to nettverk som er koblet til Internett.
a) Hva er betydningen av tallrekken 128.39.16.12
øverst i figuren?
b) Hva er www
og hva er nb.no
på denne maskinen?
c) Forklar kort hvilken funksjon gateway.nb.no
har.
d) På hostene i det øverste nettverket er netmask satt til 255.255.255.0
. Hva er hostnummeret til
www.nb.no
og hva er nettverksnummeret?
e) På hostene i det nederste nettverket er netmask satt til 255.255.252.0
. Hva er hostnummeret til
have.fun.no
og hva er nettverksnummeret?
f) En bruker på join.fun.no
kjenner til navnet www.nb.no
og ønsker å finne ut det tilhørende
128.39.16.12
. Gi en Linux-kommando som gir ham det han ønsker.
g) En bruker på join.fun.no
kjører en browser og surfer på sidene til webserveren på
http://www.nb.no
og taster inn
et passord. Vil en som kjører som root på geek.nb.no
kunne snappe opp dette passordet? Forklar kort.
h) Vil en som kjører som root på have.fun.no
kunne snappe opp dette passordet? Forklar kort.
i) En bruker på join.fun.no
logger seg inn på geek.nb.no
med ssh
. Vil en som kjører
som root på have.fun.no
kunne snappe opp passordet han bruker? Forklar kort.
j) Vil en som kjører som root på gateway.nb.no
kunne snappe opp passordet som blir brukt i
forrige delspørsmål? Forklar kort.
k) Når brukeren på join.fun.no
logger seg inn på geek.nb.no
med ssh
startes opprettelsen
av forbindelesen ved at det sendes en nettverkspakke til geek.nb.no
. Figuren viser noen av feltene i
IP og TCP-headeren for en slik pakke. Skriv ned verdien for feltene: sender adresse, mottager adresse, source port,
destination port, SYN og ACK. Ett av dem kan du ikke vite nøyaktig, men skriv ned en typisk verdi.
l) Som svar på denne pakken, returneres det en pakke fra geek.nb.no
til join.fun.no
. Skriv ned
verdien for de samme feltene som i forrige delspørsmål for denne pakken også.
m) Vil det i prinsippet være mulig for gateway.nb.no
å stoppe all
trafikk til det øverste nettverket som ikke er web-trafikk, bare ved å se på pakke-headerene? Forklar kort.
n) Hva kalles en del av et nettverk som har en slik siling av nettverkspakker som viktigste oppgave?
o) Vil www.nb.no
motta MAC-adressen til join.fun.no
når en bruker derfra kobler seg til? Forklar kort.
p) Anta at en TCP-pakke med data fra www.nb.no
er på vei til join.fun.no
. Nøyaktig samtidig som
nettverkskortet til gateway.fun.no
fysisk sender denne pakken ut på ethernettforbindelsen
til join.fun.no
, sender have.fun.no
en pakke til 129.18.74.114
. Forklar kort hva som vil skje.
Oppgave 4
Når man overfører tekstfiler fra Windows til Unix får man ofte problemer på grunn av at en Windows-linje avsluttes med to tegn, mens en Unix-linje avsluttes med bare ett tegn:
\n
(også kalt linefeed, LF, Ctrl-J og er ASCII-tegn 10)
\r
fulgt av \n
(\r
blir også kalt carriage return, CR, Ctrl-M og er ASCII-tegn 13)
\r
tegn på slutten av linjen.
I denne oppgaven skal du lage et Perl-program som tar et filnavn som argument og fjerner alle CR (\r
) som
befinner seg på slutten av en linje i filen. Du kan eventuelt bruke /tmp
til mellomlagring av filer, men alle slike
filer må slettes etterpå. Hvis det ikke gis ett og bare ett argument til programmet skal det avsluttes med en passende
feilmelding. Hvis filen som angis ikke kan åpnes for lesing skal programmet også avsluttes med en passende
feilmelding.
-SLUTT-