Saltin tilojen värkkäilyä
KoTein tehtävän kotona pöytäkoneellani, jossa oli mm. Intel i5-3570K prosessori, 8GB RAM-muistia, Asus GTX 1060 (6GB) näytönohjain ja käyttöjärjestelmänä Win 10. Jatkoin tehtävien tekemistä VirtualBoxissa (versio 6.1.4) luomillani virtuaalikoneilla, joita käytin edellisissä harjoituksissa: https://joni.tech.blog/2020/04/07/ph-h1/ sekä https://joni.tech.blog/2020/04/15/ph-h2/ ja https://joni.tech.blog/2020/04/21/palvelinten-hallinta-h3/
Aloitin tehtävien tekemisen 28.4.2020 klo 20:30 (UTC +3)
Koko tehtävänanto osoitteessa: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/
Modulikimara. Asenna 6 saltin tilaa/modulia.
Alkuun meni hetki miettiessä, mistä sovelluksesta aloittaisin. En muista asentaneeni GIMPiä aiemmin Saltin kautta, joten päätin aloittaa siitä.
sudo apt-get update
GIMP
Asensin aluksi GIMPin master -virtuaalikoneelleni:
sudo apt-get -y install gimp
Kävin etsimässä kyseisen sovelluksen asetustiedostoja ja löysin ne /etc/gimp/2.0/ kansiosta. Kansiossa oli tiedosto nimeltä gimprc, joka vaikutti sellaiselta tiedostolta, jolla pystyisi asetuksia säätämään. Käynnistin GIMPin ja graafisesta käyttöliittymästä menin selailemaan asetuksia. Huomasin kieliasetuksen ja päätin vaihtaa sen ruotsiksi (käyttöliittymä oli asennuksen jäljiltä englannin kielinen).
Annoin juurihakemistossa (onkohan oikea termi?) komennon find -printf ”%T+ %p\n”|sort |grep gimp, joka etsi viimeeksi muokatuttujen tiedostojen sijainnit laittaen ne aikajärjestykseen. Hakua rajasin tuolla |grep gimp määreellä, joka listasi vain ne tulokset, joissa kyseinen sana oli. Viimeisimmät muutokset oli tehty tiedostoihin polussa ./home/master/.gimp-2.8/. Kansio .gimp-2.8 on piilotettu kansio.

Menin kyseiseen kansioon ja siellä oli saman niminen tiedosto (gimprc), jollaisen olin aiemmin löytänyt polusta /etc/gimp/2.0/. Avasin tiedoston ja huomasin tiedostossa rivin (language ”sv”), joka viittasi selvästi muuttamaani kieliasetukseen. Tekemällä tilatiedoston, joka vaatisi tuon rivin olemassoloa /etc/gimp/2.0/gimprc -tiedostossa, pitäisi pystyä säätämään Saltin avulla GIMPin kieleksi ruotsin. Siirryin tekemään tilatiedostoa.
GIMP -tila
Tilan tavoitteena oli olla GIMP asennettuna ja käyttöliittämän kielenä ruotsi.
Minulla oli aiemmasta harjoituksesta valmiina salt asennettuna masterille sekä orjalle. Tein tilalle uuden kansion /srv/salt/gimp/. Kansioon tein init.sls, jonka sisällöksi kirjoitin:
gimp:
pkg.installed
/etc/gimp/2.0/gimprc:
file.managed:
- source: salt://gimp/gimprc
Tila määrää saltin olevan asennettuna ja gimprc -tiedoston olevan sellainen kuin se on /salt/gimp/ -kansiossa. Kopioin /etc/gimp/2.0/gimprc -tiedoston kansioon srv/salt/gimp/ komennolla sudo cp -r /etc/gimp/2.0/gimprc /srv/salt/gimp/. Avasin kopion ja kirjoitin siihen aiemmin löytämäni asetusrivin: (language ”sv”). Nyt pitäisi kaiken olla valmista, joten testaamaan. Masterille komento:
sudo salt '*' state.apply gimp
Hetken kuluttua terminaaliin tulostui tieto kahdesta onnistuneesta toiminnosta: gimp asennettu ja gimprc -tiedostoon lisätty rivi (language ’sv’).

Avasin orjakoneelta gimpin tarkistaakseni, oliko se ruotsin kielinen ja olihan se. Ensimmäinen tila luotu, nyt pitäisi vielä opiskella ruotsin kieli, jotta pystyy GIMPiä käyttämään.

