Junior Rendszerüzemeltető Vizsgaportál

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

Linux vizsga referencia - tartalomjegyzék

Gyakorlati Junior Rendszerüzemeltető vizsgához: parancsok, ellenőrzések, tipikus hibák és rövid mintafeladatok.

Linux gyorsparancsok

Felhasználók és csoportok

sudo groupadd gr1
sudo useradd -m -G gr1 u1_gr1
echo "u1_gr1:Password123" | sudo chpasswd
sudo usermod -aG gr1 felhasznalo
sudo userdel -r felhasznalo
id felhasznalo
getent group gr1

Bejelentkezni képes felhasználók

awk -F: '$7 !~ /(false|nologin)$/ {print $1}' /etc/passwd
# vagy aktuálisan bejelentkezettek:
who > ~/userek.txt

Alap diagnosztika

hostnamectl
ip addr
ip route
df -h
free -h
systemctl --failed
journalctl -xe

Felhasználó- és csoportkezelés

A felhasználók adatai főként az /etc/passwd, /etc/shadow, /etc/group és /etc/gshadow fájlokban vannak. Közvetlen szerkesztés helyett vizsgán is parancsokat használj.

useradd - felhasználó létrehozása

# felhasználó home könyvtárral
sudo useradd -m kovacs

# konkrét shell és megjegyzés
sudo useradd -m -s /bin/bash -c "Kovacs Bela" kovacs

# elsődleges csoport és kiegészítő csoportok
sudo groupadd informatika
sudo useradd -m -g informatika -G sudo,www-data bela

passwd - jelszó és zárolás

sudo passwd kovacs
sudo passwd -l kovacs      # jelszó zárolása
sudo passwd -u kovacs      # feloldás
sudo passwd -e kovacs      # következő belépéskor csere
sudo chage -l kovacs       # jelszó lejárati adatok

usermod - módosítás

sudo usermod -aG sudo kovacs       # hozzáadás csoporthoz
sudo usermod -s /bin/bash kovacs   # login shell módosítása
sudo usermod -d /home/uj -m kovacs # home áthelyezése
sudo usermod -L kovacs             # fiók zárolása
sudo usermod -U kovacs             # fiók feloldása

A -aG fontos: -G önmagában lecserélheti a kiegészítő csoporttagságokat.

userdel és groupadd

sudo groupadd fejlesztok
sudo groupadd -g 1500 vizsgazok

sudo userdel kovacs       # felhasználó törlése
sudo userdel -r kovacs    # home és levelek törlése is
sudo groupdel fejlesztok

Ellenőrző parancsok

id kovacs
groups kovacs
getent passwd kovacs
getent group sudo
lastlog -u kovacs
awk -F: '$7 !~ /(false|nologin)$/ {print $1, $6, $7}' /etc/passwd

Fájl jogosultságok: chmod, chown, chgrp

JogSzámFájlonKönyvtáron
r4olvasáslista olvasása
w2írás, módosításlétrehozás, törlés, átnevezés
x1futtatásbelépés, elérés

chmod számmal

chmod 755 script.sh    # rwxr-xr-x
chmod 644 index.html   # rw-r--r--
chmod 600 titok.txt    # csak tulajdonos olvas/ír
chmod 770 /home/_egy   # tulajdonos és csoport teljes jog

chmod szimbolikusan

chmod u+x script.sh
chmod g+w kozos.txt
chmod o-r titok.txt
chmod a+r publikus.txt
chmod -R g+rwX /srv/projekt

chown és chgrp

sudo chown kovacs fajl.txt
sudo chown kovacs:informatika fajl.txt
sudo chown -R root:www-data /var/www/html
sudo chgrp gr1 mappa
sudo chgrp -R fejlesztok /srv/projekt

Tipikus vizsgafeladat

sudo mkdir /home/_egy /home/_kozos
sudo groupadd gr1
sudo chown :gr1 /home/_egy
sudo chmod 770 /home/_egy
sudo chown root:gr1 /home/_kozos
sudo chmod 2770 /home/_kozos
ls -ld /home/_egy /home/_kozos

