Junior Rendszerüzemeltető Vizsgaportál

Ctrl+F-re és gyors gyakorlati keresésre optimalizált jegyzet.

Gyakorlati vizsga referencia - gyorsmenü

Ezt az oldalt használd elsőként a projektfeladatnál. Technológiánként tartalmaz tipikus feladatot, parancsokat, hibákat és gyors ellenőrzőlistát.

Linux gyakorlati feladatok

Tipikus vizsgafeladat

Felhasználók és csoportok létrehozása, jogosultságok és ACL beállítása, kvóta, RAID1, LVM, cron és archiválás.

Szükséges parancsok - teljes Linux minta

sudo groupadd gr1
sudo groupadd gr2
sudo useradd -m -G gr1 u1_gr1
echo "u1_gr1:Password123" | sudo chpasswd
sudo useradd -m -G gr1 u2_gr1
echo "u2_gr1:Password123" | sudo chpasswd
sudo useradd -m -G gr2 u3_gr2
echo "u3_gr2:Password123" | sudo chpasswd
who > ~/userek.txt
sudo mkdir /home/_egy /home/_ketto /home/_kozos
sudo chown :gr1 /home/_egy
sudo chmod 770 /home/_egy
sudo chown :gr2 /home/_ketto
sudo chmod 770 /home/_ketto
sudo setfacl -m g:gr1:rx,g:gr2:rx /home/_kozos
cp ~/userek.txt /home/_kozos/
sudo tar -czpf kozos.tar.gz /home/_kozos

User creation ellenőrzőlista

sudo groupadd gr1
sudo useradd -m -G gr1 u1_gr1
echo "u1_gr1:Password123" | sudo chpasswd
id u1_gr1
getent group gr1

ACL ellenőrzőlista

sudo mkdir -p /home/_kozos
sudo setfacl -m g:gr1:rx,g:gr2:rx /home/_kozos
getfacl /home/_kozos

Quota ellenőrzőlista

sudo apt install quota -y
# /etc/fstab: defaults,usrquota,grpquota
sudo mount -o remount /srv/adat
sudo quotacheck -cum /srv/adat
sudo quotaon /srv/adat
sudo edquota u1_gr1
sudo repquota /srv/adat

RAID1 ellenőrzőlista

sudo apt install mdadm -y
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
cat /proc/mdstat
sudo mdadm --detail /dev/md0
sudo mkfs.ext4 /dev/md0
sudo mount /dev/md0 /mnt

LVM ellenőrzőlista

sudo pvcreate /dev/sdb
sudo vgcreate vgdata /dev/sdb
sudo lvcreate -n lvdata -L 10G vgdata
sudo mkfs.ext4 /dev/vgdata/lvdata
sudo mount /dev/vgdata/lvdata /mnt
sudo lvextend -r -L +5G /dev/vgdata/lvdata

Cron ellenőrzőlista

crontab -e
# minden nap 18:00-kor
0 18 * * * /home/user/script.sh

crontab -l

Gyakori hibák

  • usermod -G használata -aG helyett, ami lecserélheti a csoporttagságokat.
  • ACL beállítás után nincs getfacl ellenőrzés.
  • /etc/fstab módosítás után nincs mount -a teszt.
  • RAID/LVM parancs rossz lemezen fut, ezért mindig ellenőrizd: lsblk.
  • Cron script nem futtatható: hiányzik a chmod +x.

Quick solution outline

  1. Olvasd ki a neveket, csoportokat, mappákat.
  2. Hozd létre a csoportokat és felhasználókat.
  3. Állítsd be tulajdonost, chmodot, ACL-t.
  4. Lemezes feladatnál előbb lsblk, utána LVM/RAID/quota.
  5. A végén ellenőrzés: id, ls -ld, getfacl, df -h, systemctl --failed.

Windows Server gyakorlati feladatok

Tipikus vizsgafeladat

AD DS telepítés, OU létrehozás, felhasználók és csoportok létrehozása, DNS A/CNAME rekordok, IIS webhely publikálás.

