Linux palvelimet ICT4TN021-5
Takaisin juureen

Kotitehtävä 2
4.9.2017

1. Tapahtumaloki

Tehtävän tekoon kului noin 30 minuuttia.

Tehtävän alustana toimii kotipalvelimeni näillä spekseillä:

MODELAcer Aspire One 722
CPUAMD Brazos C-60 1.0 GHz
MEM4 GB 1066 MHz DDR3
HDD320 GB // 5400 rpm
GPUAMD Radeon HD 6290
OSUbuntu Server 16.04.3 LTS

Ensimmäinen tehtävä oli aiheuttaa lokiin kaksi tapahtumaa: yksi onnistunut, ja yksi epäonnistunut/kielletty toimenpide, ja sen jälkeen analysoida rivit yksityiskohtaisesti.

Päätin käyttää esimerkkinä palvelimellani pyörivää Mumble-serveriä ja sen lokeja. Mumble-serverini pyörii osoitteessa renki.dy.fi portin 64738 takana. Yhdistin palvelimelle kännykälläni, käyttäen ilmaista Android-applikaatiota Plumble Free, versiota 3.2.0.

Kokemuksesta tiedän, että Mumble ei salli huutomerkillä alkavaa käyttäjänimeä, joten asetin käyttäjänimekseni "!HuonoNimi" ja yhdistin palveluun. Tämän jälkeen kirjoitin palvelinkoneellani komentoriville komennon, joka lukee Mumblen lokit:
cat /var/log/mumble-server/mumble-server.log

Login lopusta löytyi seuraavat rivit:

1 <W>2017-09-04 18:57:53.900 1 => <3:(-1)> New connection: 37.219.14.179:47805
2 <W>2017-09-04 18:57:54.502 1 => <3:(-1)> Client version 1.2.5 (Android: Plumble Free 3.2.0)
3 <W>2017-09-04 18:57:54.634 1 => <3:!HuonoNimi(-1)> Rejected connection from 37.219.14.179:47805: Invalid username
4 <W>2017-09-04 18:57:54.778 1 => <3:!HuonoNimi(-1)> Connection closed: [-1]

Rivillä 1 loki kertoo, että uusi käyttäjä yrittää yhdistää kyseisestä IP:stä.
Rivillä 2 loki kertoo käyttäjän sovelluksen versionumeron, ja sovelluksen nimen.
Rivillä 3 loki kertoo hylänneensä käyttäjän "!HuonoNimi" yhteydenoton, ja antaa syyksi "Virheellinen käyttäjänimi"
Rivillä 4 kerrotaan, että käyttäjä on katkaissut yhteyden. Yhteys katkeaa automaattisesti, kun käyttäjänimi on väärä.

Seuraavaksi toistin saman, mutta vaihdoin käyttäjänimeä Android-apissa. Loki kertoo seuraavaa:

1 <W>2017-09-04 19:14:45.658 1 => <4:(-1)> New connection: 37.219.14.179:47860
2 <W>2017-09-04 19:14:46.103 1 => <4:(-1)> Client version 1.2.5 (Android: Plumble Free 3.2.0)
3 <W>2017-09-04 19:14:46.325 1 => <4:NiiloNokkela(-1)> Authenticated

Onnistunut yhdistäminen aiheuttaa kolme lokitapahtumaa. Ensimmäiset kaksi riviä on samat kuin epäonnistuneessa yrityksessä, ja kolmas rivi vain kertoo uuden käyttäjän yhdistäneen nimellä "NiiloNokkela".

2. SSH-demonin asennus

Tehtävään kului noin 20 minuuttia.

Tähän tehtävään vaihdoin rautaa, sillä kotipalvelimellani on SSH jo asennettuna.

Loppujen tehtävien tekoon toimi oheisen mukainen läppäri:

MODELAcer Aspire ES1-523
CPUAMD A8-7410 @ 2.20 GHz
MEM8.00 GB DDR3
SSDLiteon CV3-CE256 250 GB
GPUAMD Radeon R5
OSWindows 10 Home

Käyttöjärjestelmänä toimi Ubuntu Desktop 16.04.3 LTS, ja käytin sitä tehtävässä 1 luodulta livetikulta.

Aloitin asennuksen antamalla komennon "sudo apt-get update", joka päivittää tarjolla olevien pakettien tiedot. Seuraavaksi annoin komennon "sudo apt-get install ssh", ja vastasin kysymyksiin kyllä. Kone raksutti hetken, ja näin oli SSH asennettu. Seuraavaksi kokeilin tehtävässä annettua scp-komentoa. Annoin ensiksi komennon "man scp", joka näyttää kyseisen komennon manuaalin. Tämä antaa paremmin tietoa, kuinka komentoa käytetään ja mitä se tekee. Manuaali kertoi, että kyseessä on tiedoston kopioimiseen tarkoitettu ohjelma.