SUID, SGID és Sticky Bit

BitParancsHol jellemző?Jelentés
SUIDchmod 4755 fajlfuttatható fájla program a tulajdonos jogaival fut
SGIDchmod 2775 konyvtarkönyvtáraz új fájlok öröklik a könyvtár csoportját
Stickychmod 1777 konyvtarközös írható könyvtármindenki írhat, de más fájlját nem törölheti

SUID példa

ls -l /usr/bin/passwd
# -rwsr-xr-x ... /usr/bin/passwd

sudo chmod u+s sajat_program
sudo chmod 4755 sajat_program
sudo chmod u-s sajat_program

SGID közös projektkönyvtáron

sudo mkdir /srv/projekt
sudo chown root:fejlesztok /srv/projekt
sudo chmod 2775 /srv/projekt
touch /srv/projekt/teszt.txt
ls -ld /srv/projekt
ls -l /srv/projekt/teszt.txt

Sticky Bit példa

ls -ld /tmp
# drwxrwxrwt ... /tmp

sudo mkdir /srv/kozos-iro
sudo chmod 1777 /srv/kozos-iro
sudo chmod +t /srv/kozos-iro

Nagybetűs S vagy T jelenik meg, ha a speciális bit be van állítva, de az adott végrehajtási jog hiányzik.

ACL: setfacl és getfacl

Az ACL akkor hasznos, ha a klasszikus tulajdonos-csoport-mindenki modell kevés. Például két csoportnak kell külön jog ugyanarra a könyvtárra.

Jog adása

sudo setfacl -m u:anna:rwx /srv/projekt
sudo setfacl -m g:gr1:rwx /home/_egy
sudo setfacl -m g:gr2:rx /home/_kozos
getfacl /home/_kozos

Alapértelmezett ACL könyvtárra

# új fájlok és alkönyvtárak is örököljék
sudo setfacl -d -m g:gr1:rwx /srv/projekt
sudo setfacl -d -m g:gr2:rx /srv/projekt
getfacl /srv/projekt

ACL törlése

sudo setfacl -x u:anna /srv/projekt
sudo setfacl -x g:gr1 /srv/projekt
sudo setfacl -b /srv/projekt      # minden extra ACL törlése
sudo setfacl -k /srv/projekt      # default ACL törlése

Vizsgaminta két csoporttal

sudo mkdir /home/_egy /home/_ketto /home/_kozos
sudo setfacl -m g:gr1:rwx /home/_egy
sudo setfacl -m g:gr2:rwx /home/_ketto
sudo setfacl -m g:gr1:rx,g:gr2:rx /home/_kozos
getfacl /home/_egy /home/_ketto /home/_kozos

Lemezkvóták: quotaon, edquota, repquota

A kvóta felhasználónként vagy csoportonként korlátozza a felhasználható lemezterületet vagy inode-ok számát. Vizsgán gyakran külön csatolt partíción kérik.

Telepítés és fstab opciók

sudo apt update
sudo apt install quota -y

# /etc/fstab példa ext4 fájlrendszerhez:
UUID=1111-2222 /srv/adat ext4 defaults,usrquota,grpquota 0 2

sudo mount -o remount /srv/adat

Kvótafájlok létrehozása és bekapcsolás

sudo quotacheck -cum /srv/adat
sudo quotacheck -cgm /srv/adat
sudo quotaon /srv/adat
sudo quotaon -vug /srv/adat

Kvóta szerkesztése és ellenőrzése

sudo edquota kovacs          # felhasználói kvóta
sudo edquota -g fejlesztok   # csoportkvóta
quota -u kovacs
sudo repquota -a
sudo repquota /srv/adat

soft limit: türelmi idővel túlléphető. hard limit: nem léphető túl. Inode kvóta a fájlok darabszámát korlátozza.

Fájlrendszerek és csatolás

Lemezek azonosítása

lsblk
lsblk -f
sudo blkid
df -h
df -Th
findmnt

Fájlrendszer létrehozása

