Zagadnienia-na-kolokwium-SO-1

Architektura systemu Linux

1. Dystrybucja Linuxa

  • System uniksopodobny oparty na jądrze Linux.

  • Kompletność: zawiera menedżer pakietów oraz dodatkowe narzędzia

  • Rodzaje dystrybucji: różnice dotyczą:

    • konfiguracji systemu

    • przeznaczenia

    • sposobu zarządzania

    • wyglądu interfejsu graficznego

    • sposobu obsługi

    • zawartości oprogramowania

    • poziomu zaawansowania

2. Najpopularniejsze dystrybucje

  • Red Hat Enterprise Linux (RHEL):

    • Płatna dystrybucja przeznaczona dla dużych korporacji i serwerów.

  • CentOS:

    • Darmowy odpowiednik RHEL, używany głównie na serwerach.

  • Fedora:

    • Innowacyjna dystrybucja z krótkim okresem wsparcia, dla entuzjastów nowości.

  • Debian:

    • Stabilna baza dla wielu dystrybucji, w tym Ubuntu.

  • Ubuntu:

    • Przyjazna dla użytkownika, idealna dla początkujących z dużym wsparciem społeczności.

  • Arch Linux:

  • NixOS:

    • Nowoczesny system z deklaratywnym podejściem do zarządzania konfiguracją.

    Budowa: Ubuntu wywodzi się z Debiana, a RHEL i CentOS mają korzenie w Fedorze.

Zastosowanie systemu Linux

1. Procesy użytkownika

  • Graficzny Interfejs Użytkownika: wizualna interakcja z systemem.

  • Serwery: odpowiedzialne za różne usługi systemowe, np. obsługa stron www.

  • Powłoka: interfejs wiersza poleceń, np. bash.

2. Jądro systemu Linux

  • Wywołania systemowe: interfejs między programami użytkownika a jądrem.

  • Zarządzanie procesami: kontrola nad tworzeniem, wykonywaniem i kończeniem procesów.

  • Zarządzanie pamięcią: alokacja i zarządzanie pamięcią.

  • Sterowniki urządzeń: komunikacja między systemem a sprzętem.

3. Sprzęt

  • Procesor (CPU): wykonuje instrukcje i obliczenia.

  • Pamięć operacyjna (RAM): przechowuje aktualnie używane dane.

  • Dyski: zapewniają trwałe przechowywanie danych.

  • Porty sieciowe: komunikacja z innymi urządzeniami w sieci.

    Zastosowania Linuxa obejmują serwery, infrastrukturę IT, stacje robocze do rozwoju oprogramowania itp.

Główne moduły LSM

  • Trzy główne moduły

    • Security-Enhanced Linux (SELinux):

      • Dostępy: Mandatory Access Control (MAC)

    • AppArmor:

      • Dostępy: MAC, Discretionary Access Control (DAC)

    • Smack:

      • Dostępy: MAC

Mocne i słabe strony Linuxa

Słabe strony:

  • Problemy ze zgodnością sprzętu

  • Trudna krzywa uczenia się

  • Ograniczona dostępność oprogramowania

  • Brak standaryzacji

  • Ograniczone wsparcie komercyjne

Mocne strony:

  • Wysoka elastyczność i konfigurowalność

  • Duża społeczność dostarczająca wsparcia

  • Możliwość wykorzystania na wielu rodzajach sprzętu

  • Bezcenne narzędzia do bezpieczeństwa

Popularne powłoki

  • Gnome, KDE, sh, Bash, Csh, Zsh

Interfejsy w Linuxie

  • Interfejs:

    • Punkt komunikacji z innymi urządzeniami w sieci

    • Wysyłanie danych, komunikacja

    • Obsługuje protokoły (np. TCP/IP)

  • Interfejsy fizyczne:

    • Ethernet (eth0, eth1, etc.)

    • Wi-Fi (wlan0, wlan1, etc.)

  • Interfejsy wirtualne:

    • Loopback (lo)

    • Tunelowe (tun0, tap0)

    • Mostkowe (br0)

    • Interfejsy Dockerowe (docker0)