Szükséges parancsok - teljes Windows minta

Rename-Computer -NewName "WSKZ" -Restart
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSForest -DomainName "rkz.local" -SafeModeAdministratorPassword (ConvertTo-SecureString "Password123" -AsPlainText -Force)
Add-DnsServerForwarder -IPAddress 8.8.8.8
Add-DnsServerResourceRecordA -Name "gw" -ZoneName "rkz.local" -IPv4Address "10.20.30.254"
Add-DnsServerResourceRecordA -Name "szerver" -ZoneName "rkz.local" -IPv4Address "10.20.30.200"
Add-DnsServerResourceRecordCName -Name "www" -ZoneName "rkz.local" -HostNameAlias "szerver.rkz.local"
New-ADOrganizationalUnit -Name "VizsgaKZ"
New-ADOrganizationalUnit -Name "Teszt" -Path "OU=VizsgaKZ,DC=rkz,DC=local"
New-ADGroup -Name "Tesztelok" -GroupScope Global -Path "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
New-ADUser -Name "Teszt1" -AccountPassword (ConvertTo-SecureString "Password123" -AsPlainText -Force) -Enabled $true -Path "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
Add-ADGroupMember -Identity "Tesztelok" -Members "Teszt1"
Install-WindowsFeature Web-Server
New-Item -Path "C:\WWW" -ItemType Directory
Set-Content -Path "C:\WWW\index.html" -Value "Képesítő vizsga folyamatban..."
New-WebSite -Name "WWWKZ" -Port 800 -PhysicalPath "C:\WWW"

OU creation ellenőrzőlista

New-ADOrganizationalUnit -Name "VizsgaKZ"
New-ADOrganizationalUnit -Name "Teszt" -Path "OU=VizsgaKZ,DC=rkz,DC=local"
Get-ADOrganizationalUnit -Filter 'Name -like "*Teszt*"'

User creation ellenőrzőlista

$jelszo = ConvertTo-SecureString "Password123" -AsPlainText -Force
New-ADUser -Name "Teszt1" -SamAccountName "Teszt1" -AccountPassword $jelszo -Enabled $true -Path "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
New-ADUser -Name "Teszt2" -SamAccountName "Teszt2" -AccountPassword $jelszo -Enabled $true -Path "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
Get-ADUser -Filter 'Name -like "*Teszt*"'

DNS records ellenőrzőlista

Add-DnsServerResourceRecordA -Name "szerver" -ZoneName "rkz.local" -IPv4Address "10.20.30.200"
Add-DnsServerResourceRecordCName -Name "www" -ZoneName "rkz.local" -HostNameAlias "szerver.rkz.local"
Resolve-DnsName szerver.rkz.local
Resolve-DnsName www.rkz.local

IIS website ellenőrzőlista

Install-WindowsFeature Web-Server
New-Item -Path "C:\WWW" -ItemType Directory
Set-Content -Path "C:\WWW\index.html" -Value "Képesítő vizsga folyamatban..."
New-WebSite -Name "WWWKZ" -Port 800 -PhysicalPath "C:\WWW"
New-NetFirewallRule -DisplayName "WWWKZ 800" -Direction Inbound -Protocol TCP -LocalPort 800 -Action Allow
Invoke-WebRequest http://localhost:800

Gyakori hibák

  • AD DS telepítés után nincs újraindítás vagy tartományi admin belépés.
  • Hibás DN: OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local.
  • DNS CNAME célja nem FQDN, például hiányzik a szerver.rkz.local.
  • IIS port működik lokálisan, de tűzfalon nincs engedélyezve.

Quick solution outline

  1. Rename és AD DS telepítés, ha tartományt kell létrehozni.
  2. DNS forwarder, A rekord, CNAME rekord.
  3. OU, csoport, felhasználó, tagság.
  4. IIS telepítés, mappa, index.html, website, tűzfal.
  5. Ellenőrzés: Get-ADUser, Resolve-DnsName, Get-Website.

PowerShell gyakorlati alapok

Tipikus vizsgafeladat

