Linux · INF.02 · stanowisko

INF.02 — konfiguracja stanowiska w pracowni: lista kontrolna, adresacja, konta i uprawnienia

Zadanie praktyczne w stylu INF.02: kontrola konfiguracji stanowisk (adres IP, maska, brama, DNS), kont użytkowników i uprawnień katalogu wspólnego. Lista kontrolna w Pythonie, trzy zadania z wynikami.

45 minutPoziom podstawowyPliki i rozwiązania

Materiał redakcyjny TablicaPro · liceum i technikum

kontrola("PC-02", STANOWISKA["PC-02"])
Konfiguracja stanowisk sprawdzona.
Gotowe: PC-01.

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.
CzasPraca na lekcji
0–5 minWymagania pracowni
5–15 minElementy konfiguracji stanowiska
15–22 minKontrola w programie
22–37 minTrzy zadania
37–42 minWłasna lista kontrolna
42–45 minPytania kontrolne

Wymagania pracowni

ParametrWymaganie
sieć192.168.50.0/24, maska 255.255.255.0
brama domyślna192.168.50.1
DNS192.168.50.1
adres stanowiskaz zakresu sieci, poza adresem sieci (.0), rozgłoszeniowym (.255) i bramą (.1)
kontauczen (zwykły użytkownik) oraz admin (administrator)
katalog wspólnydostę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

ObjawCo sprawdzić
Brama z innej sieciBrama musi leżeć w sieci stanowiska.
Brak sprawdzenia duplikatówDwa urządzenia z jednym adresem zakłócają łączność.
Prawa 777 „żeby działało”Nadaj tylko potrzebne prawa dla grupy.
Pominięcie DNSBez niego nazwy nie są zamieniane na adresy.
Brak testu po konfiguracjiSprawdź ping do bramy i serwera.
Zmiana konfiguracji na komputerze szkolnym bez zgodyĆwicz na maszynie wirtualnej.

Pytania kontrolne i punktacja

  1. Jakie adresy w sieci /24 nie nadają się dla stanowisk?
  2. Dlaczego prawa 777 do katalogu wspólnego są ryzykowne?
  3. 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 →

Zobacz program kursu