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
| Jog | Szám | Fájlon | Könyvtáron |
|---|---|---|---|
| r | 4 | olvasás | lista olvasása |
| w | 2 | írás, módosítás | létrehozás, törlés, átnevezés |
| x | 1 | futtatás | belé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
| Bit | Parancs | Hol jellemző? | Jelentés |
|---|---|---|---|
| SUID | chmod 4755 fajl | futtatható fájl | a program a tulajdonos jogaival fut |
| SGID | chmod 2775 konyvtar | könyvtár | az új fájlok öröklik a könyvtár csoportját |
| Sticky | chmod 1777 konyvtar | közös írható könyvtár | mindenki í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élda | Jelentés |
|---|---|
0 18 * * * /home/user/script.sh | minden nap 18:00-kor |
*/5 * * * * /home/user/check.sh | 5 percenként |
30 2 * * 1 /usr/local/bin/backup.sh | hétfőn 02:30-kor |
0 0 1 * * /usr/local/bin/monthly.sh | minden 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 |
|---|---|
c | archívum készítése |
x | kicsomagolás |
t | tartalom listázása |
z | gzip tömörítés |
p | jogosultságok megőrzése |
f | fá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