Zadania praktyczne z kwalifikacji INF.02 (administrowanie systemami i sieciami) polegają na skonfigurowaniu stanowiska według opisu: adres IP z maską i bramą, serwery DNS, konta użytkowników, prawa do katalogów. Najłatwiej o błąd w szczegółach — brama z innej sieci, powtórzony adres, zbyt szerokie prawa. Dlatego warto pracować z listą kontrolną, którą da się też zapisać w programie. Na lekcji uczniowie sprawdzają cztery wymyślone stanowiska według wymagań pracowni.
Scenariusz jest przeznaczony na 45 minut dla klasy znającej adresację IPv4, konta i uprawnienia — na przykład po lekcjach o konfiguracji sieci i uprawnieniach. Wymagania pracowni i stanowiska są wymyślone; forma egzaminu i wymagania zależą od aktualnych informatorów CKE. Program sprawdza opis konfiguracji, a nie prawdziwy komputer — w praktyce konfigurację sprawdza się poleceniami systemowymi na stanowisku.
Przygotowanie stanowisk
Potrzebny jest Python 3 i edytor lub IDLE. Rozpakuj pakiet z sekcji materiałów do osobnego folderu i uruchamiaj skrypty z tego folderu. Program uruchomisz przez Run → Run Module albo poleceniem python start.py, python3 start.py lub py start.py.
Cele i plan lekcji
Po zajęciach uczeń potrafi:
- sprawdzić adres, maskę, bramę i DNS według wymagań sieci pracowni;
- wykryć duplikaty adresów i adresy zarezerwowane (sieci, rozgłoszeniowy, bramy);
- sprawdzić konta użytkowników i uprawnienia katalogu wspólnego;
- zapisać wnioski w postaci listy kontrolnej do poprawy.
| Czas | Praca na lekcji |
|---|---|
| 0–5 min | Wymagania pracowni |
| 5–15 min | Elementy konfiguracji stanowiska |
| 15–22 min | Kontrola w programie |
| 22–37 min | Trzy zadania |
| 37–42 min | Własna lista kontrolna |
| 42–45 min | Pytania kontrolne |
Wymagania pracowni
| Parametr | Wymaganie |
|---|---|
| sieć | 192.168.50.0/24, maska 255.255.255.0 |
| brama domyślna | 192.168.50.1 |
| DNS | 192.168.50.1 |
| adres stanowiska | z zakresu sieci, poza adresem sieci (.0), rozgłoszeniowym (.255) i bramą (.1) |
| konta | uczen (zwykły użytkownik) oraz admin (administrator) |
| katalog wspólny | dostęp dla właściciela i grupy (np. 770 lub 750), bez praw dla pozostałych |
Typowe błędy
- Adres poza siecią (PC-03: 192.168.51.13) — komputer nie dotrze do bramy.
- Brama lub DNS niezgodne z wymaganiami (PC-02) — brak łączności z siecią firmy lub nazwy nie są rozwiązywane.
- Zła maska (PC-04: /25 zamiast /24) — zmienia zakres sieci i adres rozgłoszeniowy.
- Duplikat adresu (PC-01 i PC-04 mają ten sam adres).
- Brakujące konto (PC-03: brak
admin). - Zbyt szerokie prawa do katalogu wspólnego (777) — każdy może zmieniać zawartość.
Lista kontrolna
Przed oddaniem stanowiska sprawdź: adres/maska/brama/DNS, ping do bramy i do serwera, konta i ich uprawnienia, prawa do katalogów, nazwę komputera. Każdy punkt zapisz i odhacz.
Zadania
Zadanie 1. Kontrola. Sprawdź cztery stanowiska według wymagań i wypisz wszystkie wykryte problemy.
Zadanie 2. Duplikaty. Znajdź powtarzające się adresy IP.
Zadanie 3. Podsumowanie. Wypisz stanowiska gotowe do pracy i liczbę stanowisk do poprawy.
Dla chętnych: dodaj do wymagań nazwę komputera w formacie PC-NN i sprawdź ją programem.
Rozwiązanie i wyniki
import ipaddress
# Wymagania dla pracowni (wymyslone): siec 192.168.50.0/24, brama .1, DNS .1
SIEC = ipaddress.ip_network("192.168.50.0/24")
BRAMA = ipaddress.ip_address("192.168.50.1")
STANOWISKA = {
"PC-01": {"ip": "192.168.50.11", "maska": "255.255.255.0", "brama": "192.168.50.1", "dns": ["192.168.50.1"], "konta": {"uczen", "admin"}, "wspolny": 0o770},
"PC-02": {"ip": "192.168.50.12", "maska": "255.255.255.0", "brama": "192.168.50.254", "dns": ["8.8.8.8"], "konta": {"uczen", "admin"}, "wspolny": 0o770},
"PC-03": {"ip": "192.168.51.13", "maska": "255.255.255.0", "brama": "192.168.50.1", "dns": ["192.168.50.1"], "konta": {"uczen"}, "wspolny": 0o777},
"PC-04": {"ip": "192.168.50.11", "maska": "255.255.255.128", "brama": "192.168.50.1", "dns": ["192.168.50.1"], "konta": {"uczen", "admin"}, "wspolny": 0o750},
}
def kontrola(nazwa, s):
problemy = []
ip = ipaddress.ip_address(s["ip"])
if ip not in SIEC:
problemy.append("adres poza siecia pracowni")
elif ip in (SIEC.network_address, SIEC.broadcast_address, BRAMA):
problemy.append("adres zarezerwowany")
if s["maska"] != str(SIEC.netmask):
problemy.append("zla maska " + s["maska"])
if ipaddress.ip_address(s["brama"]) != BRAMA:
problemy.append("zla brama " + s["brama"])
if str(BRAMA) not in s["dns"]:
problemy.append("brak DNS " + str(BRAMA))
if s["konta"] != {"uczen", "admin"}:
problemy.append("brakujace konta: " + ", ".join(sorted({"uczen", "admin"} - s["konta"])))
if s["wspolny"] & 0o007:
problemy.append("katalog wspolny dostepny dla wszystkich (" + oct(s["wspolny"])[2:] + ")")
return problemy
# Zadanie 1: kontrola kazdego stanowiska
for nazwa, s in STANOWISKA.items():
p = kontrola(nazwa, s)
print(nazwa, "-", "OK" if not p else "; ".join(p))
# Zadanie 2: duplikaty adresow
adresy = {}
for nazwa, s in STANOWISKA.items():
adresy.setdefault(s["ip"], []).append(nazwa)
print("Duplikaty adresow:", {a: n for a, n in adresy.items() if len(n) > 1})
# Zadanie 3: podsumowanie
poprawne = [n for n, s in STANOWISKA.items() if not kontrola(n, s)]
print("Gotowe stanowiska:", poprawne, "| do poprawy:", len(STANOWISKA) - len(poprawne))
Program wypisze:
PC-01 - OK
PC-02 - zla brama 192.168.50.254; brak DNS 192.168.50.1
PC-03 - adres poza siecia pracowni; brakujace konta: admin; katalog wspolny dostepny dla wszystkich (777)
PC-04 - zla maska 255.255.255.128
Duplikaty adresow: {'192.168.50.11': ['PC-01', 'PC-04']}
Gotowe stanowiska: ['PC-01'] | do poprawy: 3
Stanowisko PC-01 jest poprawne. PC-02 ma złą bramę i zły serwer DNS, PC-03 ma adres z innej sieci, brakuje mu konta admin i ma zbyt szerokie prawa do katalogu wspólnego (777), a PC-04 ma złą maskę (/25) oraz adres taki sam jak PC-01. Program zgłasza powtarzający się adres 192.168.50.11 u PC-01 i PC-04, a gotowe jest tylko jedno stanowisko z czterech. Plik rozszerzenie.py pokazuje działanie maski bitowej na prawach: uprawnienia „pozostałych” w 770 i 750 to 0, a w 777 — 7.
Plik rozszerzenie.py (zadanie dla chętnych) wypisze:
0o0 0o7 0o0
Typowe błędy
| Objaw | Co sprawdzić |
|---|---|
| Brama z innej sieci | Brama musi leżeć w sieci stanowiska. |
| Brak sprawdzenia duplikatów | Dwa urządzenia z jednym adresem zakłócają łączność. |
| Prawa 777 „żeby działało” | Nadaj tylko potrzebne prawa dla grupy. |
| Pominięcie DNS | Bez niego nazwy nie są zamieniane na adresy. |
| Brak testu po konfiguracji | Sprawdź ping do bramy i serwera. |
| Zmiana konfiguracji na komputerze szkolnym bez zgody | Ćwicz na maszynie wirtualnej. |
Pytania kontrolne i punktacja
- Jakie adresy w sieci /24 nie nadają się dla stanowisk?
- Dlaczego prawa 777 do katalogu wspólnego są ryzykowne?
- Co sprawdzisz, gdy stanowisko nie ma dostępu poza sieć lokalną?
Odpowiedzi: Adres sieci (.0), rozgłoszeniowy (.255) i adres bramy. Bo każdy użytkownik może zmieniać i usuwać zawartość katalogu. Adres, maskę i bramę, ping do bramy oraz czy brama jest w tej samej sieci.
Proponowana punktacja (razem 10 punktów): zadanie 1 — cztery kontrole 4 pkt; zadanie 2 — duplikaty 2 pkt; zadanie 3 — podsumowanie 2 pkt; lista kontrolna w pytaniach 2 pkt. Zadanie dla chętnych nie jest wymagane do pełnej oceny.
Materiały do pobrania
Rozpakuj ZIP przed otwarciem plików. Materiały są dostępne bez logowania; publiczne rozwiązanie służy nauce i samodzielnemu sprawdzeniu, a nie poufnemu sprawdzianowi.
Co dalej?
Następny krok to konfiguracja usług sieciowych, kopie zapasowe i dokumentowanie konfiguracji. Ten materiał rozwija dział o administrowaniu systemami w kursie Linux w TablicaPro, gdzie znajdziesz prezentacje, ćwiczenia i testy do prowadzenia lekcji.
Źródła techniczne: informacje o egzaminach zawodowych CKE oraz moduł ipaddress. Zobacz też lekcję o uprawnieniach.
Poprowadź kolejne lekcje Linux
Pełny kurs: prezentacje, ćwiczenia i testy do pracy z klasą.
Kup dostęp do kursu Linux →