[[oktatas:linux|< Linux]] ====== Linux feladatok és megoldások ====== * **Szerző:** Sallai András * Copyright (c) 2011, Sallai András * Szerkesztve: 2011, 2015 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Bevezetés ===== Az alábbi feladatokban azokat a parancsokat, amelyeket be kell írni egy parancssorba és végrehajtani egy "$" karakter vezeti be, mivel a Linuxos rendszerekben is ez a várakozási jel szokott szerepelni a felhasználók számára. Ha egy parancsot rendszergazdaként kell kiadni, akkor "#" karakterrel lesz bevezetve a parancs. ===== Felhasználói teendők ===== ==== Feladat 001 ==== Lépjen be joe felhasználóként, majd változtassa meg jelszavát. --> Megoldás # $ passwd A program bekéri a belépett felhasználó új jelszavát kétszer. A beírt jelszavak helyet még csillag "*" karakterek sem jelennek meg. <-- ==== Feladat 002 ==== Lépjen be felhasználóként, majd nézze meg kik jelentkeztek be a rendszerbe utoljára. Az eredményt mentse saját könyvtárban a beje.txt fájlba. --> Megoldás # $ last > ~/beje.txt A last parancs alapesetben a képernyőre ír. A kimenetet átirányítjuk egy állományba. A tilde "~" karakter a felhasználó saját könyvtárát jelenti. A joe nevű felhasználó saját könyvtárban, alapesetben: /home/joe A tilde karakter ezzel egyenértékű. Így is írhattam volna: $ last > /home/joe/beje.txt <-- ==== Feladat 003 ==== Készítsen egy gy.txt nevű állományt amelynek tartalma a következő gyümölcsök, ebben a sorrendben, minden gyümölcsöt új sorba írva: * szilva * barack * körte * eper * szőlő * nasplya * kivi * birs * málna * meggy * görögdinnye * ribizli --> Megoldás 1 # $ cd ~ $ cat > gy.txt szilva barack körte eper szőlő naspolya kivi birs málna meggy görögdinnye ribizli + A bevitelt Ctrl plusz D billentyűkkel zártam. Megoldás 2 $ cd ~ $ mcedit gy.txt Begépelem a gyümölcsöket, F2-vel elmentem, F10-el kilépek. <-- ==== Feladat 004 ==== Az előző (003) feladatban létrehoztunk egy gy.txt állományt amely gyümölcsöket tartalmaz. A gy.txt fájl tartalmát rendezze csökkenő sorrendbe, az eredményt pedig saját könyvtárába egy rendezett.txt fájlban helyezze el. --> Megoldás # $ cd ~ $ sort -r gy.txt > rendezett.txt <-- ==== Feladat 005 ==== Létre kell hozni saját könyvtárában a következő állományt: ~/tervek/epitmeny/todo/allvany/kiadas/kimutatas/ Azonban nem szeretnénk hatszor beírni az mkdir parancsot ezért meg kell keresnie, milyen kapcsolóval lehet egyetlen mozdulattal létrehozni a teljes könyvtárat. --> Megoldás # $ man mkdir <-- ==== Feladat 006 ==== Adott a /etc/passwd állomány. Meg kell számolnia hány szót tartalmaz. A sorok, szavak és bytok számlálására a wc kapcsoló való. Kéresse meg melyik kapcsolóval lehet megadni, hogy a wc parancs csak a szavak számát írja a képernyőre. --> Megoldás # man wc <-- ==== Feladat 007 ==== Listázza ki a Linuxon telepített összes parancsot. --> Megoldás # ls /bin ls /sbin ls /usr/bin ls /usr/sbin <-- ==== Feladat 008 ==== Írja le milyen szövegszerkesztők állnak rendelkezésre alaptelepítés után egy telepített Debian GNU/Linuxon. --> Megoldás # $ nano $ vi <-- ==== Feladat 009 ==== A Midnight Commander csomag feltelepítése után kapunk egy szövegszerkesztőt is. Melyik ez a szövegszerkesztő és hogyan indítjuk? --> Megoldás # mcedit <-- ==== Feladat 010 ==== Állítsa be rendszerét úgy, hogy a legközelebbi belépésnél a Midnight Commanderben az F4 Szerkesztést választva a fájlok a mcedit szövegszerkesztőben nyíljanak meg. --> Megoldás # echo "export EDITOR=mcedit" >> ~/.bashrc <-- ==== Feladat 011 ==== Készítse el a szemely.txt állományt a következő tartalommal: Zsolti József Gábor Zoltán Nóra Mária Lóri Az állomány tartalmát rendezze ábécé szerint növekvő sorrendbe. --> Megoldás # $ cat > szemely.txt Zsolti József Gábor Zoltán Nóra Mária Lóri + $ sort szemely.txt <-- ==== Feladat 012 ==== Készítse el a szemely.txt állományt a következő tartalommal, ha az még nem létezik: Zsolti József Gábor Zoltán Nóra Mária Lóri Szúrja be a végére a következő neveket: * Géza * Béla * Áron * Lajos * Gábor * Mária * Dénes * Katalin * József Az állományban jelenleg ismétlődések vannak. Írjon parancsot, amely az állomány tartalmát úgy módosítja, hogy egy név csak egyszer szerepeljen. Az eredményt irányítsa egy szurt.txt nevű fájlba. --> Megoldás # $ cat > szemely.txt Zsolti József Gábor Zoltán Nóra Mária Lóri + cat >> szemely.txt Géza Béla Áron Lajos Gábor Mária Dénes Katalin József + sort szemely.txt | uniq > szurt.txt <-- ==== Feladat 013 ==== Írassa ki az aktuális könyvtár tartalmát, megjelenítve a rejtett fájlokat is, bőbeszédű kimenetként. A kiíratás eredményét irányítsa a minden.txt nevű fájlba. --> Megoldás # $ ls -la $ ls -la > minden.txt <-- ==== Feladat 014 ==== - Hozza létre a "temp" nevű könyvtárat saját könyvtárában. - A "temp" könyvtárban hozzon létre egy szöveges állományt jarmut.txt néven. Az állomány tartalma az "Opel" szó legyen. - Készítsen egy szimbolikus linket a jarmut.txt állományról egy kocsi.txt néven. --> Megoldás # cd ~ mkdir temp cd temp echo "Opel" > jarmu.txt ln -s jarmu.txt kocsi.txt <-- ==== Feladat 015 ==== - Hozza létre a "forras" nevű könyvtárat saját könyvtárában. - A forrás könyvtárban készítsen egy eredet.txt nevű állományt, amelynek tartalma a "Nap" szó. - Készítsen merev linket az eredet.txt fájlról for.txt néven. - Mutassa meg hány darab link mutat az állományra. --> Megoldás # $ cd ~ $ mkdir forras $ echo Nap > eredet.txt $ ln eredet.txt for.txt $ ls -l <-- ==== Feladat 016 ==== Állítsa be, hogy belépéskor az mcedit legyen az alapértelmezett szerkesztője. --> Megoldás # $ echo "export $EDITOR=mcedit" >> ~/.bashrc <-- ==== Feladat 017 ==== Állítsa be, hogy belépés után (konzolon), mindig a következő üzenet fogadja: "Udv fonok!" --> Megoldás # $ echo "echo 'Udv fonok!'" >> ~/.bashrc <-- ==== Feladat 018 ==== Készítsenek egy Folyok nevű könyvtárat A Folyok könyvtárban az alábbi alkönyvtárakat hozzák létre: Duna, Tisza, Rába, Sajó, Hernád, Bodrog, Zala, Körös, Berettyó, Bódva Dolgozzon ékezetek nélkül a könyvtár és fájlneveknél. A Duna könyvtárban hozzon létre egy nev.txt nevű állományt, amelybe írja bele saját nevét, a következő sorba az osztályát és harmadik sorban az aktuális dátumot. A Folyok nevű könyvtárat tetszőleges programmal tömörítse. Az eredmény: folyok.tar.gz --> Megoldás # $ mkdir Folyok $ cd Folyok $ mkdir Duna Tisza Raba Sajo Hernad Bodrog Zala Koros Berettyo Bodva $ cd Duna $ echo "Saját Nevünk" > nev.txt $ echo 09a >> nev.txt $ echo 2012-10-18 >> nev.txt $ cd .. $ cd .. $ tar -cvzf folyok.tar.gz Folyok <-- ===== Rendszergazdai teendők ===== ==== Feladat 100 ==== Ön rendszergazda, jim felhasználó jelszavát meg kell változtatni. Megoldás: Belépek root felhasználóként, majd: # passwd jim ==== Feladat 101 ==== Ön rendszergazda és fel kell vennie egy új felhasználót, akinek a neve kati. Megoldás Belépek root felhasználóként, majd: # adduser kati ==== Feladat 102 ==== Ön rendszergazda és létező kati nevű felhasználó könyvtárában (/home/kati) létre kell hoznia egy "ugynok" nevű könyvtárat, amit a kati felhasználó tulajdonába és a users csoportba helyez. Megoldás: Belépek rootként, majd: # mkdri /home/kati/ugynok # chown kati.users /home/kati/ugynok ==== Feladat 103 ==== Ön egy vállalatnál dolgozik. Van egy informatika és egy gazdaság nevű osztály, amelyek szeretnének a vállalatnál saját csoportot Linuxos felhasználóként. Mindkét csoportnak lesz egy könyvtára a /home könyvtáron belül: /home/informatika és a /home/gazdasag Az informatika és a gazdaság csoport felhasználói ezekben a könyvtárakban lesznek. Az informatika csoportban két felhasználó van: teri, ali. A gazdasag csoportban tibi és lali Hozza létre a csoportokat és a felhasználókat, könyvtáraikkal együtt, jelszavaik alapértelmezetten 12345, amit később meg kell változtatniuk. Megoldás: Belépek rendszergazdaként: Csoportok létrehozása: # addgroup informatika # addgroup gazasag A csoportok könyvtárainak létrehozása: # mkdir /home/informatika # mkdir /home/gazdasag Felhasználók felvétele: # useradd -m -d /home/informatika/teri -g informatika -s /bin/bash teri # useradd -m -d /home/informatika/ali -g informatika -s /bin/bash ali # useradd -m -d /home/gazdasag/tibi -g gazdasag -s /bin/bash tibi # useradd -m -d /home/gazdasag/lali -g gazdasag -s /bin/bash lali Jelszavat adunk nekik: # passwd teri # passwd ali # passwd tibi # passwd lali ==== Feladat 104 ==== Új dolgozó dolgozik a vállalatnál, felhasználóneve geri, munkahelye az informatika. Vegye fel az új felhasználót a rendszerbe az informatika munkacsoportba helyezve. geri felhasználó viszont csak FTP-én keresztül fog a rendszerhez férni, ezért ne kapjon shellt, vagyis a Linuxos rendszerbe ne tudjon bejelentkezni: # useradd -m -d /home/informatika/geri -g informatika -s /bin/false geri # passwd geri ==== Feladat 105 ==== Telepítse fel az pure-ftpd ftp szervert és konfigurálja úgy, hogy önálló (standalone) módban fusson. Megoldás: Telepítés: apt-get install pure-ftpd Újrakonfigurálás: dpkg-reconfigure pure-ftpd-common ==== Feladat 105 ==== Indítsa újra az Pure-ftpd szervert! Megoldás: /etc/init.d/pure-ftpd restart ==== Feladat 106 ==== Indítsa újra a webszervert! Megoldás: /etc/init.d/apache2 restart ==== Feladat 107 ==== Telepítse az apache2 webszervert! Megoldás: apt-get install apache2 ==== Feladat 108 ==== Állítsunk be a pure-ftpd ftp szerveren anonymous lehetőséget! Megoldás: Létrehozzuk az ftp csoportot: groupadd ftp Létrehozzuk az ftp felhasználót: useradd -s /bin/false -d /home/ftp -m -c "anonymous ftp" -g ftp ftp Szerkesztjük a NoAnonymous állományt: mcedit /etc/pure-ftpd/conf/NoAnonymous A NoAnonymous állomány tartalmát "no"-ra állítjuk: no Újraindítjuk a pure-ftpd szervert: /etc/init.d/pure-ftpd restart ==== Feladat 109 ==== Nézzük meg milyen valódi felhasználók vannak a rendszerben? Megoldás: grep /bin/bash /etc/passwd ==== Feladat 110 ==== Vegyen fel egy timi nevű felhasználót a rendszerben. Megoldás: adduser timi ==== Feladat 111 ==== Vegyen fel egy FTP felhasználót, akinek a neve tomi. Megoldás: useradd tomi -d /home/tom -m -s /bin/false ==== Feladat 112 ==== Keresse meg, hogy a van-e postfix nevű csoport a rendszeren. Megoldás: grep postfix /etc/group ==== Feladat 113 ==== Vegye fel a "gazdasag" nevű csoportot. Megoldás: addgroup gazdasag ==== Feladat 114 ==== Ellenőrizze, hogy az apache2 szerver fut-e a szerveren. Megoldás: ps ax | grep apache2 ==== Feladat 115 ==== Ellenőrizze, hogy a Pure FTP szerveren be van-e állítva az anonymous hozzáférés. Megoldás: Először megnézzük a NoAnomyous fájl tartalma no-ra van-e állítva. Ha igen, akkor be van állítva. cat /etc/pure-ftpd/conf/NoAnonymous no A helyes működéshez meg kell nézni, hogy van-e felvéve ftp csoport és ftp felhasználó: Ftp csoprt: grep ftp /etc/group Ftp felhasználó: grep ftp /etc/passwd ==== Feladat 116 ==== Írassa ki hány darab felhasználó van a rendszerben (Összes felhazsnáló): Megoldás: cat /etc/passwd | wc -l ==== Feladat 117 ==== Ellenőrizze, hogy fut-e a Postfix levelezőszerver. Megoldás: ps ax | grep postfix ==== Feladat 118 ==== Kérjen eth0 hálózati kártyájára a DHCP szervertől IP címet: Megoldás: dhclient eth0 ==== Feladat 119 ==== A szervere a 255.255.255.0 hálózati maszkkal rendelkező hálózatban működik. Ebben a hálózatban kapott egy 192.168.30.45 IP címet. Állítsa ezt be fix IP címre. Megoldás ifconfig eth0 192.168.30.45 netmask 255.255.255.0 ==== Feladat 120 ==== Ellenőrizze másik 192.168.30.170 IP címen elérhető gépen milyen portok vannak nyitva. Megoldás: nmap 192.168.30.170 ==== Feladat 121 ==== Telepítse az nmap programot. Megoldás: apt-get install nmap ==== Feladat 122 ==== Kérdezze le a hostnevet számítógépén. Megoldás: hostname ==== Feladat 123 ==== Kérdezze le a routing táblát. Megoldás: route ==== Feladat 124 ==== Úgy kérdezze le a routing táblát, hogy a hálózati nevek ne kerüljenek feloldásra: route -n ==== Feladat 125 ==== Állítsa be alapértelmezett átjárónak a 192.168.5.1 címet. Megoldás: route add deafult gw 192.168.5.1