Parancsok összefűzése, változók használata, jelszó SecureString formában, listák bejárása, AD/DNS/IIS parancsok gyors futtatása.

Szükséges parancsok

$nev = "Teszt1"
$path = "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
$jelszo = ConvertTo-SecureString "Password123" -AsPlainText -Force

if ($nev -like "Teszt*") {
  Write-Host "Vizsgafelhasználó"
}

foreach ($user in @("Teszt1","Teszt2")) {
  New-ADUser -Name $user -SamAccountName $user -AccountPassword $jelszo -Enabled $true -Path $path
}

Function ellenőrzőlista

function New-VizsgaUser {
  param([string]$Nev, [string]$Path)
  $jelszo = ConvertTo-SecureString "Password123" -AsPlainText -Force
  New-ADUser -Name $Nev -SamAccountName $Nev -AccountPassword $jelszo -Enabled $true -Path $Path
}

New-VizsgaUser -Nev "Teszt3" -Path "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"

Gyakori hibák

  • Szöveg nincs idézőjelben.
  • Elfelejtett $ változónév előtt.
  • PowerShell sortörésnél rosszul használt backtick.
  • Jelszó sima stringként átadva SecureString helyett.

Quick solution outline

  1. Definiáld a változókat: domain, OU path, jelszó.
  2. Használj Get-Command és Get-Help -Examples keresést.
  3. Futtasd kijelölt blokkonként.
  4. Minden létrehozás után legyen Get-... ellenőrzés.

SQL gyakorlati feladatok

Tipikus vizsgafeladat

Adatok lekérdezése több táblából JOIN-nal, darabszám és összeg számítása, csoportosítás GROUP BY szerint, aggregált értékek szűrése HAVING-gel.

Szükséges parancsok - felismerő

Feladat szavaSQL
hányCOUNT()
összesenSUM()
legnagyobbMAX()
átlagAVG()
pártonként / kerületenként / ülőhelyenkéntGROUP BY
másik táblában van a névJOIN
aggregált értékre szűrésHAVING

JOIN ellenőrzőlista

SELECT p.part_megnev AS part,
       e.szav_szam AS szavazatok
FROM eredmenyek e
JOIN partok p ON e.part = p.part_kod
WHERE e.kerulet = '007'
  AND e.szav_szam > 100;

GROUP BY, COUNT, SUM, MAX ellenőrzőlista

SELECT p.part_megnev,
       SUM(e.szav_szam) AS osszes_szavazat
FROM eredmenyek e
JOIN partok p ON e.part = p.part_kod
GROUP BY p.part_megnev;

SELECT kerulet,
       MAX(szav_szam) AS max_szavazat
FROM eredmenyek
GROUP BY kerulet;

SELECT ulohely,
       COUNT(*) AS foglalasok
FROM jegyek
GROUP BY ulohely;

HAVING ellenőrzőlista

SELECT ja.jaratszam,
       COUNT(j.jegy_sorszam) AS eladott_jegyek
FROM jaratok ja
LEFT JOIN jegyek j ON ja.jaratszam = j.jarat
WHERE DATEPART(HOUR, ja.indul) < 12
GROUP BY ja.jaratszam
HAVING COUNT(j.jegy_sorszam) < 5;

Gyakori hibák

  • JOIN feltételben rossz kulcsok összekötése.
  • GROUP BY hiányzik, miközben nem aggregált oszlop van a SELECT-ben.
  • Aggregált feltétel WHERE-ben szerepel HAVING helyett.
  • COUNT(oszlop) nem számolja a NULL értékeket, COUNT(*) minden sort számol.

Quick solution outline

  1. Azonosítsd a fő táblát.
  2. Ha név másik táblában van, JOIN.
  3. Ha darab/összeg/max kell, aggregáló függvény.
  4. Ha "-ként", akkor GROUP BY.
  5. Ha aggregált eredményre szűrsz, HAVING.

AWS gyakorlati feladatok

Tipikus vizsgafeladat

