Arvioitava laboratorioharjoitus – Linux palvelimet ict4tn021-4 tiistai – alkusyksy 2017 – 5 op

This is the evaluated lab exercise for Linux Server Administration course, 50% of grade. Student had a Live USB stick and an empty computer, and he could use the public Internet. No other tools were allowed. Course feedback was excellent 4.5 out of 5. The exercise itself is in Finnish.
Opiskelijat saivat hyviä arvosanoja, yleisimmät olivat 4-erittäin-hyvä ja 5-kiitettävä, joskin skaala oli käytössä ja joukkoon mahtui hylättykin suoritus. Katso Teron kommentit labrasta ja läksyistä.
Kurssipalautteen keskiarvo oli 4.5 erittäin-hyvän ja kiitettävä välillä, moodi ja mediaani oli 5-kiitettävä (paras mahdollinen). Lue opiskelijoiden kurssipalaute ja lisää palautetta. 100% eli 24/24 kurssin suorittaneista antoi palautteen.

Tehtävä alkaa…

Olet nyt “Kätketty Mestari” Oy:n tietohallintopäällikkö (ja -osasto). Tämä on Linux palvelimet ict4tn021-4 arvioitava laboratorioharjoitus.

NinjaTietokanta

Haluamme tehdä palvelun, jossa listataan ninjaliikkeitä makeuden, tyylisuunnan ja muiden keskeisten ominaisuuksien suhteen.
Kehittäjämme haluavat käyttää LAMP (Linux Apache MySQL PHP) -pinoa. Asenna tarvittavat ohjelmistot ja tee tietokantaa käyttävä esimerkkiohjelma.

Etätyötä

Haluamme työskennellä etäältä (kuin ninjat piiloistaan).

Käyttäjät

Työntekijämme ovat toimitusjohtaja Nakke Nertola, Håkan Värs, Einari Mikkonen, Einari Öljysaari ja Eija Vähäkäähkä. Tee kaikille käyttäjille esimerkkikotisivut.

Suuri muuri

Suojaa kone tulimuurilla.

WhoWhere

Tee kaikkien käyttäjien käyttöön komento, joka tulostaa Ninjamaisen tervehdyksen “Hello Ninja”, koneen IP-osoitteen ja komentoa ajavan käyttäjän nimen.
Etsitkö haasteita? Tähtäätkö huipputulokseen? Juuri sitä varten meillä on tarjolla:

SneakyGarden.Example.com

Virallinen ninjaliikesivumme tulee Eijan ylläpidettäväksi. Tee Eijalle valmis esimerkkisivu, jossa tietokannassa on seuraavat esimerkkiliikkeet vaikeustasoineen

  • Hyppykiertopotku 27
  • Kuperkeikka 3
  • Karjaisu 1

Sivun tulee olla Eijan muokattavissa ja ninjaliikkeiden näkyä osoitteessa http://SneakyGarden.Example.com. Nimipalvelun toimintaa voit simuloida hosts-tiedostolla.

Uusi ylläpitäjä

Uusi ylläpitäjä on Jussi Laitavalo. Tee hänelle käyttäjätunnus jussi ja anna hänen käyttöönsä täydet pääkäyttäjän oikeudet.

Lopuksi

Moodleen palautetaan neljä tiedostoa: Screenshot*.png, lab.txt, check.log ja lab.tar.gz.
1) Laita ruudulle testit jokaisesta asiasta, jota olet tehnyt. Ota täsmälleen yksi ruutukaappaus ja tallenna se oletusnimellä Screenshot*.png (PrintScrn, enter, enter. Tähti tarkoittaa nollaa tai useampaa mitä vain merkkiä. älä laita literaalia tähteä tiedostonnimeen).
2) Kirjoita seuraavalle ylläpitäjälle lab.txt, jossa on

  • Nimesi ja opiskelijanumerosi
  • Linkki sivuun, josta löytyvät kaikki kotitehtäväraporttisi
  • Lista toimivista, testatuista palveluista osoitteineen (URL tms)
  • Lista palveluista, jotka eivät vielä toimi
  • Kaikkien käyttäjien salasanat ja käyttäjätunnukset

3) Lataa labtest-ninja.py kotihakemistoosi ja aja se saadaksesi check.log:n

$ cd
$ wget wget http://terokarvinen.com/wp-content/uploads//2017/10/labtest-ninja.py_.jpg
$ sudo apt-get -y install curl
$ sudo python3 labtest-ninja.py_.jpg > check.log
$ sudo python3 labtest-ninja.py_.jpg -d >> check.log 2>&1

4) Tee tervapallo lab*.tar.gz tärkeimmistä tiedostoista

$ sudo tar --exclude .mozilla --exclude .cache --exclude lab-*.tar.gz --exclude /home/.ecryptfs -zcf lab-$(whoami)-$(date +%Y-%m-%d).tar.gz /etc/ /var/log/ /home/
$ sudo chown $(whoami) lab-*-*.tar.gz

