Tehtävänanto saatiin Tero Karvisen Palvelinten hallinta kurssilla 10.4.2018

http://terokarvinen.com/2018/aikataulu-%E2%80%93-palvelinten-hallinta-ict4tn022-4-ti-5-ke-5-loppukevat-2018-5p 

Tehtävät:

a) Opiskele yllä aikataulussa olevat artikkelit. Noissa artikkeleissa opetetaan ne asiat, joilla läksyt saa tehtyä. Tätä lukutehtävää ei tarvitse raportoida. Luettava materiaali on kunkin tapaamiskerran kohdalla.

b) Tiedosto muotista: tee yksinkertainen SLS-tilatiedosto, joka laittaa muuttujan tiedostoon. Käytä jinjan kontekstimuuttujaa (template: jinja, context: …).

c) SLS tilaa Jinjalla: tee yksinkertainen SLS-tilatiedosto, joka käyttää for-in -silmukaa. Voit esimerkiksi tehdä kolme tiedostoa silmukalla. (Tässä tehtävässä siis käytetään jinjaa vain SLS-tiedoston sisällä, älä sotke samaan esimerkkiin tekstitiedostojen sisällön muuttamista.)

d) SSH-demonin portti: tee tila, joka asentaa SSH-demonin valittuun porttiin. Käytä portin valintaan Jinjaa, siten että sshd_config:issa “Port:”-kohdan arvo tulee Jinjan muuttujasta.

e) Kokeile jonkun toisen opiskelijan tekemää Salt-tilaa. Kokeiltava tila voi olla mistä vain harjoituksesta. Opiskelijoiden raportteja ja koodeja löydät tämän sivun perästä kommenteista.

Käytän tehtävässä omaa kannettavaa tietokonettani:

Acer Aspire V3-571G

Intel Core i7

8GiB RAM

Käytän Linuxia livetikun avulla, johon on asennettu Xubuntu versio:

xubuntu-16.04.3-desktop-amd64.iso

Muistitikku 4GB USB muistitikku. Livetikku on tehty Linux palvelimet kurssilla keväällä 2018, tässä linkki tikun tekemiseen: https://katrilaulajainen.wordpress.com/2018/01/22/linux-h1-18-1-2018/

Yksinkertainen SLS-tilatiedosto

b) Tiedosto muotista: tee yksinkertainen SLS-tilatiedosto, joka laittaa muuttujan tiedostoon. Käytä jinjan kontekstimuuttujaa (template: jinja, context: …).

Loin aluksi käyttäjän xubuntu tiedostot – kansioon testi.txt tiedoston nano testi.txt

tiedostopolku

Kirjoitin testi.txt seuraavan tekstin.

teksti

Tämän jälkeen menin /srv/salt kansioon komennolla cd /srv/salt ja tein siellä kansion testi komennolla sudo mkdir testi

testikansio

Tänne testi kansioon teen init.sls tiedoston komennolla sudoedit init.sls. Init.sls tiedostoon laitoin seuraavat rivit

init.sls

Teen myös testi kansioon tiedoston teksti.txt komennolla sudoedit teksti.txt. Lisään teksti.txt tiedostoon seuraavat rivit.

teksti.txt

Nyt ajan komennon sudo salt ‘katritest’ state.apply testi

state toimii

Joitain muutoksia on tullut. Mennään nyt katsomaan käyttäjän xubuntu /home/xubuntu/tiedostot kansiota komennolla cd /home/xubuntu/tiedostot. Tiedostot kansiossa katsotaan tuota testi.txt tiedostoa onko siihen tullut muutoksia nano testi.txt

teksti toimii

Eli state on lisännyt /srv/salt/testi kansiossa olevan testi.txt tiedoston {{ maailma }} kohdalle tuon testi toimii ja se on muuttunut käyttäjällä xubuntu.

For in silmukka Jinjalla

c) SLS tilaa Jinjalla: tee yksinkertainen SLS-tilatiedosto, joka käyttää for-in -silmukaa. Voit esimerkiksi tehdä kolme tiedostoa silmukalla. (Tässä tehtävässä siis käytetään jinjaa vain SLS-tiedoston sisällä, älä sotke samaan esimerkkiin tekstitiedostojen sisällön muuttamista.)

Aloitin luomalla uuden state tiedoston. Tein uuden state tiedoston /srv/salt kansioon. Tein uuden kansion komennolla sudo mkdir tiedostot.

tiedostotkansio

Tiedostot kansioon luon tiedoston init.sls komennolla sudoedit init.sls.

Lainaan Tero Karvisen sivuilta init.sls tiedostoon tarvittavat rivit:

{% for file in [‘foo.txt’, ‘bar.txt’, ‘kala.txt’] %}

/tmp/moikat/{{ file }}:
  file.managed:
    – source: salt://multi/moikka.txt
    – makedirs: True
    – template: jinja
    – context:
      file: {{ file }}
{% endfor %} (Tero Karvinen, 2018)

Muokkaan niitä omaan käyttööni sopiviksi seuraavanlaisesti:

init.sls

Tallennan tiedoston ctrl + x, y, enter.

Tehdään myös tiedosto template kansioon tiedostot komennolla sudoedit testi.txt. Kirjoitin seuraavan tekstin testi.txt tiedostoon:

testi.txt

Tallensin tiedoston ctrl + x, y, enter.