Komendy sieciowe:

  • ifconfig: Pokazuje konfigurację kart sieciowych (zastąpione przez ip a)

  • route: Pokazuje tablice tras (zastąpione przez ip route show)

  • arp: Tablica ARP (zastąpione przez ip neigh)

Tablica routingu

  • Zbiór reguł w systemie operacyjnym, który określa przesyłanie pakietów danych.

Rodzaje tras

  • Statyczna: dodawana ręcznie

  • Dynamiczna: zarządzana przez protokoły (np. OSPF, RIP)

Usuwanie tras

  • Komenda: ip route del example

Brama domyślna

  • Domyślny adres gdzie pakiety są wysyłane, gdy brak konkretnej trasy.

Network manager

  • Narzędzie do zarządzania sieciami w systemach Linux.

Plik /etc/hosts

  • Mapowanie nazw domen na adresy IP.

Plik /etc/resolv.conf

  • Konfiguracja połączenia do serwera DNS.

Narzędzia diagnostyczne sieciowe

Ping

  • Sprawdza czy adres IP/nazwa hosta jest osiągalny

Traceroute

  • Śledzi ścieżkę pakietów do hosta

Nslookup

  • Narzędzie do zapytań DNS

Diagnostyka usług sieciowych

  • Ocena parametrów jakościowych wpływających na stabilność i wydajność sieci.

Network Manager

  • Ułatwia konfigurację interfejsów sieciowych

Komendy do zarządzania usługami

  • systemctl start <nazwa_usługi> - uruchamianie usługi

  • systemctl stop <nazwa_usługi> - zatrzymywanie usługi

  • systemctl status <nazwa_usługi> - status usługi

  • systemctl restart <nazwa_usługi> - restart usługi

  • systemctl enable <nazwa_usługi> - automatyczne uruchamianie usługi

  • systemctl disable <nazwa_usługi> - wyłączenie usługi

MBR i GPT

MBR

  • Lokalizacja: pierwsze 512 bajtów dysku

  • Limit partycji: 4 podstawowe

  • Max pojemność dysku: 2 TB (32-bitowa adresacja)

GPT

  • Lokalizacja: UEFI, kopia tablicy na początku i końcu dysku

  • Limit partycji: do 128

  • Max pojemność: teoretycznie 8 ZB (64-bitowa adresacja)

RAID

  • Definicja: Zbiór dysków współdzielących dane w celu zapewnienia wydajności i redundancji.

Technologie RAID

  • RAID 0 (stripe), RAID 1 (mirror), RAID 5, 6, oraz kombinacje, np. RAID 10.

LVM

  • Zaawansowane zarządzanie przestrzenią dyskową.

  • LV (Logical Volumes), VG (Volume Groups), PV (Physical Volumes).

Systemy plików w Linuxie

Rodzaje systemów plików

  • EXT4: Domyślny system plików

  • VFAT: Dla przenośnych urządzeń

  • NTFS: Obsługa systemów Windows

LUKS

  • Standard szyfrowania dysku twardego w Linuxie.

Wydajność RAID

  • Wydajność, redundancja i pojemność jako kluczowe cele.

Sygnały TERM i KILL

  • Sygnał KILL: natychmiastowe zamknięcie procesu

  • Sygnał TERM: uruchamia procedury czyszczące przed zamknięciem procesu

Uwierzytelnianie użytkowników

Metody uwierzytelniania

  • Login + hasło

  • Public Key

  • MFA (Multi-Factor Authentication)

Tunel SSH

  • Umożliwia bezpieczny dostęp do portów zdalnego serwera.

Iptables

  • Narzędzie do zarządzania ruchem sieciowym w systemie Linux.