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 -Ghasználata-aGhelyett, ami lecserélheti a csoporttagságokat.- ACL beállítás után nincs
getfaclellenőrzés. /etc/fstabmódosítás után nincsmount -ateszt.- RAID/LVM parancs rossz lemezen fut, ezért mindig ellenőrizd:
lsblk. - Cron script nem futtatható: hiányzik a
chmod +x.
Quick solution outline
- Olvasd ki a neveket, csoportokat, mappákat.
- Hozd létre a csoportokat és felhasználókat.
- Állítsd be tulajdonost, chmodot, ACL-t.
- Lemezes feladatnál előbb
lsblk, utána LVM/RAID/quota. - 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
- Rename és AD DS telepítés, ha tartományt kell létrehozni.
- DNS forwarder, A rekord, CNAME rekord.
- OU, csoport, felhasználó, tagság.
- IIS telepítés, mappa, index.html, website, tűzfal.
- 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
SecureStringhelyett.
Quick solution outline
- Definiáld a változókat: domain, OU path, jelszó.
- Használj
Get-CommandésGet-Help -Exampleskeresést. - Futtasd kijelölt blokkonként.
- 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 szava | SQL |
|---|---|
| hány | COUNT() |
| összesen | SUM() |
| legnagyobb | MAX() |
| átlag | AVG() |
| pártonként / kerületenként / ülőhelyenként | GROUP BY |
| másik táblában van a név | JOIN |
| aggregált értékre szűrés | HAVING |
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
- Azonosítsd a fő táblát.
- Ha név másik táblában van, JOIN.
- Ha darab/összeg/max kell, aggregáló függvény.
- Ha "-ként", akkor GROUP BY.
- 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
- EC2 -> Launch instance.
- AMI: Ubuntu Server LTS.
- Instance type: t2.micro vagy t3.micro.
- Key pair: új vagy meglévő
.pem. - Public IPv4 address legyen.
Security Group ellenőrzőlista
| Szabály | Protokoll | Port |
|---|---|---|
| SSH | TCP | 22 |
| HTTP | TCP | 80 |
| ICMP Echo Request | ICMP | ping |
Gyakori hibák
- Rossz SSH user: Ubuntu esetén
ubuntu, nemroot. - Hiányzik
chmod 400a 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
- Instance indítás Ubuntuval és kulccsal.
- Security Group: SSH, HTTP, ICMP.
- SSH belépés, Apache telepítés.
- Lokális curl, külső curl, böngésző, ping.
- 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
- Image kiválasztása: nginx, postgres, node.
- Port mapping megadása.
- Adatbázishoz environment és volume.
- Indítás után
docker ps,docker logs,curl. - Compose esetén
docker compose up -désdocker compose down.
Végső beadás előtti ellenőrzés
| Technológia | Gyors ellenőrzés |
|---|---|
| Linux | id, getfacl, lsblk, df -h, systemctl --failed |
| Windows Server | Get-ADUser, Get-ADOrganizationalUnit, Resolve-DnsName, Get-Website |
| SQL | lekérdezések futnak, oszlopnevek olvashatók, JOIN/GROUP BY/HAVING logikus |
| AWS | SSH működik, Apache válaszol, Security Group jó, instance leállítva |
| Docker | docker 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.