Siirrä nämä neljä tiedostoa Moodleen. Vasta tässä vaiheessa (ja ainoastaan tässä kohdassa) saat kirjautua ulkopuoliseen palveluun.

Palautetta

1) Vapaamuotoinen palaute kommenttina kurssisivun perään.
Vapaamuotoiseen palautteeseen saa kirjoittaa mitä vain, eikä kysymyksiä tarvitse toistaa. Mutta tässä vinkiksi:

  • Opitko jotakin – eli osaatko nyt Linuxista sellaista, mitä et osannut ennen kurssia?
  • Oliko opittu hyödyllistä? Luuletko, että sille on käyttöä esim tulevaisuudessa töissä tai kotona?
  • Miten voisin parantaa kurssia?
  • Missä aiot hyödyntää taitoja kurssin ulkopuolella? Töissä, harrastuksissa, muualla?
  • Viihdyitkö kurssilla?
  • Suosittelisitko kurssia? Kenelle? Koulutoverille tai kollegalle?

2) Numeerinen palaute Haaga-Helian e-lomakkeelle.

  • Numeerisen palautteen avulla verrataan Haaga-Helian kursseja
  • Voit kopioida vapaiden tekstikenttien palautteen äsken kirjoittamastasi tekstistä
  • On tärkeää saada jokaiselta palaute

Säännöt

Pöydälle saa ottaa: henkilöllisyystodistus, juotavaa, livetikku. Kännykkä kiinni.
Kiellettyä: Älä kirjaudu muualle kuin tässä kokeessa asentamallesi koneelle (ja Moodleen aivan lopuksi, vain kahden tiedoston palauttamiseksi). Älä vilkuile toisten monitoreja. Älä juttele kenenkään kanssa äläkä muutenkaan kommunikoi kaksisuuntaisesti. Älä käytä mitään muistiinpanoja, jotka eivät ole julkisesti internetissä.
Kiellettyä: Historiatietojen poistaminen ja muuntelu. Älä muokkaa äläkä poista esimerkiksi sivuhistoriaa tai lokeja.
Kiellettyä: Verkkojen ja toisten palveluiden häirintä on kiellettyä. Älä siis käytä kuormitustyökaluja muihin osoitteisiin kuin omaan koneeseesi (localhost).
Sallittua: Nettisurffailu, julkisessa internetissä olevat sivut.
Kokeen valvoja saattaa tarkastella kaikkea, mitä koneilla tai koetilassa tehdään. Valvonta voi sisältää esimerkiksi verkkoliikenteen ja tiedostojärjestelmän tutkimista, TLS/SSL yhteyksien terminointia, näppäilyjen nauhoittamista, tilan ääninauhoittamista ja videointia sekä välitöntä havainnointia. Älä siis käsittele koneilla oikeassa elämässä luottamuksellista materiaalia.

Vapaaehtoinen bonus

Tätä kohtaa ei tässä harjoituksessa edellytetä täysiin pisteisiin, se on tarkoitettu lisähuvitukseksi pisimmälle ehtineille.
Asenna salt-minion hallintaohjelmisto.

$ sudo apt-get -y install salt-minion
$ echo "master: 172.28.171.153"|sudo tee -a /etc/salt/minion
$ sudo service salt-minion restart

Nähdään Palvelinten hallinta -kurssilla!

Posted in Uncategorized | Tagged , | 4 Comments

