Konsta Toivonen - Haaga-Helia ammattikorkeakoulu

Etusivulle

Takaisin

Tehtävien toimeksianto: http://terokarvinen.com/2017/aikataulu-%E2%80%93-linux-palvelimet-ict4tn021-7-ti-ja-6-to-alkukevat-2018-5-op

Tehtävissä käytetyt laitteet:
HP ProBook 655 G2: Xubuntu 16.04 LTS
Digital Ocean -palvelun ylläpitämä virtuaalipalvelin: 1 GB Memory / 25 GB Disk / AMS3 - Ubuntu 16.04.3 x64


H7

a)Ratkaise valitsemasi vanha arvioitava laboratorioharjoitus tältä kurssilta.

Ratkaisin alkukevään 2017 laboratorioharjoituksen:

Työntekijöitämme ovat Jorma Mähkylä, Pekka Hurme, Ronaldo Smith, Håkan Petersson, Einari Mikkonen, Einari Vähäkäähkä, Eija Vähäkäähkä. Tee heille HTML5-esimerkkikotisivut siten, että kunkin testisivun otsikossa lukee omistajan käyttäjätunnus.

Loin kaikille työntekijöille uudet käyttäjät. Käyttäjänimet koostuivat sukunimen neljästä ensimmäisestä kirjaimesta ja etunimen kolmesta. Esim. Einari Mikkonen = mikkein. Erikoismerkit muutin seuraavasti Ä,Ö,Å > A,O,O
Käyttäjät loin komennolla "sudo adduser 'käyttäjänimi'" ja annoin jokaiselle käyttäjälle kysyttäessä oman nimensä kokonaisena.
adduser

Käyttäjien salasanat loin pwgen-ohjelmalla, jonka asensin komennolla "sudo apt-get install pwgen" ja jota käytin komennolla "pwgen 10" jolloin ohjelma loi minulle 10 merkin pituisia salasanoja.
pwgen

Asensin Apache2-demonin komennolla "sudo apt-get install apache2"
Muokkasin apache2:n oletusetusivua komennolla "sudoedit /var/www/html/index.html"
index

Mahdollistin käyttäjäkohtaiset kotisivut komennolla "sudo a2enmod userdir" ja käynnistin apache2-demonin uudestaan komennolla "sudo systemctl restart apache2.service"
Loin jokaiselle käyttäjälle kansion public_html polkuun /home/käyttäjä/public_html komennolla "sudo mkdir public_html" ja loin jokaiselle index.html -tiedoston komennolla "sudo nano index.html".
index2

Vaihdoin kansion ja sen sisällön käyttöoikeudet käyttäjälle komennolla "sudo chown -R 'käyttäjä' public_html"1
chown


Maija Virtanen jatkaa ylläpitoa, tee hänelle sudo-tunnus. Maija haluaa käyttäjätunnuksen “maija”.

Loin käyttäjän "maija" komennolla "sudo adduser maija" ja lisäsin hänet ryhmiin sudo ja adm komennoilla "sudo adduser maija sudo" ja "sudo adduser maija adm"


Jorma aikoo kehittää uuden sivun "sleep.example.com". Laita Jorman kotisvu näkymään myös tästä osoitteesta. Voit simuloida nimipalvelun toimintaa hosts-tiedoston avulla.

Loin uuden virtualhostin komennolla "sudoedit /etc/apache2/sites-available/sleep.example.com.conf"
sleep

Lisäsin tiedostoon /etc/hosts rivin osoitteelle "sleep.example.com"

hosts


Suojaa kone tulimuurilla.

Lisäsin tulimuuriin kaksi reikää, porttiin 80 http:tä varten ja porttiin 443 TLS salattua https varten.2
"sudo ufw allow 80/tcp"
"sudo ufw allow 443/tcp"
Aktivoin tulimuurin komennolla: "sudo ufw enable"

ufw


Tee Pythonilla uusi komento ‘wowstats’, joka tulostaa käyttäjälle tervehdyksen. Sen tulee toimia jokaisella käyttäjällä työhakemistosta riippumatta.

Kirjoitin lyhyen python ohjelman "wowstats.py", joka tulostaa "Hello user: 'käyttäjänimi'" ja siirsin sen polkuun /usr/bin.3
wowstats.py

Kirjoitin bash-scriptin "wowstats" joka ajaa wowstats.py -ohjelman ja siirsin sen myös polkuun /usr/bin.
wowstats

Nyt terminaaliin kirjoittaessa "wowstats" ilmestyy teksti "Hello user: 'käyttäjänimi'".
Komennolla "chmod ugo+x /usr/bin/wowstats" kaikki käyttäjät saivat luvan ajaa ohjelman.
vahaein-wowstats


Linuxilla voi kuulemma tehdä metapaketteja, eli paketteja, jotka asentavat toisia ohjelmia – vieläpä uusimpina versioina ja kaikkine päivityksineen.
Haluamme itsellemme metapaketin nimeltä kurssikuru-coding, joka asentaa suosikkityökalumme git, ipython3, meld, gedit.
Tee tällainen metapaketti ja asenna se. Katso vinkkejä Googlesta “karvinen equivs”. Liitä metapaketin lähdekoodi (ilman kommenttirivejä) lab.txt:n perään.
Paketin nimen pitää olla “kurssikuru-coding”.

Asensin Equivs-ohjelman komennolla "sudo apt-get install -y equivs"
Loin rangan komennolla "equivs-control kurssikuru-coding.cfg"
Muokkasin rangasta omiin tarpeisiini sopivan.
kurssikuru-coding

Loin paketin komennolla "equivs-build kurssikuru-coding.cfg"
created

Asensin gdebi-ohjelman komennolla "sudo apt-get install gdebi", jotta pystyin asentamaan .deb tiedostoja.
Ajoin luomani paketin komennolla "sudo gdebi -n kurssikuru-coding_0.1_all.deb"
Listaamani ohjelmat asentuivat onnistuneesti.
done



Lähteet:

http://nersp.nerdc.ufl.edu/~dicke3/nerspcs/chown.html(1)
http://terokarvinen.com/2016/instant-firewall-sudo-ufw-enable(2)
https://stackoverflow.com/questions/842059/is-there-a-portable-way-to-get-the-current-username-in-python(3)
http://terokarvinen.com/2011/create-deb-metapackage-in-5-minutes