Tero Karvinen - Articles - Downloads - Courses - Contact

Table of Contents

Työasemat ja tietoverkot ict1ta002 toteutukset 15 ja 13

Koe työasemat ja tietoverkot 13

Koe työasemat ja tietoverkot 15

ict1tn002-15 Moodlessa (ma 8 ja ke 12)

ict1tn002-13 Moodlessa (to 12 ja pe 8)

Aikataulu

1. Asennus (w39)

2. Työpöytä ja lisenssit (w39)

3. Komentokehote (w40)

4. Ylläpito (w40)

5. Apache-weppipalvelin (w41)

5. LAMP kehitysalustana (w41)

(w42 on intensiiviviikko, ei lähiopetusta tällä kurssilla)

6. OpenSSH-etähallinta (w43)

7. OpenSSH useiden koneiden hallinnassa (w44)

(Opetus peruttu valintakokeen takia w44 torstaina 2010-11-04 valintakokeen takia, joten ryhmällä 13 ei ole lähiopetusta silloin)

8. Automaatio ja ohjelmointiympäristöt (w45)

9. IpTables-tulimuuri (w46)

10. Koe (w47)

Huomioita

OpenSSH aiheiksi ajattelin tarkemmin:

6. OpenSSH-etähallinta (w43) palvelin, käyttäjän luonti, sshfs, graafinen etäkäyttö

7. OpenSSH useiden koneiden hallinnassa (w44) for-silmukka ja julkinen avain; uhat ja suojautuminen

Läksyt

Läksyt voi julkaista missä haluaa, ja linkit palautetaan kurssin Moodle-sivulle. Moodlen käyttö vaatii Haaga-Helian opiskelijanumeron ja salasanan. Jos et uskalla tai muuten halua julkaista raporttiasi, voit kirjoittaa sen suoraan Moodleen - mutta julkaisu on toki paras vaihtoehto.

Voit katsoa läksyjä ennakkoon alta, mutta läksyt vahvistetaan vasta tunnilla.

Raportin kirjoittaminen: Toistettava, täsmällinen, helppolukuinen. Viittaa lähteisiin, myös kurssiin. Älä plagioi, älä sepitä. Käytä GPL-lisenssiä, jos haluat.

1. Asennus

1a) Polta itsellesi Ubuntu-romppu ja kokeile sitä jonkin muun mallisessa tietokoneessa kuin tunnilla. Muista kuvailla raportissasi, missä ympäristössä ja millä raudalla teit testin. Jos väität jonkin osan toimivan, muista kertoa, millä testillä totesit sen toimivaksi.

1b*) Kerää teknistä tietoa tietokoneesta liverompun avulla. Voit esimerkiksi käyttää “sudo lshw > lshw.txt” tai machinotero. (Tähti ‘*’ tarkoittaa vapaaehtoista tehtävää)

1c) Lue: The Rise of Open Source Licensing (paikallinen kopio): luku 5.1 :”Bargaining in the Shadow of Intellectual Property Law”, sivut 113-123. (tästä c-kohdasta ei tarvitse palauttaa mitään, kysellään tunneilla)

Palauta linkki Moodleen toteutus 15 tehtävä 1 tai toteutus 13 tehtävä 1.

2. Työpöytä ja lisenssit

Ryhmälle 15 laiskanläksynä 1c.

2a) Vapaat yrityksissä. Anna kolme esimerkkiä vapaiden ohjelmistojen hyödyntämisestä yrityksissä. Ole täsmällinen: mikä yritys, mikä ohjelma, mikä lisenssi, mitä hyötyä. (Essee)

2b) Vanhalle vastine. Listaa ohjelmat, joita käytät nykyisessä/toisessa/edellisessä käyttöjärjestelmässäsi (esim Windowsissa, Macissa tai BSD:ssä). Listaa kunkin ohjelman käyttötarkoitus. Etsi vapaa, Linuxissa toimiva vastine kuhunkin tarpeeseen. Esim. Sovellus: MS Windows Vistassa MS Word; tarkoitus :tekstinkäsittelyohjelma; vapaa vastine: OpenOffice.org Writer. Listaa myös ohjelmat, joille et löytänyt vastinetta. Asenna vapaat ohjelmat ja anna esimerkki niiden peruskäytöstä.

2c) Opettele vapaan ohjelman määritelmä, GPL:n käyttö ja GPL:n tärkeimmät oikeusvaikutukset. Ei tarvitse palauttaa mitään tästä 2c-kohdasta.

2d) Inkscape. Asenna Inkscape (Applications: Ubuntu Software Center) ja piirrä sillä. Pelkkä sotku ei kelpaa; esim yksinkertainen ihminen, auto tai tietokone kelpaa.

