diff --git a/feladat.md b/feladat.md
new file mode 100644
index 0000000000000000000000000000000000000000..e6e6fa7a17ce87913bae641ab1b560163a2dd63e
--- /dev/null
+++ b/feladat.md
@@ -0,0 +1,221 @@
+# Gyakorlat
+
+## 0. csatlakozás a VM-hez
+
+[see here](saját vm.md)
+
+Ha gondoljátok vagy ha valaki nem nézett videót/jegyzetet és nem érti mi van,
+akkor akár itt érdemes shellt mutogatni.
+
+## 1. saját user létrehozása root jogokkal
+
+Mindenki választ magának usert (nem kell schacc legyen), aztán
+```shell
+sudo useradd -m bela
+```
+`-m` = legyen home mappa  
+ha megadják a `-G sudo` kapcsolót is, akkor nice, már van is sudo joguk,
+a kövi rész skippelhető
+
+legyen jelszó:
+```shell
+passwd bela
+```
+
+legyen sudo:
+```shell
+sudo usermod -aG sudo bela
+```
+ezzel lett sudo joga
+
+### Alternatív
+
+legyen user:
+```shell
+sudo adduser bela
+```
+
+legyen sudo:
+```shell
+sudo adduser bela sudo
+```
+
+---
+a végén jelentkezzetek át az új userbe
+
+
+## 2. shell játszadozás
+
+Feladat: számoljuk meg, hogy a *Bee Movie* szövegében hányszor szerepel a
+kis és nagybetűs "bee" szó.  
+Ha lehet oldják meg maguktól, de vezethetitek is.
+
+A szöveg elérhető itt: https://home.sch.bme.hu/~mikewashere/linux/best_movie_ever.txt
+
+Vezessük végig őket lépésenként, hogy mit csinál a csomó parancs:
+
+```shell
+curl https://home.sch.bme.hu/~mikewashere/linux/best_movie_ever.txt
+```
+-> letölti a szöveget és kiírja
+
+olvassunk be less-sel
+```shell
+curl https://home.sch.bme.hu/~mikewashere/linux/best_movie_ever.txt | less
+```
+
+
+Na de oldjuk is meg a feladatot:
+
+Okés, de:  
+számolni a `wc`-vel lehet, de kéne szűrni a bee-kre, arra kell a `grep`,  
+de:  
+a `grep` az egész sort odaadja, amiben egyszer is ott a bee
+tehát szét kéne szedni úgy, hogy minden szó külön sor legyen  
+Megoldás: cseréljük ki a space-eket `\n`-re a `tr` használatával.
+
+```shell
+curl https://home.sch.bme.hu/~mikewashere/linux/best_movie_ever.txt | tr " " "\n"
+```  
+Az idézőjelek fontosak.
+
+Most már soronként jelenik meg, mehet a grep.  
+```shell
+curl https://home.sch.bme.hu/~mikewashere/linux/best_movie_ever.txt | tr " " "\n" | grep -i bee
+```  
+Na most van egy csomó bee-nk, mehet a wc.
+
+```shell
+curl https://home.sch.bme.hu/~mikewashere/linux/best_movie_ever.txt | tr " " "\n" | grep -i bee | wc -l
+```
+Elvileg **171**-et kéne kapni.
+
+Ha zavar minket a curl letöltés mutató szövege, akkor adjunk neki egy `2>/dev/null`-t.
+
+```shell
+curl https://home.sch.bme.hu/~mikewashere/linux/best_movie_ever.txt 2>/dev/null | tr " " "\n" | grep -i bee | wc -l
+```
+
+2 = stderr, /dev/null = speciális file, amibe bármit írhatunk, elveszik
+
+---
+
+Feladat: A méhek száma évről évre csökken, *let's save the bees*!
+Írjuk bele a "bee"-ket egy fileba!
+
+```shell
+curl https://home.sch.bme.hu/~mikewashere/linux/best_movie_ever.txt | tr " " "\n" | grep -i bee > save_the_bees.txt
+```
+
+`nano save_the_bees.txt`-vel megleshetjük, hogy működött.
+
+## 3. Script irogatás
+
+Feladat: csináljunk egy scriptet, ami megmenti a méheket, és egy tehénnel kimondatja, hogy
+hányan vannak.
+
+A `cowsay` nincs fent a VM-eken, telepítsétek.
+```shell
+sudo apt install cowsay
+```
+Nyugodtan próbálgassátok ki.
+```shell
+cowsay hello
+echo hello | cowsay
+```
+
+Csináljunk nano-val (vagy vim-mel, ha valaki azt szereti inkább)
+egy új file-t, nevezzük el `bees.sh`-nak.
+
+```shell
+nano bees.sh
+```
+
+Vezessétek végig őket a megírásán vagy csináltassátok meg velük, itt egy mintamegoldás:
+```shell
+#!/bin/bash
+
+curl https://home.sch.bme.hu/~mikewashere/linux/best_movie_ever.txt | tr " " "\n" | grep -i bee > save_the_bees.txt
+echo $(cat save_the_bees.txt | wc -l ) méh van. | cowsay
+```
+*A felső sor opcionális.*
+
+Ha megvan, futtassátok:
+```shell
+bash bees.sh
+```
+vagy, ha odatettétek az elejére a shebang-et:
+```shell
+chmod +x bees.sh
+./bees.sh
+```
+
+## 4. Webszerver telepítése
+
+Feladat: állítsanak be egy webszervert nginx-el, és rakjanak ki valami szöveget.
+
+Telepítés:
+```shell
+sudo apt install nginx
+```
+
+Magától elindul, nézzük meg:
+```shell
+systemctl status nginx 
+```
+
+Alapból a `/var/www/html`-t szolgálja ki, menjünk oda
+```shell
+cd /var/www/html
+ls -la
+```
+Látjuk, hogy root-é minden, adjuk oda a www-data-nak, magunknak meg adjunk www-data csoporttagságot
+és adjunk a csoportnak minden jogot rekurzívan.
+```shell
+sudo chown -R www-data:www-data /var/www/html
+sudo usermod -aG www-data bela
+sudo chmod -R g+rwx /var/www/html
+```
+`-R`: rekurzívan  
+vegyük fel a csoporttagságot, ehhez vagy ki és bejelentkezni kell vagy:
+```shell
+newgrp www-data
+```
+
+Most töröljük a korábbi weblapot és tegyünk ki valami sajátot:
+```shell
+cd /var/www/html
+rm index.nginx-debian.html
+nano index.html # írjanak bele bármi funky szöveget
+```
+
+## 5. Csináljunk tűzfalat
+
+Az UFW (Uncomplicated FireWall) egy egyszerű tűzfalvezérlő progi.
+Nézzük meg fut-e:
+```shell
+sudo systemctl status ufw
+sudo ufw status
+```
+Fut, de ki van kapcsolva.
+
+Előszöris engedjük be az SSH-t és http-t, hogy ne zárjuk ki magunkat:
+```shell
+sudo ufw limit ssh
+sudo ufw allow http
+```
+
+A limit-tel limitálva engedélyeztük az ssh-t, így nem lehet gyorsan brute-force-olni.
+
+és kapcsoljuk be:
+```shell
+sudo ufw enable
+sudo ufw status
+```
+nice.
+
+## Extra feladatötlet turbóújoncoknak
+
+Csináljanak valami fancy weboldalt. Bármit.
+
+