EC2 Ubuntu példány indítása, Security Group beállítása, SSH belépés, Apache telepítés, HTTP és ping teszt, példány leállítása.

Szükséges parancsok - AWS teljes minta

# EC2 konzolban: Ubuntu, t2.micro/t3.micro, SG: 22/80/ICMP
chmod 400 vizsga.pem
ssh -i vizsga.pem ubuntu@PUBLIC_IP
sudo apt update
sudo apt install apache2 -y
systemctl status apache2
curl http://localhost
exit
ping PUBLIC_IP
curl http://PUBLIC_IP
# végén: EC2 -> Instance state -> Stop instance

EC2 ellenőrzőlista

  1. EC2 -> Launch instance.
  2. AMI: Ubuntu Server LTS.
  3. Instance type: t2.micro vagy t3.micro.
  4. Key pair: új vagy meglévő .pem.
  5. Public IPv4 address legyen.

Security Group ellenőrzőlista

SzabályProtokollPort
SSHTCP22
HTTPTCP80
ICMP Echo RequestICMPping

Gyakori hibák

  • Rossz SSH user: Ubuntu esetén ubuntu, nem root.
  • Hiányzik chmod 400 a kulcsra.
  • Apache fut, de HTTP 80 nincs engedélyezve a Security Groupban.
  • Ping teszthez nincs ICMP Echo Request inbound szabály.
  • Feladat végén nincs Stop instance, ami költséget okozhat.

Quick solution outline

  1. Instance indítás Ubuntuval és kulccsal.
  2. Security Group: SSH, HTTP, ICMP.
  3. SSH belépés, Apache telepítés.
  4. Lokális curl, külső curl, böngésző, ping.
  5. Instance state -> Stop instance.

Docker gyakorlati feladatok

Tipikus vizsgafeladat

nginx konténer indítása port mappinggel, postgres konténer indítása volume-mal, több konténer kezelése Docker Compose-zal.

nginx container ellenőrzőlista

docker pull nginx
docker run -d --name nginx-web -p 8080:80 nginx
docker ps
curl http://localhost:8080
docker logs nginx-web
docker rm -f nginx-web

postgres container ellenőrzőlista

docker volume create pgdata
docker run -d --name postgres-db \
  -e POSTGRES_PASSWORD=Password123 \
  -e POSTGRES_DB=vizsga \
  -e POSTGRES_USER=vizsga \
  -v pgdata:/var/lib/postgresql/data \
  -p 5432:5432 \
  postgres:16
docker ps
docker logs postgres-db

docker compose ellenőrzőlista

services:
  web:
    image: nginx
    ports:
      - "8080:80"
  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: Password123
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  pgdata:
docker compose up -d
docker compose ps
docker compose logs
curl http://localhost:8080
docker compose down

Gyakori hibák

  • Port mapping felcserélése: -p HOST:CONTAINER.
  • Postgres jelszó környezeti változó hiányzik.
  • Adatbázis volume nélkül indul, konténer törlésekor adatvesztés lehet.
  • Compose YAML behúzás hibás.
  • Konténer leáll, de nem nézed meg: docker logs.

Quick solution outline

  1. Image kiválasztása: nginx, postgres, node.
  2. Port mapping megadása.
  3. Adatbázishoz environment és volume.
  4. Indítás után docker ps, docker logs, curl.
  5. Compose esetén docker compose up -d és docker compose down.

Végső beadás előtti ellenőrzés

TechnológiaGyors ellenőrzés
Linuxid, getfacl, lsblk, df -h, systemctl --failed
Windows ServerGet-ADUser, Get-ADOrganizationalUnit, Resolve-DnsName, Get-Website
SQLlekérdezések futnak, oszlopnevek olvashatók, JOIN/GROUP BY/HAVING logikus
AWSSSH működik, Apache válaszol, Security Group jó, instance leállítva
Dockerdocker ps, docker logs, portok elérhetők, volume megvan

Beadás előtt minden feladatnál legyen bizonyíték: parancskimenet, működő weboldal, lekérdezési eredmény vagy ellenőrző parancs.