Kello oli nyt 22:52 (UTC +3). Minulta oli mennyt ekan tilan luomiseen ja raportointiin yli kaksi tuntia ja vielä olisi viisi tilaa jäljellä. Jotenkin tätä hommaa piti nopeuttaa. Päätin, että yritän luoda vielä yhden tilan itse, minkä jälkeen katson muiden opiskelijoiden ratkaisuista loput neljä tilaa, jotka sitten toistan.
Koitin asennella useampaa sovellusta ja etsiä niiden asetustiedostoja. Kaikissa sovelluksissa asetustiedostot näyttivät menevän käyttäjän kotihakemistoon, enkä niitä tahtonut lähteä muokkaamaan. Sattumalta huomasin libreofficen asetuskansion ja päätin tutkailla siellä olevia tiedostoja.
LibreOffice
LibreOfficen asetustiedostoja oli kansiossa /etc/libreoffice/. Kyseisessä kansiossa oli sofficerc niminen tiedosto. Avasin tiedoston ja silmiini pisti rivi ”Logo=1”. Arvelin kyseisen asetuksen säätävän LibreOfficen käynnistyksen yhteydessä näkyvää logoa. Avasin LibreOffice -sovelluksen ja loho latauspalkilla näkyi. Suljin ohjelman ja muutin logoasetuksen nollaksi, ja käynnistin taas LibreOfficen, eikä logoa latauspalkilla enää näkynyt. Päätin tehdä tästä tilan.
LibreOffice -tila
Tilan tarkoituksena oli olla LibreOffice asennettuna ja ohjelman käynnistysvaiheen logo poistettuna käytöstä.
Tein kansion /srv/salt/libreoffice/ ja kansioon tiedoston init.sls. Init.sls tiedoston sisällöksi kirjoitin:
libreoffice:
pkg.installed
/etc/libreoffice/sofficerc:
file.managed:
- source: salt://libreoffice/sofficerc
Kyseessä on samalla kaavalla tehty tila kuin GIMPissäkin: LibreOffice asennettuna ja sofficerc -tiedoston sisältö vastaava kuin /salt/libreoffice -kansiossa olevan saman nimisen tiedoston sisältö.
Annoin komennon:
sudo cp -r /etc/libreoffice/sofficerc /srv/salt/libreoffice/
Kyseinen komento kopioi asetustiedoston salt/libreoffice/ -kansioon. Muutin kopioimastani asetustiedostosta rivin Logo=1 -> Logo=0. Nyt tilan pitäisi olla valmis, joten kokeilemaan. Avasin ensin orjakoneelta LibreOfficen, ja logo näkyi käynnistyksen yhteydessä. Annoin masterilla komennon:
sudo salt '*' state.apply libreoffice
Melko pitkään mietittyään tulostui ilmoitus kahdesta onnistuneesta toiminnosta. LibreOffice oli päivitetty ja asetustiedosto muutettu.

Minun olisi pitänyt ensin päivittää LibreOffice käsin ja testata logon muuttaminen vasta sitten. Nyt tämä ei täysin vastannut aiemmin tekeemääni kokeilua. Kello oli tässä vaiheessa 0:45 (UTC +3), ja minulla oli vielä neljä tilaa tekemättä, joten en lähtenyt tekemään testejä uudestaan. Kävin orjalla käynnistämässä LibreOfficen, eikä logoa näkynyt käynnistymisvaiheessa. Testasin vielä kirjoittamista kyseisessä sovelluksessa, ja kaikki tuntui pelittävän normaalisti. Totesin tilan valmiiksi, mutta testit jäivät hiukan puutteellisiksi kuten aiemmin mainitsin.
Tässä vaiheessa siirryin selailemaan muiden kurssilaisten tehtäväratkaisuja. Emma Vaittisen tehtäväratkaisuissa huomasin Firefoxiin liittyvän tilan. Kävin katsomassa /etc/firefox/ kansion sisältöä, ja siellä ei ollut kuin tuo yksi syspref.js -tiedosto, joten päädyin tekemään Firefoxin aloitussivumuutoksen Emman tapaan. Aloitussivuksi halusin http://www.atkins.fi, joten muokkasin sen syspref.js -tiedostoon testatakseni muutoksen toimivuutta ennen tilan luomista. Avasin Firefoxin ja atkins.fi avautui.
Firefox -tila
Tässä vaiheessa aloin yksinkertaistamaan raportointia, jottei hommassa menisi koko yötä. Tilan tarkoituksena oli olla Firefox asennettuna ja aloitussivuna http://www.atkins.fi.
Kansion luonti masterille:
sudo /srv/salt/firefox/
Init.sls firefox -kansioon:
sudoedit init.sls
init.sls sisällöksi:
firefox:
pkg.installed:
/etc/firefox/syspref.js:
file.managed:
- source: salt://firefox/syspref.js
Asetustieodoston kopiointi masterilla:
sudo cp -r /etc/firefox/syspref.js /srv/salt/firefox/
Asetustiedostoon rivi:
pref("browser.startup.homepage", "http://www.atkins.fi");
Kävin orjakoneelta tarkistamassa, ettei Firefoxin aloitussivu ollut http://www.atkins.fi.
Sitten ajoin tilan antamalla masterille komennon:
sudo salt '*' state.apply firefox
Sain ilmoituksen kahdesta onnistuneesta toiminnosta: Firefox oli asennettuna ja syspref.js tiedostoon muutettiin aloitussivuksi atkins.fi. Käynnistin orjalla Firefoxin tarkistaakseni toimiko muutos ja sivuksi aukesi atkins.fi. Tila siis toimi.

