Sysadmin stuff
“Python on ohjelmointikieli, jolle on tunnusomaista hyvä luettavuus, korkea abstraktiotaso ja kehittyneet kirjastot monilla eri sovellusalueilla. Python on niin kutsuttu tulkattu kieli, mikä tarkoittaa että sen suorituskyky on alhaisempi kuin käännetyn kielen.” [1]
“Java on Java (ohjelmointikieli) on yleiskäyttöinen ohjelmointikieli, jonka avulla ohjelmoijat voivat kirjoittaa koodia, joka kääntäessä toimii kaikilla Javaa tukevilla alustoilla ilman tarvetta kääntää koodia uudelleen.” [2]
“C on yleiskäyttöinen, imperatiivinen ja rakenteinen käännettävä tietokoneiden ohjelmointikieli.” [3]
tämä osio klo 18:20 - 19:00
Javan lataus:
sudo apt-get install default-jre
sudo apt-get install default-jdk
Hyödynsin opettajan sivuilla olevia ohjeita.
Ensin Java kielellä
Testi:
Sitten C:llä
Testi:
C kieli oli täysin vieras kieli minulle, hieman kompuroin ennenkuin sain tervehdyksen toimimaan. Tiedoston nimessä oli häikkää. Vaihdoin tiedostonnimen mv
-komennolla.
Viimeiseksi Pythonilla
Pythonissa kirjoitin koodin niin, että ohjelma kysyy käyttäjältä vaihtoehtoja 1 tai 2. Käyttäjän valinnan jälkeen ohjelma tervehtii joko 1: suomeksi tai 2: englanniksi, jos käyttäjä syöttää mitään muuta, ohjelma pyytää valitsemaan kummallakin kielellä joko 1 tai 2, ja lopettaa ohjelman.
Päivitetty 7.10 klo 16.29 - Python koodin selitystä. Rinnakkaisarvioija huomasi arvioidessaan raporttiani.
Testi:
[4]
Tämä osio klo 19:30 - 20:30
Testiä varten tein uuden käyttäjän galileo
. Tämä käyttäjä ei kuulunut sudo
ryhmään eikä adm
ryhmään.
Käytin apuna opettajan sekä kurssin käyneen opiskelijan materiaaleja. [5][6]
Ensiksi tein muutoksen tekemääni .py
tiedostoon, lisäämällä alkuun #!/urs/bin/python3
. Näin terminaali voi tulkita koodipätkän komennoksi.
Ensin muutin tiedoston bash komennoksi hei.py
-> hei.sh
Lisäsin tiedostoon ajo-oikeudet kaikille käyttäjille chmod +x hei.sh
, testasin ./hei.sh
Tämän jälkeen kopioin sen pääkäyttäjänä kansioon /usr/local/bin/, unohdin että pitää sudottaa.
Kirjauduin ulos leonardo
-käyttäjänä, ja kirjauduin testiä varten tekemääni galileo
-käyttäjänä.
Testi: galileo
Testi: immanuel
Komento hei.sh
toimii nyt eri käyttäjillä.
Tämä osio 20:30 - 21.20
Teen harjoituksen käyttäjänä leonardo
, ja testaan sitä käyttäjällä immanuel
Valitsin edellisen toteutuksen labraharjoituksen osan:
“c) Ei kolmea sekoseiskaa”
Suojaa raportti Linux-oikeuksilla niin, että vain oma käyttäjäsi pystyy katselemaan raporttia
Tein tiedoston salaista.txt
, ja kirjoitin sisältöä siihen.
Tämän jälkeen muutin tiedoston oikeuksia chmod 600 salaista.txt
, joka antaa käyttäjälle leonardo
oikeudet lukea ja kirjoittaa mutta ei ajaa(execute). Muille käyttäjille ei ole oikeuksia lainkaan.
Kokeilin, immanuel
-käyttäjänä tarkistella leonardo
:n kansiota
Kokeilin päästä leonardo
-käyttäjän kansioon, ja järjestelmä ilmoitti että ei ollut siihen oikeuksia. Vaihdoin käyttäjän leonardo
-kansion oikeuksia niin, että muilla käyttäjillä on vain luku oikeus, kun taas leonardo
-käyttäjällä on täydet oikeudet.
Komento on chmod 744 /home/leonardo
Tarkistin tiedoston ja kansion oikeudet komennolla ls -l
Seuraavaksi kirjauduin käyttäjällä immanuel
ja kokeilin päästä käsiksi tiedostoon.
Järjestelmä antoi vastaukseksi permission denied
kun yritin avata immanuel
-käyttäjällä leonardo
-käyttäjän tiedostoa. Katsoin vielä leonardo
-käyttäjän kansiota, johon muillakin oli lukuoikeus, järjestelmä kertoi vielä että tiedostoihin ja kansioihin ei ole pääsyä.
[7]
“d) ‘howdy’”
Tässä tehtävässä hyödynsin omaa raporttiani samanlaisesta tehtävästä. Päivitetty 7.10 klo 16:30. Linkki ohjasi väärään sivuun. Rinnakkaisarvioijan palautteen jälkeen
Päätin tehdä howdy
-nimisen Python-komennon, joka käyttää Caesarin salakirjoitusmenetelmää. [8]
Tein tarvittavat toimet. chmod a+x howdy
, joka antoi oikeuden kaikille ajaa komennon. sudo cp howdy /usr/local/bin
, joka kopioi komennon kansioon, jotta kaikki voivat ajaa komentoa.
Ohjelma kysyy ensin salataanko vai puretaanko viestiä, pyytää viestin, pyytää kuinka monta siirtoa tehdään. Tämän jälkeen ohjelma tulostaa joko salatun tai puretun viestin.
Komento toimii, komento salaa viestin Ceaserin salakirjoitusmenetelmällä.
“e) Etusivu uusiksi”
Sivua pitää päästä muokkaamaan normaalin käyttäjän oikeuksin (ilman sudoa). Liitä raporttiisi listaus tarvittavien tiedostojen ja kansioiden oikeuksista.
Asenna Apache-weppipalvelin Tietokoneen valmistelu
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade -y
sudo apt-get install ufw
sudo apt enable ufw
Apachen asennus & käynnistys:
sudo apt-get install apache2
sudo systemctl start apache2
Apachen tilan tarkistus:
systemctl status apache2
Tee yrityksellemme “AI Kakone” kotisivu
Virhe 403. Opettajan vinkki
“Kotisivu kielletty (403 Forbidden)? ‘chmod ugo+x $HOME $HOME/public_html/’, ‘ls -ld $HOME $HOME/public_html/’” [9]
Kokeilin sallia Apachelle oikeudet kansioon jossa kotisivun tiedosto on, komennolla chmod ugo /home/leonardo/public_html
En onnistunut vieläkään siinä, huomasin aikone.com.conf
tiedostossa pienen typon. vaihdoin aikoneen ip-osoitteen 127.0.0.1, aikaisemmin oli 127.0.1.1. Sekään ei auttanut joten virheloki esiin.
sudo tail -f /var/log/apache2/error.log
ja löysin lokista:
[Sun Oct 06 22:56:15.382740 2024] [core:error] [pid 210410:tid 210418] (13)Permission denied: [client 127.0.0.1:34018] AH00035: access to / denied (filesystem path '/home/leonardo/public_html') because search permissions are missing on a component of the path
Virhe AH00035: access to / denied (filesystem path ‘/home/leonardo/public_html’) because search permissions are missing on a component of the path
eli apachelta evätty oikeus /home/leonardo/public_html
- polkuun.
Annoin ajokomennon tällä kertaa /leonardo
- kansioon, ja sivu näytti toimivan
Kotisivu tulee näkyä koneesi IP-osoitteella suoraan etusivulla
Sivua pitää päästä muokkaamaan normaalin käyttäjän oikeuksin (ilman sudoa). Liitä raporttiisi listaus tarvittavien tiedostojen ja kansioiden oikeuksista.
“g) Salattua hallintaa”
Tässä tehtässä käytin raporttiani SSH- kirjautumisesta.
Asensin ssh-palvelimen
sudo apt install openssh-client
sudo apt install openssh-server
Luon avain turvallisen 4 kilotavuisen avainparin:
ssh-keygen -b 4096 -t rsa
Tämä loi .ssh kansion käyttäjälle, jossa ovat avainparit, id_rsa sekä id_rsa.pub. id_rsa.pub sisältää julkisen avaimen jota voi jakaa, id_rsa on pidettävä aina salassa.
Teen uuden käyttäjän virtuaalikoneelle ja automatisoin kirjautumisen koneeltani.
Uusi käyttäjä albert
Kopioin .pub tiedoston koneeltani, uudelle käyttäjälle.
ssh-copy-id albert@146.190.237.216
Lopetan 7.10.24 klo 2:45, palaan myöhemmin tekemään loput tehtävät
[10]