2e) GIMP. Muokkaa valokuvaasi GIMPillä. Rajaa (crop) kuva (shift-C). Korjaa kuvan valotusta joko värikäyrällä (Colors: Curves tai Colors: Levels: Auto). Tallenna kuva JPG-muodossa ja liitä raporttiisi.

2f*) OpenOffice. Tee OpenOfficessa rakenteellinen dokumentti (h1, h2... text body) ja liitä siihen kuva. Käytä kuvan kanssa automaattista asettelua (right click: align: right). Tallenna dokumentti tavallisimmissa muodoissa ODT (OASIS, avoin toimisto), DOC (suljettu toimisto), HTML (uuteen kansioon, web), PDF (painoon, Export...).

2g*) Tulosta. Asenna tulostin ja tulosta OpenOfficesta.

2h*) Decommodization of Protocols. Tutustu “Halloween memos” dokumentteihin (etsi tarvittavat lähteet itse). Mitä tarkoittaa dokumentteissa esiintyvä ajatus “decommoditization of protocols”? Osaatko mainita esimerkin tästä strategiasta? Voiko yksittäinen yritys suojautua tätä strategiaa vastaan? Miten? Essee.

2i*) Compiz. (Tähti “*” tehtävän numerossa tarkoittaa vapaaehtoista lisätehtävää) Kokeile Compiz efektejä. Asenna Advanced Compiz Manager ja kokeile esimerkiksi Grid-pluginia.

3. Komentokehote

3a) Opettele ulkoa jokainen komento artikkelista Command line. Tästä 3a-kohdasta ei tarvitse palauttaa mitään, mutta komennot tietysti kuulustellaan jossain vaiheessa.

3b) Kokeile kolmea itsellesi uutta komentoa tai lippua (esim -f tai --foobar. man ja man -k auttavat).

3c*) Päiväni komentokehotteessa. Kirjoita kuvitteellinen tarina (käyttötapaus), jossa käytetään opittuja ja löytämiäsi komentoja.

3d*) Keksi kolme esimerkkiä putkien käytöstä.

(Tähti ‘*’ tarkoittaa vapaaehtoista tehtävää)

Komentoja kannattaa harjoitella automaatiotasolle ihan tietokoneen ääressä. En kuitenkaan viitsinyt vaatia raportoimaan kahta sataa tehtävää tyyliin “tee kansio, vaihda sen nimi, poista se” - voitte keksiä sormiharjoituksia itse.

4. Ylläpito

4a) Opettele ulkoa komennot artikkelista Commands for Admin.

4b) Asenna kolme uutta ohjelmaa paketinhallintaohjelmalla. Käytä komentokehotetta. Valitse ohjelmia, joita et tunne ennestään, niin saat myös etsiä niitä. Jos kolme uutta ohjelmaa liittyvät samaan aiheeseen, aina parempi.

4c) Päivitä kaikki asennetut ohjelmat. Asenna kaikki tietoturvapäivitykset ohjelmiin ja käyttöjärjestelmään. Asenna uusin käyttöjärjestelmän ydin. (vinkki: ‘sudo apt-get upgrade’)

4d*) Asenna jokin Firefoxin plugin paketinhallintaohjelmalla (ei siis “Recommended plugins” tai satunnaiselta weppisivulta). Esimerkiksi Adblock plus, web developer, noscript.

4e) Analysoi valitsemaasi lokia. Ota siis muutama (alle viisi) samaan aiheeseen liittyvää riviä. Kerro kaikki, mitä saat riveistä irti.

5. Apache

5a) Tee validi weppisivu. Voit katsoa www.iki.fi/karvinen lähdekoodista, miltä validi sivu näyttää. Tarkista lopputulos http://validator.w3.org .

5b*) Kirjoita “Hei maailma” PHP:lla. (Asenna php-tuki paketista ‘libapache2-mod-php5’, käynnistä apache2 uudelleen ‘sudo /etc/init.d/apache2 stop’, ‘sudo /etc/init.d/apache2 start’. Hei maailman lähdekoodi http://www.iki.fi/karvinen/bilkent#php_programming

5c) Asenna PhpMyAdmin sekä MySQL ja kokeile niitä. http://www.iki.fi/karvinen/bilkent#mysql_database_server

5d) Kirjoita PHP:lla yksinkertainen lomaketta käyttävä ohjelma. Esimerkiksi painoindeksilaskuri (BMI). http://www.php.net/manual/en/tutorial.forms.php