Tämän jälkeen ajoin tilan komennolla sudo salt ‘katritest’ state.apply

Sen jälkeen voidaan katsoa loiko tila uuden kansion käyttäjälle xubuntu ja sinne nämä kolme tiedostoa.

For in silmukka näyttäisi nyt toimivan.

SSH portin määritys Jinjalla

d) SSH-demonin portti: tee tila, joka asentaa SSH-demonin valittuun porttiin. Käytä portin valintaan Jinjaa, siten että sshd_config:issa “Port:”-kohdan arvo tulee Jinjan muuttujasta.

SSh portin määritys käsin

Tehdään ensiksi portin määritys käsin. Olen asentanut ssh komennolla sudo apt-get -y install openssh-server.

Kokeilen ssh yhteyttä komennolla ssh  -p 22 xubuntu@localhost. Pääsin kirjautumaan ssh. Ssh:lla on automaattisesti portti 22 käytössä.

portti22toimii

Nyt vaihdetaan portti 22 porttiin 8888. Tämän jälkeen menen komennolla cd /etc/ssh ssh kansioon ja siellä muokkaan sshd_config tiedostoa komennolla sudoedit sshd_config.

sshdconfigpolku

Tässä tiedostossa muokkaan Port 22 –> Port 8888

portinvaihdos

Tallensin tiedoston ctrl + x, y, enter

Muutoksen jälkeen ssh pitää käynnistää uudelleen komennolla sudo systemctl restart ssh.service

Nyt kokeillaan kirjautumista ensiksi portilla 22 komennolla sshd -p 22 xubuntu@localhost.

portti22eitoimi

SSH päivityksen jälkeen portti 22 ei toimi enää, joten kokeilin seuraavaksi komennolla ssh -p 8888 xubuntu@localhost

portti8888toimii

Portin muutos on mennyt läpi ja nyt voimme kirjautua ssh portilla 8888.

Ssh portin määritys automaatiolla ja jinjalla

Aloitan luomalla /srv/salt kansioon ssh kansion komennolla sudo mkdir ssh. Ja ssh kansioon luon ssh.sls tiedoston komennolla sudoedit init.sls. Lisään init.sls tiedostoon seuraavat rivit:

init.sls

Tallensin tiedoston ctrl + x, y , enter.

Tämän jälkeen kopioin tuon sshd_config tiedoston /srv/salt/ssh kansioon komennolla sudo cp /etc/ssh/sshd_config /srv/salt/ssh.

sshd_config kopiointi

Sitten menin muokkaamaan sshd_config tiedostoa cd /srv/salt kansiossa komennolla sudoedit sshd_config.

porttimuutos

Tallennus ctrl + x, y, enter.

Poistan tässä vaiheessa openssh-server komennolla sudo apt-get purge openssh-server. Sen jälkeen testataan ssh yhteyttä portilla 8888 ja 22 komennoilla ssh -p 22 tai 8888 xubuntu@localhost.

ssheitoimi

Eli ssh ei toimi tällä hetkellä.

Nyt kokeilen ajaa tämän uuden tilan komennolla sudo salt ‘katritest’ state.apply ssh.

Nyt testataan portteja. Oletuksena ssh olisi siis portti 22, mutta ajamamme tilan jälkeen ssh portti tulisi olla suoraan 8888. Kokeillaan ensiksi toimiiko portti 22 komennolla ssh -p 22 xubuntu@localhost.

portti22eitoimi2

Eli portti 22 ei toimi tällä hetkellä. Kokeillaan seuraavaksi porttia 8888 komennolla ssh -p 8888 xubuntu@localhost.

portti8888toimii1

Nyt ssh kysyy lisätäänkö tämä kirjautuminen tunnettuihin. Vastataan yes. Sen jälkeen kysytään salasanaa ja pääsemme kirjautumaan ssh portilla 8888.

Toisen opiskelijan salt tila

e) Kokeile jonkun toisen opiskelijan tekemää Salt-tilaa. Kokeiltava tila voi olla mistä vain harjoituksesta. Opiskelijoiden raportteja ja koodeja löydät tämän sivun perästä kommenteista.

Päätin tehdä Ville Tourosen Palvelin hallinta viikko 1 harjoitus 1 – Salt tehtävästä top.sls tiedoston tilan. https://villetouronen.wordpress.com/blogi/

Aloitin luomalla top.sls tiedoston /srv/salt kansioon komennolla sudoedit top.sls. Lisätään tähän tiedostoon seuraavat rivit suoraan Villeltä.

top.sls

Tämän jälkeen loin editing.sls, media.sls ja office.sls tiedostot komennolla sudoedit editing.sls/media.sls/office.sls tuonne /srv/salt kansioon.

Sitten ajoin tiedoston komennolla sudo salt ‘katritest’ state.highstate.

state toimii2state toimii1

Testasin vielä olivatko ohjelmat asentuneet.

testi toimii

LÄHTEET:

Karvinen, Tero: Oppitunnit 2018-4-10., Palvelinten hallinta-kurssi

http://terokarvinen.com/2018/aikataulu-%E2%80%93-palvelinten-hallinta-ict4tn022-4-ti-5-ke-5-loppukevat-2018-5p

https://docs.saltstack.com/en/getstarted/config/jinja.html

http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states

https://docs.saltstack.com/en/getstarted/config/files.html

https://villetouronen.wordpress.com/blogi/

 

 

 

 

 

 

Advertisements