# példa: /dev/sdb1 új partíció
sudo mkfs.ext4 /dev/sdb1
sudo mkfs.xfs /dev/sdb1
sudo e2label /dev/sdb1 ADAT

Mount és umount

sudo mkdir -p /mnt/adat
sudo mount /dev/sdb1 /mnt/adat
mount | grep adat
df -h /mnt/adat
sudo umount /mnt/adat

/etc/fstab tartós csatolás

sudo blkid /dev/sdb1
sudo nano /etc/fstab

# ajánlott UUID alapján:
UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /mnt/adat ext4 defaults 0 2

# ellenőrzés újraindítás előtt:
sudo mount -a
findmnt /mnt/adat

Ha az fstab hibás, a rendszer boot közben megállhat. Mindig futtasd a sudo mount -a parancsot mentés után.

LVM: pvcreate, vgcreate, lvcreate, lvextend

Az LVM rugalmas lemezkezelést ad: fizikai kötetből (PV) kötetcsoport (VG), abból logikai kötet (LV) készül.

Létrehozás

sudo pvcreate /dev/sdb
sudo vgcreate vgdata /dev/sdb
sudo lvcreate -n lvdata -L 10G vgdata
sudo mkfs.ext4 /dev/vgdata/lvdata
sudo mkdir -p /srv/data
sudo mount /dev/vgdata/lvdata /srv/data

Ellenőrzés

pvs
vgs
lvs
lvdisplay /dev/vgdata/lvdata
df -h /srv/data
lsblk

Bővítés

# LV és fájlrendszer bővítése együtt
sudo lvextend -r -L +5G /dev/vgdata/lvdata

# minden szabad hely hozzáadása
sudo lvextend -r -l +100%FREE /dev/vgdata/lvdata

Új lemez hozzáadása meglévő VG-hez

sudo pvcreate /dev/sdc
sudo vgextend vgdata /dev/sdc
vgs
sudo lvextend -r -L 30G /dev/vgdata/lvdata

RAID1 mdadm

A RAID1 tükrözés: két vagy több lemez azonos adatot tartalmaz. Egy lemez kiesése esetén az adatok továbbra is elérhetők, de a RAID nem helyettesíti a mentést.

RAID1 létrehozása két lemezből

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 mkdir -p /srv/raid1
sudo mount /dev/md0 /srv/raid1

Tartós konfiguráció

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u
sudo blkid /dev/md0
sudo nano /etc/fstab

# példa:
UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /srv/raid1 ext4 defaults,nofail 0 2
sudo mount -a

Hiba szimulálása és visszaépítés

sudo mdadm /dev/md0 --fail /dev/sdb
sudo mdadm /dev/md0 --remove /dev/sdb
sudo mdadm --detail /dev/md0

# új vagy javított lemez hozzáadása
sudo mdadm /dev/md0 --add /dev/sdb
watch cat /proc/mdstat

SSH és SSH kulcsos hitelesítés

Kapcsolódás

ssh user@szerver
ssh user@192.168.1.10
ssh -p 2222 user@szerver
scp fajl.txt user@szerver:/tmp/
sftp user@szerver

Kulcspár készítése

ssh-keygen -t ed25519 -C "vizsga"
ls -l ~/.ssh/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub

Publikus kulcs telepítése

ssh-copy-id user@szerver
ssh user@szerver

# kézi módszer a szerveren:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

sshd beállítások

sudo nano /etc/ssh/sshd_config

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no

sudo sshd -t
sudo systemctl restart ssh
sudo systemctl status ssh

Jelszavas belépés tiltása előtt tarts meg egy működő SSH kapcsolatot, és külön terminálból teszteld a kulcsos belépést.

Cron jobs

A cron ismétlődő feladatokat futtat. Felhasználói crontabhoz crontab -e, rendszerszintű feladatokhoz /etc/crontab vagy /etc/cron.d/ használható.

Szintaxis

# perc óra nap hónap hétköznap parancs
# *    *   *   *     *        /utvonal/parancs

