Eliminacje 2020

Zostały ci udostępnione dwie maszyny wirtualne: 

  • Maszyna 1 z dostępem z zewnątrz ma dwa interfejsy: prywatny oraz publiczny
  • Maszyna 2 maszyna bez dostępu z zewnątrz (dostęp tylko poprzez Maszynę 1) 

Pełna komunikacja w sieci prywatnej między oboma maszynami.

Wolna przestrzeń na dysku sdb na Maszynie 1

Zadanie 1

Na maszynie 2 utwórz dwie strony www 

Pierwsza strona dostępna po protokole http dostępna jedynie dla użytkowników tux11 i tux12 ( hasła do obydwu użytkowników novell ) (10 pkt.). Strona po autoryzacji użytkowników wyświetla napis “Potyczki 2020 numer zespołu : xxxx” gdzie xxxx to Wasz numer zespołu.

Druga strona wykorzystuje protokół https i wyświetla napis “Strona z certyfikatem SSL” (15 pkt.)

Strony wyświetlają się jako strony publiczne po wpisaniu nazwy maszyny pierwszej ( np. jeżeli logujesz się po ssh na adres trener-vm001.northeurope.cloudapp.azure.com to po wpisaniu tego adresu w przeglądarce ukazują się odpowiednio strony z maszyny 2) (25 pkt.)

Zadanie 2

Na maszynie 2 został uruchomiony serwer FTP, dla użytkownika orion zapewnia on dostęp do jego katalogu domowego.

Skonfiguruj synchronizację tego katalogu na maszynę 1 do ścieżki  /orion_vm2

Dane logowania są takie jak do użytkownika systemowego. 

Jako, że synchronizacja ma na celu archiwizację danych, to:

– nie jest wymagane zachowanie uprawnień

– pliki usunięte z maszyny 2 powinny pozostać w katalogu zsynchronizowanym na  maszynie 1

Punktacja:

Synchronizacja (15 pkt.)

Wykorzystywanie protokołu FTP (25 pkt.), możesz użyć innego protokołu jeżeli nie potrafisz zastosować FTP, natomiast nie będzie to w pełni punktowane.

Synchronizacja powinna następować co minutę (5 pkt.)

Synchronizuj tylko zmiany od ostatniej synchronizacji (10 pkt.)

Wszelkie informacje o synchronizacji i ewentualnych błędach zapisuj do pliku /var/log/ftp_sync.log (10 pkt.)

Zadanie 3

Na maszynie 2 utwórz użytkownika geeko z hasłem novell (10 pkt.). Dla użytkownika geeko daj uprawnie sudo do wszystkiego (5pkt).

Zadanie 4

Na dysku sdb utwórz 4 partycje 500MB (5 pkt.). Dodaj je do grupy wolumenów LVM o nazwie pingwiny.(5p) Utwórz wolumen logiczny o rozmiarze 1GB (5p). Montuj go w /mnt/pingwiny tylko wtedy, gdy zajdzie taka potrzeba (gdy użytkownik wejdzie w ten katalog).

Zadanie 5

Utwórz użytkownika admin. Skonfiguruj usługę syslog w taki sposób, aby wszystkie informacje dotyczące ssh trafiały do pliku /var/log/sshd (15p). Użytkownik admin ma mieć w swoim katalogu domowym dowiązanie do tego pliku (ta sama nazwa) (5p).

Zadanie 6

Utwórz katalog /pingwiny. Ustaw jego grupę właścicielską na pingwiny. Skonfiguruj uprawnienia w taki sposób, aby nowo tworzone w nim pliki miały grupę właścicielską taką, jak ten katalog (10p). Dodatkowo każdy może usuwać tylko swoje pliki (5p).

Zadanie 7

Utwórz skrypt zbierający informacje o systemie w następujący sposób:

<?xml version=”1.0″ encoding=”UTF-8″?>

<xml>

   <os>[wersja systemu]</os>

   <hostname>[hostname]</hostname>

   <ram>[użyty]/[cały]</ram>

   <disk>[użyty]/[cały]</disk>

</xml>

gdzie 

[wersja systemu] to wersja systemu operacyjnego, np. openSUSE

[hostname] to hostname maszyny

Dane zapisywać się mają w /var/log/stats.xml (10 pkt.)

Utworzyć usługę systemd stat-collector, której działaniem jest wykonanie owego skryptu. (10 pkt.)