4 Responses to Arvioitava laboratorioharjoitus – Linux palvelimet ict4tn021-4 tiistai – alkusyksy 2017 – 5 op

  1. Kurssin sisältö muodosti hyvän, yhtenäisen kokonaisuuden, jossa rakennettiin toimiva sisällönhallinta-alusta yhtiölle sekä otettiin käyttöön palvelinpuolen Linux-ratkaisu.
    Kurssin sisältö vaati jo itsessään paljon vaivannäköä, ja viikottainen työmäärä tuntui ajoittain liiankin raskaalta. Nyt kurssin lopussa kuitenkin huomaa, ettei siihen juuri ylimääräistä tietoa mahtunut, ja oikeastaan lähes kaikki läpikäydyt osat tulivat käyttöön myös lopputehtävässä.
    Kurssin opeista on varmasti hyötyä myös työelämässä!

  2. Koulun paras kurssi!
    Työmäärä on valtava, mutta suoraan verrannollinen kertyvään oppiin.
    Suosittelen kurssia lämpimästi kaikille Linuxista kiinnostuneille.

  3. Joni Heikkinen says:

    Todella kattava kurssi linux-aloittelijalle. Työmäärä tuntuu aluksi valtavalta, mutta kunhan käyttöjärjestelmään tutustuu enemmän alkaa käyttökin sujua nopeammin ja helpommin.
    Mielestäni tunti kannattaisi jakaa kahtia sillä kuusi tuntia keskittymistä samaan asiaan ei ainakaan itselle ole se kaikista tehokkain opiskelutapa.

  4. Kommenttejani arvioitavasta labraharjoituksesta
    Erittäin hyviä suorituksia sekä arviotavassa laboratorioharjoituksessa että läksyissä.
    Tee pienin mahdollinen testattava kokonaisuus kerralla. Kun kaikki hajoaa: mitä teit viimeksi? Mitä muutit toimivan tilanteen ja nykyhetken välillä. Ja palaa toimivaan versioon.
    Nyt oli käytetty hyviä salasanoja, kaikille käyttäjille. Lähes kaikki olivat käyttäneet kunnon salasanoja. Mutta löytyi silti joku suoritus, jossa käyttäjillä oli virheellisesti peräkkäiset, alkeellisella logiikalla muodostetut salasanat.
    Selvitä viat järjestelmällisesti. Mikä toimii, mikä ei? Katso lokeja ‘tail /var/log/apache2/*’, ‘tail /var/log/syslog’. Jotkut komennot auttavat etsimään vikoja, esim. ‘apache2cltl configtest’.
    Apachen oletussivu pitää vaihtaa. Weppisivuja tehdään normaalisti tavallisen käyttäjän oikeuksilla, mutta oletusetusivu pitää vaihtaa sudolla. Esim. ‘sudoedit /var/www/html/index.html’ tai guruna ‘echo “Hello”‘|sudo tee /var/www/html/index.html’.
    Sudo-oikeudet ovat arvokkaat: niillä voi lukea toisten sähköpostit ja henkilökohtaiset tiedostot ihan vain menemällä toisten kansioihin. Siksi sudo-oikeuksia ei saa antaa muillle kuin niille, joille ne kuuluvat. Esimerkiksi tietokoneen ylläpitäjä tarvitsee sudon asennellakseen ohjelmia. Kotisivujen päivittämiseen ei sudoa tarvita.
    Mukana oli hienoja ratkaisuja ja raportteja. Jotkut messuraportit olivat mielestäni luettuna parempia kuin itse alkuperäinen esitys. Eräässä ruutukaappauksessa oli näppärästi esitelty MySQL:n käyttäjän oikeuksia “SELECT USER(); SHOW GRANTS;”. Tarkistusta auttavassa skriptissä oli bugi, Jussilla oli näköjään hyvää aikaa kokeessa etsiä se – kiitos.
    Python 3 on nykyaikaa. Uudet Python-projektit kannattaa aloittaa kolmosversiolla. Kolmosversion paketeissa ja komennoissa on usein numero 3, esimerkiksi ‘python3 tero.py’, ‘pydoc3 str’, ‘ipython3’, ‘sudo apt-get -y install sudo apt-get install libapache2-mod-wsgi-py3’.
    English. Ylläpito kannattaa tehdä englanniksi. Helpottuu mukavasti Googlettaminen ja DuckDuckGottaminen, ja saattaapa bugiraporttikin tulla paremmin ymmärretyksi. Kukin käyttäjä voi valita kielen sisäänkirjautuessa.
    Raportit olivat pääosin erittäin hyvän ja loistavan väliltä. Oli siellä joukossa joku kehittämistä vaativakin. Raportti tarkoittaa, että kerrotaan toistettavasti mitä on tehty, mitä siitä tapahtui ja johtopäätökset. Ei ole hyödyllistä vastata “tein pyydetyn tehtävän ja meni aika hyvin”.
    Kolme sekavaa seiskaa ovat väärin lähes aina. Jos jossain ohjeessa käsketään vaihtaa oikeudet seiskoiksi, ei yleensä ole sellaiseen ohjeeseen uskomista. Chmodia kannattaa käyttää ihan ihmisen luettavilla kirjaimilla, tämä on oikein: ‘chmod og-rwx passwords.txt’. Ainoa paikka, jossa näen numeroita oikein chmodin kanssa on Puppet. Numerot voi muuttaa helpoiksi kirjaimiksi katsomalla ohjeen ‘man chmod’.
    Apachen name based virtual host asetukset: ServerName ja ServerAlias ovat koneiden domain-nimiä (hostname), esimerkiksi terokarvinen.com. Niihin ei siis tule mitään protokollaa, eli ei http:// eikä mitään muutakaan ylimääräistä.
    Katso myös vanhoja kommenttejani
    http://terokarvinen.com/2016/arvioitava-laboratorioharjoitus-%e2%80%93-linux-palvelimena-ict4tn003-23-alkusyksylla-2016#comment-21942
    http://terokarvinen.com/2016/final-lab-exercise-of-linux-basics-dat8tf063-27-spring-2016#comment-21591
    Tätä kommenttia olen päivittänyt pitkin matkaa, kun olen arvioinut harjoituksia.