crontab -e
crontab -l
crontab -r
PéldaJelentés
0 18 * * * /home/user/script.shminden nap 18:00-kor
*/5 * * * * /home/user/check.sh5 percenként
30 2 * * 1 /usr/local/bin/backup.shhétfőn 02:30-kor
0 0 1 * * /usr/local/bin/monthly.shminden hónap első napján éjfélkor

Gyakorlati mentés cronból

mkdir -p ~/bin ~/backup
nano ~/bin/mentes.sh
chmod +x ~/bin/mentes.sh

# ~/bin/mentes.sh:
#!/bin/bash
tar -czf "$HOME/backup/home-$(date +\%F).tar.gz" "$HOME/dokumentumok"

# crontab:
0 22 * * * /home/user/bin/mentes.sh >> /home/user/backup/mentes.log 2>&1

Crontabban a % speciális karakter, ezért sok rendszerben escape-elni kell: \%F.

Tar és gzip használat

tar.gz készítése

tar -czf mentes.tar.gz /home/user
sudo tar -czpf kozos.tar.gz /home/_kozos
tar -czf logs.tar.gz /var/log/syslog /var/log/auth.log

Kicsomagolás

tar -xzf mentes.tar.gz
tar -xzf mentes.tar.gz -C /tmp
sudo tar -xzpf kozos.tar.gz -C /restore

Listázás és gzip

tar -tzf mentes.tar.gz
gzip nagylog.txt
gunzip nagylog.txt.gz
zcat nagylog.txt.gz | less
KapcsolóJelentés
carchívum készítése
xkicsomagolás
ttartalom listázása
zgzip tömörítés
pjogosultságok megőrzése
ffájlnév megadása

Samba alapok

A Samba Windows-kompatibilis fájlmegosztást ad Linuxon. A szolgáltatás neve Debian/Ubuntu rendszeren általában smbd.

Telepítés és könyvtár előkészítése

sudo apt update
sudo apt install samba -y
sudo groupadd sambausers
sudo mkdir -p /srv/samba/kozos
sudo chown root:sambausers /srv/samba/kozos
sudo chmod 2770 /srv/samba/kozos

Samba felhasználó

sudo useradd -m bela
sudo passwd bela
sudo usermod -aG sambausers bela
sudo smbpasswd -a bela
sudo smbpasswd -e bela

/etc/samba/smb.conf megosztás

sudo nano /etc/samba/smb.conf

[kozos]
   path = /srv/samba/kozos
   browsable = yes
   writable = yes
   valid users = @sambausers
   create mask = 0660
   directory mask = 2770

Ellenőrzés és indítás

testparm
sudo systemctl restart smbd
sudo systemctl enable smbd
sudo systemctl status smbd
smbclient -L localhost -U bela
smbclient //localhost/kozos -U bela

Tűzfal esetén engedélyezni kell a Samba forgalmat: sudo ufw allow samba.

Systemd és csomagkezelés

APT alapok

sudo apt update
sudo apt upgrade
sudo apt install apache2 -y
sudo apt remove apache2
apt search samba
apt show openssh-server

Szolgáltatások

systemctl status apache2
sudo systemctl start apache2
sudo systemctl restart apache2
sudo systemctl stop apache2
sudo systemctl enable apache2
sudo systemctl disable apache2

Naplók

journalctl -u apache2 -xe
journalctl -u ssh --since today
systemctl --failed
tail -f /var/log/syslog

Vizsga minták és ellenőrző lista

Fájlok, keresés, csomagolás

find /home -type f -name "*.txt"
grep -R "ERROR" /var/log
cp ~/userek.txt /home/_kozos/
sudo tar -czpf kozos.tar.gz /home/_kozos
sudo tar -xzpf kozos.tar.gz -C /tmp

Komplett user/group/jogosultság 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

Gyors ellenőrzés beadás előtt

id u1_gr1
getent group gr1
ls -ld /home/_egy /home/_ketto /home/_kozos
getfacl /home/_kozos
tar -tzf kozos.tar.gz | head
systemctl --failed
df -h
ip addr