5e*) Tee esimerkki kokonaisesta tietokantaohjelmasta PHP:lla ja MySQL:ä. Ohjelman pitäisi pystyä luomaan, lukemaan, päivittämään ja poistamaan tietueita (CRUD, Create, Read, Update, Delete).

5f*) Tee esimerkkiohjelma python-django:lla. Riittää, että se pyörii Djangon omassa testipalvelimessa.

5e) Tee yksinkertainen ohjelma, joka ottaa yhteyden PHP:sta tietokantaan. Voit käyttää esimerkkiäni pohjana

(Tähti ‘*’ tarkoittaa vapaaehtoista tehtävää)

6. OpenSSH

Ryhmä 15: tehtävät 6c ja 6d läksynä, loput vapaaehtoisia. Ryhmä 13: Kaikki tehtävät 6a - 6e.

6a) Asenna SSH-palvelin ja kirjaudu sille toiselta koneelta. (Vinkki: Asenna openssh-server, kirjaudu normaalisti ‘ssh omanimi@localhost’. Verkko-osoitteesi näet komennoilla ‘ifconfig’ tai ‘ip addr’. Jos et tarvitse SSH-palvelinta läppärillä, voit poistaa sen ‘sudo apt-get remove openssh-server’ tai kieltää sitä käynnistymästä itsestään ‘sudo rcconf –now’. Muuta tarvittaessa tulimuurin asetuksia ‘sudo ufw status verbose’, ‘sudo ufw allow 22/tcp’, ‘sudo ufw deny 22/tcp’. Katso myös 6e).

6b) Tee uusi käyttäjä ja kirjaudu koneelle sillä. Anna käyttäjälle järkevä nimi ja salasana. (Käyttäjiä voi luoda komennolla ‘adduser tkarvine’)

6c) Kopioi tiedosto myylle scp-komennolla command line

6d) Kopioi tiedostoja ssh-yhteyden yli rsync:n avulla. Rsync osaa siirtää vain muuttuneet osat. Esim: 1 GB kansio, 5 kB muuttunut ⇒ siirto kestää pari kymmentä sekuntia. (Vinkit: ‘man rsync’, ‘rsync –progress -vazh tero@example.com somefolder/’)

6e) Estä toisia käyttäjiä lukemasta kotihakemistoasi (Vinkit: ‘man chmod’, ‘chmod og-rx /home/tero/’, ‘chmod og=x /home/tero/; chmod og-rx /home/tero/*; chmod og+rx /home/tero/public_html/’)

7. Ohjelmointi

7a) Käännä hei maailma kolmella kielellä Hello world in many languages

7b) Kirjoita hyödyllinen komentotiedosto (shell script)

7c) Kirjoita lyhyt ohjelma Pythonilla

7d) Asenna Dive Into Python paketinhallintaohjelmalla. Tee työpöydälle linkki, joka avaa asentamasi kirjan kovalevyltäsi.

7e) Käännä wget lähdekoodista. wget kääntäminen lähdekoodista

7f) Muokkaa wget:n lähdekoodia, käännä ja osoita muokkauksesi toimiviksi. Voit esimerkiksi vaihtaa ‘wget –version’ tulostamaa tekstiä.

8. Tulimuuri

8a*) Laadi oma iptables-tulimuuri. Keksi myös hyödyllisiä sääntöjä, joita ei käsitelty tunnilla.

8b*) Etsi verkosta jonkun toisen laatima iptables-tulimuuri ja selitä sen säännöt.

8c*) Mitkä ICMP-viestit pitää päästää tulimuurista läpi? Miksi?

8d*) Tee samasta tulimuurista sekava versio ja selkeä versio.

8e) Tee koneellesi tulimuuri, joka kieltää yhteydet ulkoa sisään, mutta sallii yhteydet weppipalvelimeen. Tulimuurisi tulee käynnistyä automaattisesti koneen käynnistyessä. (Voit käyttää esim ufw-komentoa)

8f) Tee tiivis muistilappu tulimuurin hallitsemisesta ufw-työkalulla. Mainitse ainakin käynnistys, sammutus, reiittäminen, reiän poistaminen ja sääntöjen listaaminen. Kokeile kaikkia komentoja muistilapultasi.

*Tähdellä merkityt ovat vapaaehtoisia lisätehtäviä.

Vanhoja toteutuksia

Työasemat ja tietoverkot 10 keväällä 2010

Työasemat ja tietoverkot 5 alkukeväällä 2010

Last modified: 2010-11-25. Permanent url: http://www.iki.fi/karvinen/tyoasemat_ja_tietoverkot.html

Tero Karvinen www.iki.fi/karvinen - Top - Validate HTML - Validate CSS