Kello 29.4.2020 1:42 (UTC +3). Päätin, että lisään raporttiin vielä ottamani screenshotit ja jatkan loppujen moduulien tekemistä seuraavana päivänä. Tämän tehtävän tekemiseen menikin huomattavasti kauemmin aikaa kuin mitä olin arvioinut. Vaikeinta on etsiä sovelluksia, joista löytäisin asetustiedostot muualta kuin käyttäjän kotihakemistosta.
Jatkoin tehtävien tekemistä 29.4.2020 klo 22:00. Oli vaikea keksiä lisää sellaisia sovelluksia, joita saisin säädettyä. Parin tunnin ohjelmien asentelun ja asetusten penkomisen jälkeen löysin Neofetchin.
sudo apt-get update
Neofetch
Neofetch on terminaalissa toimiva sovellus, joka näyttää järjestelmätietoja. Asensin ensin Neofetchin yhdelle virtuaalikoneistani:
sudo apt-get -y install neofetch
Käynnistin sovelluksen komennolla neofetch, jolloin terminaaliin tulostui seuraava näkymä:

Asetustiedostojen sijainti: /etc/neofetch/config.conf
Kyseisestä tiedostosta pystyy poistamaan tai lisäämään sovelluksen näyttämiä tietoja. Kun sovellus käynnistetään ensimmäisen kerran, niin kyseinen asetustiedosto kopioituu käyttäjäkohtaisiin asetuksiin, minkä seurauksena yllä olevien asetusten muuttaminen ei enää vaikuta ohjelman toimintaan. Jos asetukset tekee ennen ensimmäistä käynnistystä, niin kyseiset muutetut asetukset siirtyvät myös käyttäjäkohtaisiin asetuksiin.
Neofetch -tila
Masterille kohteeseen /srv/salt/ uusi kansio ja kansioon init.sls
sudo mkdir neofetch
sudoedit init.sls
init.sls sisältö:
neofetch:
pkg.installed:
/etc/neofetch/config.conf:
file.managed:
- source: salt://neofetch/config.conf
Muokkasin tiedostoa /srv/salt/neofetch/config.conf kommentoiden kaikki muut inforivit pois käytöstä lukuunottamatta OS, Host, Kernel ja Uptime rivejä. Kyseisessä tilassa Neofetchin pitäisi olla asennettuna ja kun ohjelma käynnistyy, niin terminaaliin tulisi tulostua vain nuo kolme tietoa.
Ajoin masterilla tilan komennolla:
sudo salt '*' state.apply neofetch

Tuli tieto kahdesta onnistuneesta toiminnosta: Neofetch asennettu ja asetustiedostoista kommentoitu useita rivejä pois. Kävin orjalla käynnistämässä Neofetchin nähdäkseni, onko näytettävät järjestelmätietorivit vähentyneet:

Rivit, jotka olin halunnut kommentoida pois, olivat myös poissa. Tila siis toimi toivotulla tavalla.
Kello oli 30.4.2020 klo 1:00 (UTC +3), joten jätin loput kaksi tilaa myöhemmin tehtäväksi. Tulen luultavasti toistamaan jonkun toisen tekemät tilat, sillä ohjelmien ja asetusten etsimiseen menee sen verran paljon aikaa.
Ssh -tila
Jatkoin tehtävien tekemistä 19.5.2020 klo 22:30.
Päätin tehdä ssh-tilan Tero Karvisen ohjeiden mukaan. Käytin myös samalla sivulla olevia tila-asetuksia ja ssh-konffeja. Normaalisti SSH käyttää porttia 22, mutta tavoitteena oli muuttaa SSH:n käyttämä portti toiseksi.
Asensin ssh:n ensin käsin:
sudo apt-get install -y openssh-server
Kirjauduin ssh:lla sisään testatakseni:
ssh slave@localhost
Sain kirjauduttua onnistuneesti sisään, minkä jälkeen kävin muuttamassa porttinumeron tiedostosta /etc/ssh/sshd_config. Asetin porttinumeroksi 8888 (Port 8888) ja tallensin tiedoston. Kirjauduin käyttäen uutta porttinumeroa:
ssh -p 8888 slave@localhost
Testasin vielä porttinumeroa 22, ja se ei enää toiminut.
Tein seuraavaksi itse tilan. Loin ensin uuden kansion masterille:
sudo mkdir /srv/salt/ssh
Kansioon init.sls -tiedosto, jonka sisällöksi:
openssh-server:
pkg.installed
/etc/ssh/sshd_config:
file.managed:
- source: salt://ssh/sshd_config
sshd:
service.running:
- watch:
- file: /etc/ssh/sshd_config
Kansioon myös sshd_config -tiedosto, jonka sisällöksi:
Port 8888
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
Ajoin tilan toiselle orjalle:
sudo salt 'JoniOrja' state.apply ssh

Tila suoritettiin onnistuneesti. Kävin testaamassa orjalla:
ssh -p 8888 joni@localhost
Salasanan antamisen jälkeen kirjautuminen onnistui ja tila toimi toivotulla tavalla.