Aluksi loin tekstitiedoston, jonka siirtäisin. Tämä tapahtui komennolla nano testi.txt, joka avaa nano-tekstieditorin. Kirjoitin tiedostoon pienen pätkän tekstiä, ja tallensin (ctrl+o) ja poistuin ohjelmasta (ctrl+x). Annoin komennon "ls" nähdäkseni, että testi.txt löytyi työkansiostani.

Seuraavaksi oli aika siirtää tiedosto. Ajattelin siirtää sen renki-serverilleni. Tämä tapahtui syöttämällä komento "scp testi.txt USERNAME@renki.dy.fi:". USERNAMEn tilalla on serverillä käyttämäni käyttäjätunnus. Huomaa, että URLi loppuu kaksoispisteeseen. Ilman kaksoispistettä komento kopioi testi.txt:n USERNAME@renki.dy.fi -nimiseksi tiedostoksi. Seuraavaksi siirryin renki-serverin puikkoihin, ja löysin testi.txt-tiedoston käyttäjäni kotihakemistosta "/home/USERNAME".

Tiedoston siirto oli siis näin todistetusti onnistunut.

3. Unelmien apt-get -komento

Tehtävään kului noin 5 minuuttia

Seuraava tehtävä oli luoda "unelmien apt-get -komento", eli yksi komentorivi joka asentaa suosikkiohjelmani.

apt-getissä asennettavat ohjelmat voi kirjoittaa vaan yhteen pitkään pötköön, ja kone asentaa kaikki. Perään on vielä hyvä laittaa tägi -y , joka vastaa kaikkiin asennuksessa vastaan tuleviin kysymyksiin myönteisesti. Apt-gettiä ennen on kirjoitettava sudo. Sudolla käyttäjän oikeudet nousevat admin-tasolle.

Lista suosikkiohjelmistani:
Gimp, kuvankäsittelyohejlma. Paketti on nimeltään gimp
VLC-player, videontoisto-ohjelma. Paketti on nimeltään vlc
Apache2, webbiserveri. Paketti on nimeltään apache2
Chromium, webbiselain. Paketti on nimeltään chromium-browser

Näinollen apt-get -komennoksi muodostuu seuraava pötkö:
sudo apt-get install gimp vlc apache2 chromium-browser -y

Ajoin komennon, ja kun tietokone oli saanut asennukset loppuun, testasin että sovellukset todella ovat asentuneet. Tämä tapahtui gimpin, vlc:n ja chromiumin osalta kirjoittamalla ohjelmien pakettinimet terminaaliin. Apachen toimivuuden testasin juuri asentamallani Chromiumilla: kirjoitin osoiteriville koneen IP-osoitteen 192.168.1.104, ja selain näytti apache2:n oletussivun, josta päättelin Apachen toimivan.

4. Kolme komentorivillä toimivaa ohjelmaa

Tehtävään kului kokonaisuudessaan noin 40 minuuttia.

Seuraava tehtävä oli asentaa komentokehotteesta kolme itselleni uutta ohjelmaa jotka toimivat komentokehotteessa, ja testata niitä niiden pääasiallisessa käyttötarkoituksessa.

1. Moon Buggy

Ensimmäiseksi ohjelmaksi halusin valita jonkun terminaalissa toimivan pelin. Moon Buggyä en ole ennen kokeillut, joten valitsin sen.

Asennus tuttuun tapaan komennolla "sudo apt-get install moon-buggy -y"

Asennuksen jälkeen kokeilin peliä kirjoittamalla komennon "moon-buggy"


Hyvin toimii! Vaikka auto hajosikin ensimmäiseen kuoppaan.

psst... ruudun kaappaamiseen käytin Peek Gif Recorderia

2. Weechat -chatti

Toiseksi ohjelmaksi valitsin Weechatin. Halusin kokeilla vanhan ajan irkkiä. Irssi oli minulle entuudestaan tuttu, joten valitsin toisen clientin.
Ohjelman asennus komennolla:
"sudo apt-get install weechat -y"

Ohjelman asennuttua testasin sitä kirjoittamalla aluksi komentokehotteeseen weechat
Seuraavaksi tuli asettaa serveri, ja yhdistää siihen, ja lopulta liittyä keskustelukanavalle. Tein sen antamalla seuraavat komennot:
/server add freenode chat.freenode.net
/connect freenode
/join #testi


Ja näin oltiin chättäilemässä!

3. Fortune

Kolmanneksi ohjelmaksi valitsin fortunen. Fortune on simppeli ohjelma, joka kertoo käyttäjälle jonkin satunnaisen fraasin tietokannastaan. Fraasit voivat olla nokkelia, hauskoja typeriä, oikeastaan mitä vain. Ohjelman kuvaus kuulosti hauskalta, joten päätin testata.

Ohjelman asennus komennolla:
"sudo apt-get install fortune-mod -y"

Tämän jälkeen ohjelma oli valmis testattavaksi, syöttämällä komento "fortune"
. Ja niin ohjelma antoi näytölleni nokkelan fraasin.