Hálózati adminisztráció Linux

Slides:



Advertisements
Hasonló előadás
Windows OS Ambrus Attila 2010 Vay Ádám Gimnázium Szakközépiskola Szakiskola és Kollégium Rendszergazda.
Advertisements

Készítette: Kun Béla.  Operációs rendszernek nevezzük a számítástechnikában a számítógépeknek azt az alapprogramját, mely közvetlenül kezeli a hardvert,
1 Bori Tamás Operációs Rendszerek I. 2. óra: parancssori alapok.
Operációs Rendszerek I.
Operációs Rendszerek I.
Számítógépes operációs rendszerek
Operációs rendszerek Beállítások.
Hálózati architektúrák
Operációs rendszerek Mappa és file-kezelés.
Operációs rendszerek 1. Takács Béla
Fajfrik Dóra tanárjelölt munkája alapján
Hága Péter ELTE Komplex Rendszerek Fizikája tanszék
LINUX/UNIX PARANCSOK.
A szoftver.
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
Adatbázis alapú rendszerek
Bevezetés az informatikába 7. előadás
X Window System A LINUX GRAFIKUS FELÜLETE Készítette: Pető László.
Ember László Damn Small Linux Microsoft VPC környezetben.
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
Operációs rendszerek Microsoft Windows XP.
Microsoft Windows A Windows fejlődése, általános jellemzése – 2. dia
UNIX operációs rendszer. UNIX op. rsz. Elsõ változatát 1969-ben készítette Ken Thomson és Dennis Ritchie a AT&T Bell Labratóriumában. A rendszer magját.
Az operációs rendszerek
UNIX Összefoglaló az alapokról a ta65 tárgyhoz ( )
Fájlrendszerek: Linux EXT Csernik Márió 9.A.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
Operációs rendszerek gyakorlat
Jogosultságkezelés.
Operációs rendszerek gyakorlat Fájlműveletek.
Module 1: A Microsoft Windows XP Professional telepítése
1 Operációs rendszerek A UNIX védelmi rendszere. 2 Illetéktelen hozzáférés megakadályozása: az egyes felhasználók adataihoz, az operációs rendszer adataihoz,
Operációs rendszerek gyakorlat 4. Gyakorlat Vakulya Gergely.
Programrendszer 2. Erőforrás – erőforrás elosztás 3. Indítja és ütemezi a programokat 4. kommunikáció 2 Takács Béla.
A Unix operációs rendszer Előadást tarja: Lázár András.
Operációs rendszer.
Operációs rendszerek gyakorlat 1. Bevezetés Vakulya Gergely.
SEEGRID használat saját tanusítvánnyal. Lépések Tanusítvány transzformálása –Igen, sajnos megint... Bejelentkezés saját accounttal Tanusítvány és titkos.
Állomány és lemezműveletek
Hálózat kiépítésével lehetőségünk nyílik más számítógépek erőforrásainak használatára. Osztott háttértár használat: egy számítógép merevlemezének megosztásával.
Felhasználók és jogosultságok
Operációs Rendszerek 1 Felhasználókezelés Windisch Gergely
PARANCSOK HASZNÁLATA WINDOWS-BAN ÉS LINUXBAN II. Balaton Marcell Balázs.
Az ECDL-ről „Az ECDL célja az informatikai írástudás elterjesztése, és annak elősegítése, hogy minél több ember az Információs Társadalom teljesértékű.
Linux nemcsak a 13.ht-számára.
A gyakorlatok munkakörnyezete
Bevezetés az informatikába 4. előadás
Webprogramozó tanfolyam
OPERÁCIÓS RENDSZEREK LINUX – PARANCSSOR.
Óravázlat Készítette: Kucsera Mihály és Toldi Miklós
Az operációs rendszer feladata
Linux kezelés MIN1U1 3. gyakorlat.
Bevezetés az informatikába 5. előadás
2. Operációs rendszerek.
A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. Számítógép- hálózatok dr. Herdon Miklós dr. Kovács György Magó Zsolt.
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Bevezetés az informatikába 3. előadás Software alapismeretek II Operációs rendszerek 1. A DOS operációs rendszer.
Ismétlés:grafikus felületek Felső panel Indítópanel Asztal Indikátorok Kuka.
Készítette: Rummel Szabolcs Elérhet ő ség: Linux kezelése.
Az operációs rendszer feladatai
OPERÁCIÓS RENDSZEREK LINUX – PARANCSSOR.
IT ALAPFOGALMAK OPERÁCIÓS RENDSZEREK.
Unix Linux GNU Copyright kriptográfia
Operációs rendszerek I.
Ubuntu – ismerkedés Fájlok és könyvtárak
Hálózati architektúrák
Adatmozgatás az MTA Cloudon Data Avenue segítségével MTA Cloud workshop november 21. Nagy Enikő MTA Cloud csapattag Szoftverfejlesztő.
Hálózati architektúrák
Az operációs rendszerek
Hálózati struktúrák, jogosultságok
Előadás másolata:

Hálózati adminisztráció Linux MIN7B6I MIN2B1

Johanyák Zsolt Csaba (c) 2010 Ajánlott irodalom Hivatalos és közösségi dokumentáció http://ubuntu.hu/sugo http://edu.ubuntu.hu Brian K. Jones, Bill von Hagen: Linux bevetés közben - Második küldetés Kiskapu Kft., 2006, ISBN: 9789639637191 Rob Flickenger: Linux bevetés közben, Kiskapu Kft., 2003, ISBN: 963 9301 55 8 Johanyák Zsolt Csaba (c) 2010

Történeti áttekintés Egyéni feldolgozásra

Johanyák Zsolt Csaba (c) 2010 A UNIX kialakulása1 nagyszabású kutatási program az 1960-as években az MIT, a Bell laboratórium és a General Electric több felhasználós, többfeladatos operációs rendszer neve: MULTICS (MULTiplexed Information and Computing Service fejlesztés PL/I nyelven folyt a program feladására kényszerültek Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 A UNIX kialakulása2 Ken Thompson: MULTICS egyszerűsített változata PDP-7 számítógépre Szolgáltatások: állomány és file kezelés folyamatkezelő alrendszer segédprogramok Elnevezés (Brian Kernighan) : eunuch multics, UNICS (UNiplexed Information and Computing Service) 1971 PDP-11-re, még teljesen assembly 1973-ban C-re átültetve Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 A UNIX kialakulása3 AT&T kezdetben ingyen bocsátotta az amerikai egyetemek rendelkezésére a forráskódot 1974: első nyilvános változat nyolcvanas évek végére két különböző, egymástól sokban eltérő Unix: AT&T: UNIX BSD UNIX 1977-1982: az AT&T összefogja a saját verzióit és a version 7 után System III néven jelenik meg 1983: kb. 100.000 működő UNIX rendszer 1983: System V. Később Release-ek Pl:System V Release 4, (SVR4) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 A UNIX kialakulása4 Microsoft PC-re fejleszett UNIX változata. Az első PC-s UNIX: Xenix Intel 80286-ra Kb. 30 db floppy (360 Kb-os) Johanyák Zsolt Csaba (c) 2010

Egységesítési törekvések1 AT&T: SVID (System V Interface Definition) Szabványos rendszer hívások Szabványos szubrutinok a BSD figyelmen kívül hagyta IEEE: POSIX (Portable Operation System Interface (x)) Támogatói: ANSI, ISO Összetétele: 70%-ban SVID, 30% saját elképzelések Minden nagy UNIX gyártó elismeri a POSIX jelentőségét, és támogatja azt. Ettől függetlenül továbbra is építenek be inkompatibilis részeket saját UNIX-ukba Johanyák Zsolt Csaba (c) 2010

Egységesítési törekvések2 A riválisok két szervezetbe tömörülnek: OSF (Open System Foundation) vezetője a DEC. Tagjai: DEC, IBM, HP, BULL, Siemens-Nixdorf, … UI (Unix International) Alapítója az AT&T Tagjai: NCR, Unisys, Data General, … Új szervezetet hoznak létre: X/OPEN OS szabvány neve: Core OS API (Common API) Spec 1170, UNIX 95 United Linux 2002 (SuSE, Turbo Linux, SCO, Connectiva www.unitedlinux.com) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 UNIX-ok IBM: AIX DEC: ULTRIX Berkeley University: BSD UNIX, Free BSD Silicon: IRIX Hewlett-Packard: HP-UIX SUN: Solaris majd Sun OS Microsoft: XENIX Linux-ok Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Linux Finn egyetemista: Linus Thorvalds OS Andrew Tanenbaum vita a kernel felépítéséről 0.11-es változat 1991-ben Kernel – op. r. magja (www.kernel.org) v.x.y.z; jelenleg: 3.0.4 önmagában használhatatlan Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Linux változatok Disztribúció egy linux kernelen alapuló teljes rendszer pl. Ubuntu, Redhat, SuSE ,Slackware, Debian, UHU, Fedora Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Linux OpenSuse: (hu.opensuse.org) Debian: (www.debian.org) Slackware: (www.slackware.com) Red Hat: (www.redhat.com) Fedora: (fedoraproject.org) UHU: (www.uhulinux.hu) Ubuntu: (ubuntu.hu, www.ubuntu.com) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Felhasználói felület Eredetileg karakteres, szerver változatnál most is X.Org grafikus rendszer (X Windows) http://en.wikipedia.org/wiki/X_Window_System http://wiki.x.org/wiki/ Grafikus felület pl. KDE, GNOME Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 X Windows System (X11) Hálózati protokoll Grafikus primitívek keretrendszere (szoftver) – ablakok kirajzolásához, mozgatásához, egér- és billentyűzet kezeléshez Nem tartalmaz felhasználó felület tervezési/megvalósítási elemeket: nyomógomb, menü Hardver absztrakciós réteget képez Lehetővé teszi az eszközfüggetlen elérést Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 X Windows System (X11) Újabb szoftver réteg az operációs rendszer magja felett Eredetileg hálózati használatra tervezték A felhasználó gépén fut, és szolgáltatást nyújt más gépen vagy azonos gépen futtatott ún. kliens alkalmazások számára miközben kezeli a felhasználói IO eszközöket Forrás: http://en.wikipedia.org/wiki/X_Window_System Johanyák Zsolt Csaba (c) 2010

Tipikus alkalmazási helyzetek Bejelentkezünk egy távoli gépre Ott elindítunk egy programot, és annak a felülete a mi képernyőnkön grafikusan jelenik meg Ugyanez, csak helyi gépen Johanyák Zsolt Csaba (c) 2010

Grafikus felhasználói felület Az, amit a felhasználó ténylegesen lát Egy további szoftver réteg hozza létre az X11 szolgáltatásainak igénybe vételével Ez a réteg lehet Ablakkezelő (Window Manager) Asztali környezet (Desktop Environment) Alkalmazásspecifikus felhasználói felület Grafikus eszközkészlet (GUI widget ToolKit) Johanyák Zsolt Csaba (c) 2010

Ablakkezelők és asztali környezetek Metacity GNOME Compiz GNOME, KDE KWin KDE Xfwm Xfce wmii Unity Ratpoison twm- az X11-el szállított alap ak. evilwm Enlightenment Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Asztali környezet Az ablakkezelőn túl egy sor kiegészítő/segéd szoftvert is tartalmaz Pl. GNOME, KDE, Xfce, CDE (Unix), Unity http://xwinman.org Johanyák Zsolt Csaba (c) 2010

X Windows implementációk XFree86 (http://www.xfree86.org/) volt a legáltalánosabb 2004-ig – licencelési váltás X.Org (http://www.x.org/wiki/) 2004-től az XFree86 egy korábbi, szabad licenszű változatából kezdték fejleszteni Legtöbb Linux disztribúció X.Org-ot használ Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Linux desktopok KDE (jelenleg: 4.7.1) K Desktop Environment Matthias Ettrich Tübing-i egyetemi hallgató http://www.kde.org GNOME (jelenleg: 3.2) GNU Network Object Model Environment – 1997 augusztus http://www.gnome.org Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Linux desktopok XFCE (jelenleg 4.8) Kis erőforrásigény Olivier Fourdan http://www.xfce.org/ Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Jellemzők többfelhasználós több feladat párhuzamos végrehajtása általános időosztásos rendszer hierarchikus állományrendszer, felcsatolható kötetek állomány típusát nem a neve (kiterjesztése) alapján ismeri fel keresztkapcsolatok hatékony és kifinomult állományvédelmi rendszer több parancsértelmező Linux: a legteljesebb POSIX implementáció Johanyák Zsolt Csaba (c) 2010

Többfelhasználós működés egyidejűleg több felhasználó használhatja mindegyikük akár több programot is futtathat terminál : soros vonalon, akár modemen keresztül pszeudo-terminál: a hálózaton vagy a grafikus felületen bejelentkezett felhasználó terminálja megnevezés: console, tty, ttyp Johanyák Zsolt Csaba (c) 2010

Váltás a terminálok között helyi gépen Karakteres felületről váltás egy másik karakteres terminálra (Alt+F1..F6) grafikus felületre (Alt+F7..F8) Grafikus felületről váltás egy karakteres terminálra (Ctrl+Alt+F1..F6) egy másik grafikus felületre (Ctrl+Alt+F7..F8) Megj.: minden használt terminálon be kell jelentkezni alapesetben csak egy grafikus felületünk van (F7), amiből szükség esetén egyes Linuxoknál indíthatunk egy másikat Johanyák Zsolt Csaba (c) 2010

Felhasználók megkülönböztetése login name: bejelentkezési /felhasználói azonosító max. 8 karakter hosszú, kisbetűvel írott numerikus felhasználó azonosító (UID - user identification) jelszó: maximum 8-16 karakter hosszú felhasználói csoportok (groups): elsődleges csoportja (pl. student) tartozhat még más csoportokhoz is (pl. texusers) csoportneveket is kisbetűvel írják numerikus csoport-azonosító (GID - group identification) Johanyák Zsolt Csaba (c) 2010

Kitüntetett felhasználó kitüntetett felhasználónév: "root" a rendszerben neki "mindent szabad" ne használjuk Linuxos gépüket "root" hozzáférési jogokkal, mert egy root jogokkal kiadott hibás vagy át nem gondolt utasítás egy pillanat alatt az egész rendszerünket jóvátehetetlenül tönkreteheti Ubuntu: az elsőként létrehozott felhasználó jelszavával sudo utasítás sudo su Johanyák Zsolt Csaba (c) 2010

Karakteres felület

Johanyák Zsolt Csaba (c) 2010 Bejelentkezés Ubuntu 10. 04 XXX tty1 XXX login: hallgato Password: Last login: … hallgato@XXX:~$_ Johanyák Zsolt Csaba (c) 2010

Kilépés, leállítás és újraindítás a számítógép lekapcsolása nélkül logout - a "login shell"-ből exit - a "login shell" után indított shellekből léptet ki, hatására a login shellbe jutunk vissza a számítógép újraindításával reboot (root jogosultság szükséges) Ctrl+Alt+Del a számítógép lekapcsolásával shutdown –y –i5 –g0 (root jogosultság szükséges) halt (root jogosultság szükséges) a számítógépet működő operációs rendszer mellett kikapcsolni tilos! Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Súgó man parancsnév man –f parancsnév rövid összegzés man –k kulcsszó felsorolja azokat a parancsokat, amelyeknek a leírásában szerepel a kulcsszó info parancsnév /usr/share/doc Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Parancsértelmező Shell (pl. ash, bash, csh, ksh, sh, tclsh, tcsh, tixwish, wish8, zsh) elindítja a felhasználó által megadott programokat a felhasználó parancsait kernelhívásokká alakítja a képernyőn megjeleníti az eredményt Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Shell típusok sh - első, Bourne shell, minden Unix rendszer tartalmazza ash – sh változat csh - az sh továbbfejlesztett és C elemekkel kiegészített változata ksh - Korn shell tcsh - a csh kényelmi és kiterjesztett funkciókkal jól megpakolt változata bash - a Linux rendszereken általánosan használt, Bourne Again SHell, az sh egy alaposan továbbfejlesztett változata Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Bash felfelé nyíl: az előzőleg begépelt parancsok !sztring: a legutóbbi olyan parancs, amely a sztringgel  kezdődött állománynév kiegészítés: „Tab” ha ez egyértelműen lehetséges, beírja a nevet, ha nem, sípol egyet, és a „Tab” újbóli megnyomására megkapjuk a lehetséges állománynevek listáját sor elején (első szóban) csak futtatható állományokra (a PATH-ot végignézve) argumentumoknál az összes állományra Johanyák Zsolt Csaba (c) 2010

Shell- és környezeti változók Létrehozás/érték beállítás változó_név=érték mkk=/etc/dhcp3 cd $mkk Hivatkozás $változó_név vagy ${változó_név} Shell v. ® Környezeti v. export változó_név Lista env, printenv Lekérdezés echo $változó_név Johanyák Zsolt Csaba (c) 2010

Fontosabb környezeti változók PATH HOME LOGNAME HOSTNAME TERM Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Mi a PATH? echo $PATH /../..:/../..:... mc /../../../mc ./programnév alternatív: akt könyvtár felvétele a keresési útvonalba mcedit .bash_profile PATH=.:$PATH mentés(F2), kilépés(F10), kijelentkezés(logout), bejelentkezés Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Példák echo $HOME   /home/csaba   echo $LOGNAME   csaba echo $PATH   /usr/local/bin:/bin:/usr/bin:/usr/X11/bin: /usr/games:.:/usr/TeX/bin   Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Példák valtozo=valami   echo $valtozo   valami   PATH=/alma/jonatan:$PATH   export PATH   Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Alias alias listazz ='ls -l' alias listazz unalias listazz Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Információk tty melyik terminálon dolgozunk? id mi az azonosítónk és mely csoportokhoz tartozunk? groups csoporttagságok uname –a gépinformációk Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Szövegíró programok1 ed egyszerre a szöveg egy sorát képes feldolgozni nano vi üzemmódok: parancs (ESC)/beviteli(a,i,o)/ex(:) mentés és kilépés :wq joe (súgó: Ctrl-K-H) Feladat: Hozzon létre egy-egy szöveges állományt a joe és a jed segítségével jed menüvezérelt http://www.jedsoft.org/jed/ SuSE, Debian: nem része az alap telepítésnek Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 vi vi proba ESC i szöveg beírása ESC :wq cat proba Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 joe proba szöveg beírása Ctrl K H súgó Ctrl K D mentés Ctrl C kilépés mentés nélkül Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Szövegíró programok2 mcedit proba pico (pine) emacs Johanyák Zsolt Csaba (c) 2010

Konfigurációs állományok /etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile végrehajtás bejelentkezéskor környezeti változók pl. PATH .bashrc végrehajtás minden shell indításkor (bash használata esetén) környezeti változók alias .bash_logout .kderc .Xdefaults /etc/skel Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Mi a .. ? hivatkozás az aktuális könyvtárt tartalmazó könyvtárra (szülőkönyvtárra) pwd /home/hallgato cd .. /home cd ~ vagy cd hallgato Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Példa .bash_profile PATH=$PATH:$HOME/bin BASH_ENV=$HOME/.bashrc USERNAME="" export USERNAME BASH_ENV PATH Feladat: a keresési útvonalhoz adjuk hozzá az aktuális könyvtárat Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Példa .bash_logout # ~/.bash_logout clear Johanyák Zsolt Csaba (c) 2010

A Linux többrétegű fájlrendszere Folyamat 1 Folyamat 2 Folyamat n ... User mode Kernel mode VIRTUAL FILE SYSTEM ext? msdos minix ... proc Buffer cache Eszközmeghajtók Állományrendszer Johanyák Zsolt Csaba (c) 2010

A Linux fájlrendszer kezelés A VFS a rendszerhívásokat átalakítja az adott fájlredszerre nézve specifikus hívássá Kezelt fájlrendszerek: Second Extent (ext2) ext3, ext4, ReiserFS MSDOS: VFAT Minix AFF (Amiga Fast FS) ufs & s5fs (szokásos UNIX) HPFS (OS/2) NTFS (NT) proc Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 A proc fájlrendszer1 állapot információkat szolgáltat a kernelről és a processzekről minden processzhez tartozik /proc/pid jegyzék ebben a "fájlok", a pid-ű processz státusát adják további "fájlok" (pl: loadavg, uptime, meminfo, kmsg, version, cpuinfo, mounts stb.) a kernel állapotról informálnak Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 A proc fájlrendszer2 nem tartozik hozzá eszköz (nodev típus) készíthetünk róla (és aljegyzékeiről) az ls paranccsal listát fájljait kiírathatjuk Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Név konvenció kis és nagy betű különböző elvben 128 karakter kerüljük a speciális karaktereket: |,#,stb. "." a név előtt: rejtett állomány Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Állománytípusok könyvtár (d) szimbolikus link (l) közönséges állomány (plain file – "-"), speciális állomány blokk típusú (b) karakteres típusú (c) socket (s) gyakorlat: ls –la parancs használata Johanyák Zsolt Csaba (c) 2010

Közönséges állományok byte-ok közvetlenül címezhető sorozata szöveges bináris Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Speciális állományok fizikai berendezések az olvasási és írási kérések eredménye a megfelelő készülék aktivizálódása ls –la /dev | more Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Könyvtárállomány állománynév + i-csomópont (i-node, i-bög) címe alkönyvtárnév + i-csomópont címe szimbolikus keresztkapcsolat + elérési út hard keresztkapcsolat + i-csomópont címe . .. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 i-csomópont (i-node) fizikai elhelyezkedés méret tulajdonos védelmi kód módosítási/létrehozási idő Johanyák Zsolt Csaba (c) 2010

i-csomópont szerkezet Johanyák Zsolt Csaba (c) 2010

Az i-csomópont szerkezete file1 Könyvtár i-bög mode & védelem linkek száma tulajdonos uid gid fájl méret Adat blokk Utolsó hozzáférés Utolsó módosítás Készítési idő Johanyák Zsolt Csaba (c) 2010

Keresztkapcsolat (link) szimbolikus (szoft) különböző adathozdozók között is részletes listázásnál állománynév helyett név --> eredetihely/eredetinév ln –s eredetihely/eredetinév újnév merev (hard) csak egy adathordozón belül részletes listázásnál mintha ténylegesen ott lenne + az eredeti helyen eggyel nő a számláló ln eredetihely/eredetinév újnév Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 mkdir delelott cd delelott ln –s ../billkiosztas szimbolikus ls –la cat szimbolikus | more ls –la ../billkiosztas ln ../billkiosztas merev Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 rm ../billkiosztas ls –la rm merev cat szimbolikus | more mc Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Hard link-soft link > ln /usr/joe/foo /usr/sue/bar > ln -s /usr/joe/foo /usr/sue/bar 2. i-bög /usr/joe 2. i-bög 16. i-bög /usr/joe foo 2 foo 2 link=2 /usr/sue /usr/joe/foo bar 16 /usr/sue bar 2 hard link symbolic link Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Feladat hozzunk létre egy merev és egy szimbolikus linket az mc programhoz a hallgato könyvtárban ellenőrizzük le a meglétét indítsuk el a link segítségével a Midnight Commander programot Johanyák Zsolt Csaba (c) 2010

Állományrendszerek partíciókra osztása védelem hely kiosztás hozzáférés szabályozás újratelepítés virtuális memória Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Linux partíciók swap operációs rendszer (/) felhasználói programok (/usr/bin, usr/local/bin) felhasználói könyvtárak (/home) cfdisk Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Útvonal "." aktuális könyvtár ".." szülő könyvtár "/" gyökér könyvtár Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Standard fa /bin rendszerprogramok /usr/bin közérdekű felhasználói programok /etc a rendszer működéséhez és karbantartásához szükséges állományok és programok /etc/passwd felhasználók azonosításához szükséges adatok egy része /tmp ideiglenes állományok elhelyezése /dev speciális állományok /home felhasználói könyvtárak Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 /dev/tty* a terminálok nevei, a „* ” helyén bármely karakter állhat a gép kiépítettségétől függően /dev/hd* merevlemez neve, a „* ” helyén alfanumerikus karakterek, elsősorban számok állnak /dev/fd* hajlékonylemezes egység neve /dev/mem állományként elérhető memória neve /dev/null különleges rendeltetésű állomány, ha olvasunk belőle, akkor azonnal az állomány végét érzékeljük, ha pedig írunk bele, akkor korlátlanul elnyel mindent anélkül, hogy bárhol is tárolná Johanyák Zsolt Csaba (c) 2010

Könyvtár- és állománykezelés pwd az aktuális munkakönyvtár elérési úttal ellátott nevének kiírása ls [-altrR] könyvtár egy könyvtár tartalmának kilistázása ABC sorrendben -r a rendezés iránya fordított -R alkönyvtárak is rekurzívan -a a rejtett állományok is -l kiegészítő információk drwxrwxrwx ln user group size date time name -t módosítási idő szerinti rendezés Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 mkdir [elérési_út/]könyvtár egy új könyvtár létrehozása mkdir –p ./elso/masodik létrehozza az elso könyvtárat is cd [elérési_út/]könyvtár könyvtárváltás ln -s állománynév keresztkapcsolatnév keresztkapcsolat létrehozása -s szimbolikus keresztkapcsolat cat állomány1 [...állományN] állományok összefűzése: cat állomány1 állomány2 > állomány3 állomány kiíratása: cat állomány új állomány létrehozása: cat > állomány <CTRL>+<D> Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 rm kapcsolók állománynév állomány törlése -f nincs figyelmeztető üzenet -r könyvtárak törlése rekurzívan rmdir könyvtárnév üres könyvtár törlése !kitörölt állomány nem állítható vissza wc kapcsolók állománynév állomány jellemzőinek számlálása -c bájtok -l sorok -w szavak cp kapcsolók forrás cél állományok másolása -r rekurzív -s szimbolikus linket hoz létre másolás helyett (csak akkor működik, ha az aktuális könyvtárba másolunk) -f nincs figyelmeztető üzenet Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Feladat hozzunk létre a saját könyvtárunkban alkönyvtárakat az alábbi nevekkel: ora/bin, ora/tmp, ora/doboz, ora/munka, ora/munka/tarol listázzuk ki saját könyvtárunk és az alkönyvtárak tartalomjegyzékét a lista állományba számoljuk meg az állomány sorait másoljuk át a lista állományt a tarol könyvtárba hozzunk létre egy 2 soros szöveges állományt szoveg néven a doboz könyvtárban fűzzük össze a lista és a szoveg állományokat osszeg néven úgy, hogy az eredmény a tmp könyvtárba kerüljön Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Feladat készítsünk egy szöveges állományt forras néven a saját könyvtárunkban másoljuk be a temp és a munka könyvtárakba forr_temp és forr_munka néven tegyük a forr_temp–et írásvédetté készítsünk a tarol és a doboz könyvtárban merev hivatkozást a forras állományra mindegyik hivatkozás készítés után kérjünk részletes könyvtár tartalomjegyzéket az eredeti forras állományról Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Feladat töröljük a tarol és a doboz könyvtárban levő merev hivatkozást a forras állományra kérjünk részletes könyvtár tartalomjegyzéket a bin könyvtárról nézzük meg, hogy milyen rejtett állományok vannak a saját könyvtárunkban Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 find kezdőpont kifejezés állomány keresése a könyvtárrendszerben kezdőponttól lefelé - name minta név szerint - user név tulajdonos szerint grep kapcsoló minta állománynév minta előfordulását keresi állományokban -c csak a mintát tartalmazó sorok száma -i kis és nagy betű azonos -l csak állománynevek -n sorszám + sor -v mindent ami nem tartalmazza a mintát Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 mv kapcsolók forrás cél állományok átnevezése és/vagy mozgatása -f létezőt kérdés nélkül felülír -b mozgatás előtt biztonsági másolatot készít cél állomány vagy könyvtár more kapcsolók állomány... állomány tartalmának oldalakra tördelt megjelenítése a képernyőn -p nem görget, hanem lapoz -s több üres sorból egyet cmp kapcsolók áll1 áll2 állományok összehasonlítása -c a különböző bájtokat karakterként írja ki Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 dd kapcsoló if=áll1 of=áll2 állomány másolása és konvertálása conv=ascii EBCDIC->ASCII conv=ebcdic ASCII->EBCDIC conv=ibm ASCII->IBM conv=lcase nagybetűből kisbetű conv=ucase kisbetűből nagybetű sort kapcsolók állománynév állomány sorainak rendezése -b beveztő szóközt kihagy -c rendezettséget vizsgál -o állomány állományba írja az eredményt -r fordított sorrend Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 tar kapcsolók újnév állományok állományok/könyvtárak összecsomagolása és kibontása -t lista (teszt) -f lemezes állomány -x kibont -c becsomagolás (újat létrehoz) -r becsomagolás (hozzáfűz) -A hozzámásol tar állományt --delete töröl -W ellenőriz -v kiírja az állományneveket a képernyőre Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Tar tar –cvf ujnev.tar allomanyok tar –xvf ujnev.tar tar –tvf ujnev.tar Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 compress kapcsoló állomány állományok be/kitömörítése; törli a régi áll.-t, az újnak Z lesz a kiterjesztése (külön telepíteni kell) -d kitömörítés -f akkor is ha már van ilyen vagy kicsi a tömörítési arány -v mindent kiír uncompress állomány kitömörít, törli a tömörítettet (külön telepíteni kell) gzip kapcsoló állomány tömörít, gz lesz a kiterjesztés -d kitömörítés, törli a tömörítettet Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Feladat csomagoljuk be tar segítségével a munka könyvtár tartalmát m.tar néven listáztassuk ki az m.tar állomány tartalmát tömörítsük be a gzip program segítségével az m.tar állományt Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Feladat hozzunk létre a saját könyvtárunkból nyílóan egy torold alkönyvtárat, és oda csomagoljuk ki a korábban becsomagolt és betömörített állományokat Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 tree kapcsolók könyvtárnév könyvtárstruktúra, állományok, bejegyzések száma (külön telepíteni kell) -a mindent kiír -d csak könyvtár -f teljes elérési út -i nincs vonal -l könyvtárra irányuló szimbolikus linket követ -P minta csak mintának megfelelőt -I minta csak mintától különbözőt -p védelmi kódsor -s méret is -u UID -g GID -D dátum -t idő szerint rendez Johanyák Zsolt Csaba (c) 2010

Állományrendszerek felcsatolása és leválasztása felcsatolás az állományrendszer valamely könyvtára helyére általában rendszergazdai jogosultság szükséges felcsatolás mount lecsatolás umount Johanyák Zsolt Csaba (c) 2010

/etc/fstab File Systems Table # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # /dev/sda1 UUID=4512d875-aa73-4897-af89-1250ea94afce / ext3 relatime,errors=remount-ro 0 1 # /dev/sda5 UUID=e54f4a3e-40da-4b3a-bd38-3a79ba2e759c none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 5. oszlop „1” – kilépéskor a szuperblokk automatikusan mentődik a lemezre 6. oszlop – a rendszer indulásakor milyen sorendben ellenőrizze a fájlrendszereket (1 -> ) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 /etc/fstab 5. Oszlop – opciók: Async – aszinkron írás-olvasás Exec (noexec) – binárisok futtatását engedélyezi Noatime – az i-bögök elérési ideje nem változik Nouser – csak a root csatolhatja Ro – csak olvasható Dev, nodev – a meghajtókhoz való hozzáférés Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 /etc/mtab A már csatolt köteteket tartalmazza Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 mount /dev/hda1 /dev/hda2 Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Mount tábla /etc/mount a partíció száma a szuperblokk pufferére mutató pointer a mount jegyzék i-böge (mount point) a gyökér jegyzék i-böge /etc/fstab Johanyák Zsolt Csaba (c) 2010

A szuperblokk tartalma ... a fájlrendszer mérete a szabad blokkok száma a szabad blokkok listája + index a listán az i-lista mérete a szabad i-bögök száma a szabad i-bögök listája + index a listához lock mező a két listához jelző, hogy történt-e módosítás a szuperblokkban Johanyák Zsolt Csaba (c) 2010

Az állományrendszer védelme uid - user identifier gid - group identifier /etc/passwd uid és alap gid /etc/group felhasználó-csoport összerendelések Felhasználói körök: tulajdonos csoporttárs többiek su - superuser (uid=0) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Jogok olvasás - állomány tartalmának megtekintése, könyvtár esetén a tartalom kilistázása írás - állomány bővítése, kicserélése, megváltoztatása, ill. könyvtár esetén bejegyzés létrehozása, törlése végrehajtás - állomány futtatás, könyvtárban keresés, belépés az adott könyvtárba cd-vel, és informálódás az ls utasítás segítségével egy konkrét könyvtár vagy állomány meglétéről és tulajdonságairól Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Védelmi kódsor trwxrwxrwx t - bejegyzés típusa b blokkorientált speciális állomány (pl. /dev/hda1) c karakterorientált speciális áll. (pl. /dev/stty4) d alkönyvtár-bejegyzés l szimbolikus keresztkapcsolat - egyszerű állomány tulajdonos csoporttárs bárki Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Jogadás Futtatási időre setgid bit setuid bit Állandó chmod chown chgrp Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 chown újtulajdonos állománynév állomány tulajdonosának megváltoztatása chgrp újcsoport állománynév állomány csoportjának megváltoztatása chmod kapcsoló[kinek] op jogok [op jogok] jogok beállítása - adása kinek : u az aktuális felhasználónak g a csoportnak o a többieknek op + jogokat adunk hozzá - jogokat veszünk el = pontosan Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 jogok a következő betűk kombinációi lehetnek: r olvasási jog w írási jog x végrehajtási jog X végrehajtási jog, ha az állomány könyvtár vagy ha már van másik x bitje; s setuid vagy setgid mód chmod g-w állomány chmod +x állomány chmod 622 állomány Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Feladat állítsuk be a hozzáférést az alábbi minta szerint: bin: mindenki számára kereshető-olvasható, csak a tulajdonos számára írható doboz: mindenki számára csak írható, a csoporttársak keresni is tudnak benne, a tulajdonos számára olvasható is Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Fogalmak program állomány a lemezen folyamat program példány job végrehajtásra váró utasítás PID Process IDentificator előtérben futó háttérben futó démon Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 ps kapcsolók információk folyamatokról -Ou felhasználó szerinti sorrend -Op PID szerinti sorrend f fa szerkezetben a más felhasználók is c csak programnevek paraméter és tulajdonosnév nélkül txx csak xx terminál kill kapcsolók PID jel küldése folyamathoz (folyamat leállítása) -s szám jel küldése -l jel lista sleep időtartam időtartam másodpercet várakozik date dátum és idő kiírása utasítás& utasítás a háttérben fut Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 A sudo parancs sudo privilégiumot_igénylő_parancs sudo su Shell indítása más felhasználó- és csoportazonosítóval: su felhasználónév su Johanyák Zsolt Csaba (c) 2010

A processzek tulajdonlása Processz valódi tulajdonosa: a szülő processztől örökli a processz, vagy a szülő állítja be neki – aki elindítja a processzt Processz effektív tulajdonosa: amely felhasználó jogosultságával a processz rendelkezik valódi és effektív tulajdonos (uid-dal azonosítva) valódi és effektív csoport-tulajdos (gid) az effektív tulajdonosság határozza meg a védelmi tartományt Johanyák Zsolt Csaba (c) 2010

A hozzéáférés szabályozás érvényesülése a folyamat effektív tulajdonosság és a fájl tulajdonosság összevetődik ha egyezik, a fájl i-bögébe írt, a tulajdonoshoz tartozó rwx hozzáférések szabják meg a hozzáférést vagy elutasítást ha nem egyezik: a csoport-tulajdonosságok vetődnek össze egyezés esetén a hozzáférést a csoporthoz rendelt rwx minta szabja meg ha nem egyezik: az i-bög others rwx-e szabályoz (Bárki számára hozzáférhető fájlom nem biztos, hogy elérhető általam!) Johanyák Zsolt Csaba (c) 2010

A setuid koncepció (D. Ritchie) a valódi és effektív tulajdonosságok sokszor egybeesnek a setuid/setgid bejegyzésű végrehajtható fájlokból készült processz effektív tulajdonosa a végrehajtható fájl tulajdonosa lesz (valós tulajdonos a szülő processz tulajdonosa) pl: passwd futtatható fájl tulajdonosa a root, és setuid-os /etc/passwd fájl tulajdonosa a root, én csak olvashatom. Általam indított passwd processz mégis írhatja. Johanyák Zsolt Csaba (c) 2010

Háttér – előtér időzítés programnév& program futtatás a háttérben fg háttérben futó folyamat előhozása at -f állomány óra:perc a megadott időpontban végrehajtja az állományban megadott utasításokat Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Időzítés atq kiírja a várakozó és végrehajtás alatt álló időzített feladatokat, rendszergazda számára minden várakozó feladat megjelenik. A sor végén levő jel: a a feladat várakozik = a feladat végrehajtása most folyik Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Átirányítás Standard input more < help.txt Standard output ls -la > lista.txt Standard hibakimenet find / -name *.html 2> hibák Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Parancs csatolás Az első parancs standard kimenete lesz a második parancs standard bemenete. ls -la *.tar | wc -l A képernyőn megjelenik az aktuális könyvtárban található tar kiterjesztésű állományok száma Johanyák Zsolt Csaba (c) 2010

Helyettesítő karakterek * 0 vagy több tetszőleges karakter ? egy darab tetszőleges karakter [afu] a vagy f vagy u [135] 1 vagy 3 vagy 5 [a-g] a-tól g-ig terjedő intervallumból egy karakter [1-6] 1-től 6-ig terjedő intervallumból [a-g1-6] az a-tól g-ig vagy az 1-től 6-ig terjedő intervallumból egy karakter Johanyák Zsolt Csaba (c) 2010

Semlegesítő karakterek1 \ A mögötte álló karaktert védi cat > ab\*c ' ' Shell behelyettesítéstől védi a közrefogott szöveget find / -name *.c 2>hibák | grep -l 'int len' megkeresi azokat a c kiterjesztésű állományokat, amelyek tartalmazzák az idézőjelek között megadott szöveget Johanyák Zsolt Csaba (c) 2010

Semlegesítő karakterek2 " " Shell behelyettesítéstől védi a közrefogott szöveget, de a környezeti változókat behelyettesíti ls "${HOME}/ab*c" megnézi, hogy van-e a saját könyvtárunkban ab*c nevű állomány ` ` Kiértékeli a közrefogott parancsot, és annak értékét helyettesíti az idézőjeles kifejezés helyére echo Ebben a könyvtárban `ls | wc -l` darab bejegyzés található Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Feladat listázzuk ki a /dev könyvtárból a "t"-vel kezdődő és a 3..8-as számok valamelyikével végződő állományok neveit számoljuk meg, hogy hány olyan állomány van a /dev könyvtárban, amelyben a 0..9 számjegyek egyike szerepel Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Megoldás ls /dev/t*[3-8] ls /dev/*[0-9]* | wc -l Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 A többi felhasználó who név, terminál, bejelentkezés dátuma, ideje whoami saját felhasználói név w rendszerindítás ideje, bejelentkezett felhasználók száma, terhelés, felhasználók, terminálok, honnan jelentkeztek be, mikor, mit csinálnak Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Kapcsolatteremtés talk felhasználó [terminál] a hívott fél hasonló parancsmegadással kell válaszoljon, kilépés ^C write név a hívott fél hasonló parancsmegadással kell válaszoljon, kilépés ^D mesg [y|n] üzenetfogadás engedélyezése/tiltása/állapot lekérdezése Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Futási szintek Szolgáltatások (szoftverek) automatikus indítása és leállítása Az egyes futási szintekhez eltérő jelentés (szolgáltatáscsoport) tartozhat az egyes Linux disztribúciókban Johanyák Zsolt Csaba (c) 2010

Futási szintek Ubuntuban 0 Halt/Shutdown: minden folyamat leáll, a fájlrendszereket leválasztják, a felhasználókat kijelentkeztetik, a gép biztonságosan kikapcsolható 1 Single user mode: rendszergazdaként egyfelhasználós mód, minden /etc/fstab állományrendszer felcsatolásra kerül S Sulogin: olyan, mint az 1 de nem állítja le a folyamatokat lefelé váltáskor 2-5 Multi user mode: minden /etc/fstab állományrendszer felcsatolásra kerül, grafikus felület 6 Reboot: Ugyanaz, mint 0 csak utána újraindul a rendszer az alapértelmezett futási szinten Johanyák Zsolt Csaba (c) 2010

Futási szintek Ubuntuban Ubuntuban eseményvezérelt módon az upstart segítségével oldják meg, ez helyettesíti a más rendszerekben használt /sbin/init-et Az alapértelmezett futási szintet a /etc/event.d/rc.default fájl határozza meg. Ez alapértelmezés szerint 2 Aktuális futási szint: runlevel Kiírja a megelőző és az aktuális szintet N azt jelenti, hogy nem volt előző (a mostani a legelső) Johanyák Zsolt Csaba (c) 2010

Futási szintek Ubuntuban Futási szint váltás: telinit szintszám Mit kell indítani/leállítani az egyes futási szinteken? /etc/rc?.d könyvtárak K és S kezdetű szkripteket tartalmaznak, ahol ?=0,1,2,3,4,5,6,S Minden szkriptnek van egy sorszáma Először a K kezdetűek, majd az S kezdetűek hajtódnak végre a sorszám alapján K=Kill S=Start 2-es szinten csak S Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Szkriptek Valójában mindegyik egy szimbolikus link a /etc/init.d könyvtár egy szkriptjére A szimbolikus hivatkozás kezdete (K vagy S) alapján az upstart az /etc/init.d-ben meghívott szkript végére start-ot vagy stop-ot tesz Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Működési szintek Sytsem V specifikáció szerint (Egyéni tanulmányozásra) az operációs rendszer állapotára vonatkozik – milyen szolgáltatásokat nyújtson, illetve milyen állapotban legyen 7 szintünk van: 0 : system halt – operációs rendszer leáll, processzor „halt” módba 1 : egyfelhasználós mód – ha valami hiba van 2 : többfelhasználós mód, nincs hálózat Johanyák Zsolt Csaba (c) 2010

Működési szintek Sytsem V specifikáció szerint 3 : többfelhasználós, hálózat van, nincs grafikus felület 4 : nem használt 5 : többfelhasználós, van hálózat és grafikus felület 6 : a rendszer újraindítása (reboot) az egyes processzek elindítását az „init” végzi az init az operációs rendszer beállításait az /etc/inittab állományból veszi Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 /etc/inittab az állomány formátuma: id:runlevels:action:process id : 1-4 karakteres egyedi azonosító runlevels : azokat a szinteket sorolja fel, amelyeken végre kell hajtani a műveletet action: leírja, hogy milyen műveletet kell végrehajtani process: a végrehajtandó process ha a futási szinten változtatunk, akkor az új szintre nem specifikált processzeket kiírtja (SIGTERM, majd SIGKILL) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 /etc/inittab action mező: respawn : ha a processz kihal, az init automatikusan újraindítja wait : a szint elérésekor az init elindítja, majd megvárja amíg véget ér once : csak egyszer indítja el boot : az op. r. elindulásakor indítja – a futási szinteket nem veszi figyelembe bootwait : boot + megvárja, amíg véget ér Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 off : nem csinál semmit initdefault : a boot folyamat végén erre a szintre lép be – ha nincs megadva, akkor megkérdezi sysinit : a boot folyamat elején hajtódik végre ctrlaltdel : a Ctrl_Alt_Delete kombináció lenyomásakor ezt hajtja végre Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 rcx.d az egyes könyvtárakban a szinteknek megfelelő szolgáltatásokat indítja el - x a szint száma S12valami: S : start vagy stop (K) - a szintre való belépéskor elindítja vagy kilépéskor leállítja 12: hányadikként valami: név Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Szint váltása a váltást az init végzi el feladata az egyes szolgáltatások leállítása, illetve újak indítása: az inittab alapján az rcx.d könyvtárak tartalma alapján meghívás a telinit -en keresztül paraméterként: az új szint száma (0-6) q - az inittab beolvasása s - egyfelhasználós mód u - az init újraindul - az inittab -t nem olvassa Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Szint váltás t x - megmondhatjuk, hogy mennyit várakozzon a SIGTERM és a SIGKILL üzenetek között - alapból 5 másodperc az init mindig leellenőrzi (binárisan), hogy a meghívója az init vagy a telinit ha egy processt 2 perc alatt több mint tízszer indít újra, akkor hibaüzenetet ír ki, és 5 percig nem próbálja újraindítani - szintaxis-hibák elleni védelem az init és a telinit közti kommunikáció a /dev/initctl FIFO állományon keresztül zajlik (egy irányban) Johanyák Zsolt Csaba (c) 2010

Démonok manuális kezelése A szkriptek az /etc/init.d/ könyvtárban vannak Feladatuk a démonok indítása, leállítása, újraindítása, stb. Használat: „/etc/init.d/script parancs” Parancs: start : szolgáltatás indítása stop : szolgáltatás leállítása restart : szolgáltatás újraindítása (stop, majd start) Démon= háttérben futó program Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 try-restart v. condrestart : újraindítja, de csak akkor, ha már aktív force-reload : a folyamat újraolvassa a konfigurációs állományát - ha erre nem képes, akkor újraindul reload : a folyamat újraolvassa a konfigurációs állományát - ha erre nem képes, akkor nem csinál semmit status : a folyamat állapotát ellenőrzi. Eredmény: 0 : a démon fut 1 : a démon nem fut, de létezik a /var/run/xxx.pid állomány (itt tároljuk a démonhoz tartozó PID-t) 2 : a démon nem fut, de létezik a /var/lock/xxx.lock állomány 3 : a démon nem fut 4 : a démon állapota ismeretlen Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 probe : megvizsgálja az újraindítás szükségességét - amennyiben szükséges, kiírja az indító-szkriptet nem minden szkript ismer minden parancsot egyes szkriptek más parancsokat is elfogadnak Johanyák Zsolt Csaba (c) 2010

Szoftver csomagok kezelése Több mint 24 000 csomag a kiszolgálón Frissítés figyelés deb – debian csomag típusok Előre fordított bináris formátum Függőség: az aktuális/telepíteni kívánt csomag más csomagok meglétét igényli Automatikus függőség feloldás Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 dpkg Debian alapú rendszerek csomag-menedzsmentje (telepít/eltávolít/létrehoz) Nem kezeli a függőségeket Nem tud automatikusan letölteni és telepíteni más csomagokat Pl. telepítve van-e a Midnight Commander dpkg -l | grep ‘Midnight Commander’ Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 apt-get Parancssori interfész az Advanced Packaging Tool-hoz Csomagkezelés, teljes rendszerfrissítés Függőségek kezelése Telepítés pl.: sudo apt-get install mc Eltávolítás pl.: sudo apt-get remove mc --purge: a konfigurációs állományokat is eltávolítja Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Frissítés A rendelkezésre álló csomagok listájának lokális másolatát sudo apt-get update A már telepített csomagok frissítése a legújabb változatra sudo apt-get upgrade Naplózás: /var/log/dpkg.log Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Aptitude Menüvezérelt karakteres interfész (front-end) az Advanced Packaging Tool-hoz sudo aptitude Johanyák Zsolt Csaba (c) 2010

Automatikus frissítés sudo apt-get install unattended-upgrade Konfigurálás: /etc/apt/apt.conf.d/50unattended-upgrades Unattended-Upgrade::Allowed-Origins { "Ubuntu lucid-security"; "Ubuntu lucid-updates"; }; Unattended-Upgrade::Package-Blacklist { "vim"; Naplózás: /var/log/unattended-upgrades Unattended-Upgrade::Allowed-Origins – milyen forrásból engedélyezzük Unattended-Upgrade::Package-Blacklist – milyen csomagokat tiltunk Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Tárolók Main – a Canonical által támogatott nyílt forráskódú szoftverek (szabad szoftverek) Restricted – széleskörűen alkalmazott, nem teljesen szabad licenszű, de van Ubuntu támogatás. Általában szabadalmazott eszközmeghajtók, ami nélkül nem futna az Ubuntu a hardveren. Pl. videokártya meghajtó. Universe – közösségi karbantartású nyílt forráskódú szoftverek, nincs garancia a biztonsági frissítésekre és a támogatásra Multiverse – nem szabad szoftver, egyedi licensz feltételek, nincs frissítés és támogatás. Johanyák Zsolt Csaba (c) 2010

Milyen forrásból telepíthetünk? Lokálisan - hálózaton keresztül Tárolók listája: /etc/apt/sources.list Külön szabályozható a bináris és a forráskód elérése Más tároló is felvehető a listába, de kell hozzá hitelesítési információ/nyilvános kulcs Johanyák Zsolt Csaba (c) 2010

Könyvtárak megosztása NFS Samba WebDAV Johanyák Zsolt Csaba (c) 2010

Network File System NFS

Johanyák Zsolt Csaba (c) 2010 NFS Network File System Szerver-kliens modell Szerver exportál Kliens importál Egy gép mindkettő lehet Johanyák Zsolt Csaba (c) 2010

NFS szerver telepítése sudo apt-get install nfs-kernel-server portmap Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 NFS szerver Szükséges eszközök. RPC portmapper (rpc.portmap)‏ (apt-get install portmap) RPC mount-daemon (rpc.mountd)‏ RPC NFS daemon (rpc.nfsd)‏ Exportált könyvtárak: /etc/exports Minden könyvtár új sorban, mely gépek (teljes név, * és ? használható) milyen jogosultságokkal csatolhatják fel /home 192.168.1.1/255.255.255.0(rw)‏ /segedlet belzebub(rw) pandora(ro)‏ /ubuntu *(ro,sync,no_root_squash))‏ Az állomány megváltoztatása után: sudo /etc/init.d/nfs-kernel-server start Some services, mainly SUN's NIS and NFS services, don't use a static port like most services, but instead register themselves via RPC. To connect to an NFS server you first ask RPC which port to find it on. It may even be the case that the service isn't available until you request it via RPC. The RPC portmapper (portmap(8)) is a server that converts RPC program numbers into TCP/IP (or UDP/IP) protocol port numbers. It must be running in order to make RPC calls (which is what the NIS/NIS+ client software does) to RPC servers (like a NIS or NIS+ server) on that machine. When an RPC server is started, it will tell portmap what port number it is listening to, and what RPC program numbers it is prepared to serve. When a client wishes to make an RPC call to a given program number, it will first contact portmap on the server machine to determine the port number where RPC packets should be sent. The port mapper service always uses TCP or UDP port 111; a fixed port is required for it, as a client would not be able to get the port number for the port mapper service from the port mapper itself. The port mapper must be started before any other RPC servers are started. Johanyák Zsolt Csaba (c) 2010

Hozzáférés szabályozás ro – read-only rw – read-write root_squash – a kliens rootja semmikép nem kaphat root jogokat erre a fájlrendszerre sync – a szerver szinkron módon hajtja végre a változtatásokat (csak a végrehajtás után jelez vissza)‏ link_absolute – a szimbolikus hivatkozások változatlanok maradnak subtree_check – a kérés beérkezése után a szerver leellenőrzi, hogy a cél a fájlrendszeren belül van-e illetve az exportált könyvtárstruktúrában található-e – biztosági probléma: a kliens kap egy leírót és infót a fájlrendszerről, ezért csak ro könyvtárakra! no_subtree_check – rw könyvtárakra Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 NFS kliens Célszerű telepíteni az nfs-common és a portmap csomagokat sudo apt-get install nfs-common portmap Könyvtárrendszer importálása parancssorból mount paranccsal csatolható fel: sudo mount szerver.valami.hu:/home/megosztas/segedlet /home/segedlet sudo mount –t nfs bilbo:/home /home /etc/fstab-ba beépíthető  automatikus felcsatolás szerver.valami.hu:/segedlet /home/segedlet nfs rw,hard,intr 0 0 Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Paraméterek hard – merev befűzés, ilyenkor a kernel hívásból nincs visszatérés, amíg a kiszolgáló újra elérhetővé nem válik (kill)‏ soft – lágy befűzés, az NFS ügyfél jelzi a kliensnek a hibát és leáll hard,intr – merev befűzés, de Ctrl+C-vel leállítható 0 0 – az NFS nem használja ezeket a paramétereket Johanyák Zsolt Csaba (c) 2010

Samba

Johanyák Zsolt Csaba (c) 2010 SMB Server Message Block A Windows és az OS/2 használja az erőforrások megosztásánál Hasonlít az NFS-re Nagyobb hálózatokhoz továbbfejlesztett változata a CIFS (Common Internet File System)‏ Johanyák Zsolt Csaba (c) 2010

Megosztás és szolgáltatás Megosztás: olyan erőforrás, amit egy számítógép az SMB-n keresztül a munkacsoport többi számítógépe számára elérhetővé tesz hivatkozás a szolgáltatásra: \\gépnév\megosztásnév \\belzebub\segedlet Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Samba Samba: SMB/CIFS GNU GPL implementáció Fájl- és nyomtatómegosztás, integráció Windows tartományba, (NT) tartományvezérlő is lehet Samba kliens: feladata a Windowsos megosztások elérése Linuxos (Unixos) gépről Samba szerver: feladata Linuxos (Unixos) könyvtárak és nyomtatók megosztása Windowsos gépek számára Johanyák Zsolt Csaba (c) 2010

Windows megosztás elérése Linux alól1 Samba kliens program karakteres felület ftp-re emlékeztető működés Egy adott gépen elérhető megosztások listája: smbclient –L <a windowsos gép netbios neve> -N smbclient –L tanterem -N -N jelszó nélküli lekérdezés Johanyák Zsolt Csaba (c) 2010

Windows megosztás elérése Linux alól2 Csatlakozás egy megosztáshoz: smbclient //<netbiosnév>/<megosztásnév –N ha a megosztáshoz mégis jelszó kell, akkor hibaüzenet -N-t elhagyva rákérdez a jelszóra -U felhasználónév Johanyák Zsolt Csaba (c) 2010

Windows megosztás elérése Linux alól3 Windows megosztás felcsatolása sudo apt-get install smbfs sudo smbmount megosztás csatolási_pont –o username=felhasználónév (rákérdez a jelszóra)‏ Csatolás megszüntetése sudo smbumount csatolási pont Johanyák Zsolt Csaba (c) 2010

Windows megosztás elérése Linux alól4 Automatikus felcsatolás a gép indulásakor az /etc/fstab állományba egy új sor: megosztás csatolásipont smbfs username=felhasználónév,password=jelszó,umask=000 0 0 //tanterem/9-labor$ /mnt/9-labor … Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Samba szerver GNU Public License könyvtárrendszer és nyomtatók közzététele Windowsos és Linuxos kliensek számára sudo apt-get install samba smbfs konfigurálás: /etc/samba/smb.conf swat program (http://localhost:901)‏ SMB (CIFS) protokollt valósít meg TCP/IP felett sudo /etc/init.d/samba restart http://www.samba.org/ Johanyák Zsolt Csaba (c) 2010

Samba szerver konfigurálása minden felhasználót be kell jegyezni csak a Linuxban (/etc/passwd) már bejegyzett felhasználókat lehet felvenni security=user unix password sync=yes [labor] comment=Labor writeable=yes path=/mnt/9-labor public=yes read list= jcsaba, @adminok write list=jcsaba, @adminok Konfigurációs állomány tesztelése: testparm Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Felhasználókezelés smbpasswd -a felhasználónév felhasználó felvétele + jelszóváltoztatás smbpasswd -x felhasználónév felhasználó törlése smbpasswd -d felhasználónév felhasználó tiltása smbpasswd -e felhasználónév felhasználó engedélyezése Felhasználói adatbázisok: /var/lib/samba Johanyák Zsolt Csaba (c) 2010

Web based Distributed Authoring and Versioning WebDAV

Johanyák Zsolt Csaba (c) 2010 WebDAV Eredetileg a csoportos felhasználói munka támogatására találták ki Ún. web megosztások segítségével lehetővé teszi http protokollon keresztül az állományok szerkesztését, másolását, mozgatását többfajta operációs rendszer alatti ügyfélgépek esetén Szükséges: Apache 2 + PHP sudo apt-get install apache2 php5 libapache2-mod-php5 Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Konfigurálás1 Apache-ban engedélyezni kell a mod-dev modult a megfelelő szimbolikus hivatkozások létrehozásával cd /etc/apache2/mods-enabled sudo ln -s ../mods-available/dav* . Létrehozunk egy adatbázis állományt a fájlzárolások számára mkdir /usr/share/apache2/var touch /usr/share/apache2/var/DAVLock Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Konfigurálás2 Az apache2 www-data felhasználóként fut. Ellenőrzés: ps –ef | grep apache2 Beállítjuk, hogy a var könyvtár és annak tartalma a www-data felhasználói fók tulajdonába kerüljön chown -R www-data:www-data /usr/share/apache2/var Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Konfigurálás3 Jelszóállomány létrehozása és hallgato felhasználó felvétele sudo htpasswd -m -c -b /etc/apache2/.htpasswd hallgato hallgato -m: MD5 -c: új állomány létrehozása -b: a parancssorból veszi a jelszót, nem kérdez rá További felhasználók hozzáadása vagy jelszómódosítás htpasswd -mb /etc/apache2/.htpasswd proba proba Alapból bárki hozzáférhet a megosztott állományokhoz, ezért a hozzáférést autentikációhoz kötjük. Létrehozunk egy jelszóállományt, amiben MD5 titkosítással (hash-sel) tároljuk a jelszavakat. Ezt az apache 2 konfigurációs könyvtárán belül hozzuk létre, és rögtön hozzá is adjuk a hallgato felhasználót. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Konfigurálás4 Felhasználó törlése htpasswd -D /etc/apache2/.htpasswd proba Létrehozzuk a WebDAV gyökérkönyvtárát mkdir /var/www/WebDAV A könyvtárat a www-data felhasználó tulajdonába adjuk chown www-data:www-data /var/www/WebDAV Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Konfigurálás5 Beállítjuk a rwx r-x --- hozzáférésszabályozást chmod 750 /var/www/WebDAV Az Apache 2 konfigurációs állományában: Az általános részben (Global Environment) – a zárolási adatbázis helye DAVLockDB /usr/share/apache2/var/DAVLock DAVMinTimeout 600! Ennyi idő múltán a zár automatikusan feloldódik Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Konfigurálás6 WebDAV könyvtár megadása <Directory /var/www/WebDAV> Dav on AuthName "WebDAV Login" AuthType Basic </Directory> Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 CUPS Common Unix Printing System Ezt használja a legtöbb GNU/Linux disztribúció Képes nyomtatási feladatok kezelésére Támogatja a hálózaton keresztül történő nyomtatást az Internet Printing Protocol (IPP) használatával Támogatja a hálózati nyomtatók automatikus felismerését Támogatja a Postscript Printer Description-t Rendelkezik webes felületű konfigurációs/adminisztrációs felülettel Nyomtat pdf-be ~/PDF könyvtárba Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Telepítés Alapból feltelepül, de ha szükséges az újratelepítés: sudo apt-get install cupsys cupsys-client A kiszolgáló szoftver automatikusan indul telepítés után Nyomtatási szolgáltatás indítása sudo /etc/init.d/cupsys start Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Konfigurálás1 Webes felületen http://localhots:631 Asztali gépen Rendszer/Adminisztráció/Nyomtatás (system-config-printer) Szerveren – parancssorból /etc/cups/cupsd.conf Hasonlít az Apache konfigurációs állományára ServerAdmin felh@gépnév Milyen portokon fogadjon kéréseket? Listen 127.0.0.1:631 #loopback Listen /var/run/cups/cups.sock #socket Listen IPcím:631 #hálózaton Johanyák Zsolt Csaba (c) 2010

CUPS konfigurálás Webes felületen Johanyák Zsolt Csaba (c) 2010

Konfigurálás grafikus felületen sudo /etc/init.d/cups restart Johanyák Zsolt Csaba (c) 2010

Domain Name Service (DNS) Osztott hierarchikus név adatbázis Legfontosabb feladata a név - IP cím feloldás Amikor az Internet még csak pár ezer számítógépből állt, a név-cím hozzárendelést egy folyamatosan növekvő fájl, hosts táblázat tartalmazta A táblázatot minden számítógépen lokálisan tárolták, és egy központi helyről rendszeresen frissítették Ennek nyoma mind a mai napig megvan: pl. a Unix rendszerekben az /etc/hosts fájl éppen ilyen Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 /etc/hosts Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 BIND Berkeley Internet Name Domain leggyakrabban használt DNS implementáció (ISC) BIND 9 http://tldp.org/HOWTO/DNS-HOWTO-4.html https://help.ubuntu.com/community/BIND9ServerHowto Johanyák Zsolt Csaba (c) 2010

DNS konfigurációs állományok /etc/bind/named.conf /etc/bind/named.conf.local /etc/bind/named.conf.options zónafájlok Johanyák Zsolt Csaba (c) 2010

/etc/bind/named.conf.options - általános beállítások directory "/var/cache/bind"; forwarders {10.11.12.1; 10.12.12.1}; forward first; listen on port 53 {10.1.1.2;}; query-source address * port 53; allow-querry {127.0.0.1; 10.1.1.0}; cleaning-interval 120; notify yes; recursion yes; } Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Magyarázat directory a szerver munkakönyvtára forwarders ezekhez továbbítódik a kérés, legfeljebb hármat lehet megadni forward first először a továbbítással próbálkozik listen on melyik interfészen milyen porton fogadja a kéréseket (alapért.: mindegyik interfész, 53-as port) query-source… ha a DNS és az Internet között tűzfal van Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Magyarázat allow-querry … hosztok és hálózatok, ahonnan kérést lehet küldeni (alapért. : mindenhonnan) notify yes slave DNS-ek értesítése a zónafájlok változásáról recursion yes; a DNS hajlandó más DNS-eket lekérdezni nemcsak "láttat" Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Caching-only NS Alapból egy caching-only típusú DNS-ként működik Elegendő a forwarders részben megadni az ISP névszervereit Majd újraindítani a szervert /etc/init.d/bind9 restart A CO NS lekérdezi a számára megadott (forwarders) névszervereket, és tárolja az eredményt a későbbi lekérdezésekhez. Nem felelős/autoratív semmilyen zóna vonatkozásában. Johanyák Zsolt Csaba (c) 2010

/etc/bind/named.conf - zóna beállítások zone "." in { type hint; file "/etc/bind/db.root"; }; zone "localhost" in { type master; file "/etc/bind/db.local"; Johanyák Zsolt Csaba (c) 2010

/etc/named.conf - zóna beállítások zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; }; Johanyák Zsolt Csaba (c) 2010

/etc/named.conf.local - zóna beállítások zone "gyakorlat.hu" { type master; file "/etc/bind/gyakorlat.hu"; }; zone "1.168.192.in-addr.arpa" { file "/etc/bind/1.168.192"; Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Zónatípusok névfeloldáshoz kiegészítő: "." ha a nevet pont végződés nélkül adjuk meg akkor ez a zóna mindig hozzá adódik – a gyökérszintű névszerverekről tartalmaz infót a DNS inicializálásához névtartomány localhost valódi zóna inverz névfeloldáshoz Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Zónafájlok a névszerverek az egyes zónák adatait egy-egy fájlban tárolják az elsődleges (master) szerveren az adminisztrátor módosítja ezt a fájlt rekordokból (RR -resource record) áll sok fajta rekordot tesz lehetővé az RFC-kben megadott definíció Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Rekordok felépítése a rekordok alakja (RFC1035): címke ttl osztály típus adatok címke: a domain rekord neve, lehet üres, ilyenkor az előtte levő rekord címkéje érvényes ttl: a rekordhoz tartozó „Time To Live” időt adja meg másodpercben (nem kötelező; ha elhagyjuk, akkor a zónára vonatkozó alapértelmezés lesz a rekordhoz tartozó érték) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Rekordok felépítése osztály: IN (Internet osztály) - elhagyható típus: milyen fajta információról van szó Pl. IP cím (A rekord) névszerver információ (NS rekord) stb. adatok: a rekord típusától függő információ Johanyák Zsolt Csaba (c) 2010

Legfontosabb rekordtípusok SOA - Start of Authority rekord, zóna kezdő rekord A - Address, cím rekord NS - Name Server, névszerver rekord Glue rekord CNAME - Canonical Name, kanonikus név rekord MX - Mail eXchanger, levelező szerver rekord TXT - szöveges rekord HINFO - hardver információ rekord PTR - Pointer rekord Johanyák Zsolt Csaba (c) 2010

SOA - Start of Authority rekord, zóna kezdő rekord megadja a zónára vonatkozó közös információkat otthon.hu. SOA belzebub.otthon.hu. mester.otthon.hu. ( 2002052501 ;Serial nr. 1D ;Refresh 2H ;Retry 1W ;Expire 2D) ;TTL Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 SOA otthon.hu. a zóna neve belzebub.otthon.hu. az elsődleges szerver mester.otthon.hu. e-mail cím (mester@otthon.hu értelemben) serial nr. a zóna sorszáma - a slave szerverek általa ellenőrzik, hogy a náluk levő zóna tartalom nem avult-e el (ÉÉÉÉHHNNVV alakban) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 SOA refresh (sec) mennyi időnként kell a slave szervereknek a master-től megkérdezni, hogy a zóna sorszáma mennyi retry (sec) ha a frissítés nem sikerült, akkor mennyi időt várjanak, mielőtt újra próbálkoznának expire (sec) ha nem sikerül a master-rel kommunikálniuk, ennyi ideig szolgáltatják a zónát a világ számára TTL a zóna rekordjaira érvényes alapértelmezés Bind9-nál használható a 1W2D3H alak Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 A - Address, cím rekord egy domain névhez IP címet rendelünk belzebub A 10.1.1.1 jelentése: belzebub.otthon.hu IP címe: 10.1.1.1 Johanyák Zsolt Csaba (c) 2010

NS - Name Server, névszerver rekord egy domain névszervereinek megadása a domain egy delegálási pont pl. osztaly NS gep.osztaly.valami.hu. az 'osztaly' aldomain névszervere a gep.osztaly.valami.hu. ajánlatos legalább két névszervert megadni vagy NS belzebub.otthon.hu Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 NS az otthon.hu zóna alatt nem látszik, hogy a szerverek közül melyik a master és melyik a slave az NS rekordoknak csak a felsőbb szinten, a szülő zónában van szerepe, indokolt azonban a zónában is felsorolni paramétere egy gép domain neve Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Glue rekord a gep.osztaly.otthon.hu rekordnak az osztaly zónában van a helye, de a otthon.hu zónában is felsoroljuk gep.osztaly A 190.1.2.3 az idegen A rekordot nevezik glue (ragadvány) rekordnak ha az osztaly.valami.hu zónának egy másik névszervere a mas.nevszerver.intezet.hu, akkor ehhez nem kell glue rekordot csatolni a valami.hu zónában, hiszen ennek a névszervernek az A rekordját ettől a delegálástól teljesen függetlenül lehet megtudni Johanyák Zsolt Csaba (c) 2010

CNAME - Canonical Name, kanonikus név rekord becenév egy hostnak www CNAME belzebub ha ez az otthon.hu zónában van, az azt mutatja, hogy a www.otthon.hu egy másik neve a belzebub.otthon.hu-nak Johanyák Zsolt Csaba (c) 2010

MX - Mail eXchanger, levelező szerver rekord otthon.hu. MX 10 mail.otthon.hu. MX 20 mas.otthon.hu. a valaki@otthon.hu alakú címre érkező leveleket a mail.otthon.hu vagy a mas.otthon.hu. gépekre kell küldeni 10, 20 a rekord preferenciát jelenti, csak akkor van jelentősége, ha több MX rekord tartozik ugyanahhoz a névhez: kisebb szám nagyobb preferenciát jelent Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 MX csak akkor fogják a levelező szerverek a mas.otthon.hu-ra küldeni a otthon.hu domainba szóló leveleket, ha a preferáltabb mail.otthon.hu nem elérhető egyenlő preferenciánál véletlenszerű, hogy melyikre érkezik be egy-egy levél Johanyák Zsolt Csaba (c) 2010

TXT - Text, szöveges rekord tetszőleges szöveges információt tartalmazhat, pl. modern TXT "Ez a gep mar megszunt" paramétere egyetlen, idézőjelek közé zárt ASCII karaktersorozat Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 PTR - Pointer rekord cím-név hozzárendelés szerver programok használják, annak kiderítésére, hogy egy hozzájuk érkezett IP csomag milyen domainhez tartozik az in-addr.arpa domain alá tartozó ág szolgálja a cím-név felosztást a zónák delegálása az IP címtartomány egyes darabjainak megfelelően történik Johanyák Zsolt Csaba (c) 2010

Központosított felhasználómenedzsment NIS LDAP Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 NIS Network Information System Korábbi neve Sun Yellow Pages (YP) Konfigurációs állományok adatbázisa (pl. jelszavak) Egy mester (elsődleges) szerver és több szolga (másodlagos) szerver Konfigurációs állományok módosítása csak a mester szerveren Minden Unix rendszer támogatja Yello Pages – a British Telecom védjegye Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 NIS Pl. /etc/password  jelszó térkép Letöltve a másodlagos szerverekre A NIS kliensek nem a lokális password állományt használják, hanem lekérdezik a szervert NFS-el kiegészítve, ha a felhasználó bárhonnan jelentkezik be, ugyanaz a saját könyvtára Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 NIS térképek Minden szöveges konfigurációs állományból egy bináris adatbázisállomány Tartomány /var/yp/ és /var/yp/tartománynév/ 2 mező: kulcs és érték Egy keresett adathoz 3 információ szükséges: tartománynév (NIS-gyakorlat), térképnév (passwd.byname), kulcs (geza) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 NIS szerver beállítás NIS doménnév megadása nem kell azonos legyen a DNS tartománnyal biztonsági ajánlás: eltérő név Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Szerver beállítás Ez a host legyen egyben NIS ügyfél is Gyors map disztribúció Engedélyezi jelszavak cseréjét (GECOS: teljes név; shell) Egyéb általános beállítások yp forráskönyvtár: /etc Jelszavak összeolvasztása: shadowpasswd (nem) Csoportok összeolvasztása: gshadowgroup (nem) Minimális UID és GID (ez alatt nem oszt szét=titkos) Johanyák Zsolt Csaba (c) 2010

Szerver térképek beállítása Mi lesz elérhető a hálózaton: group, hosts, mail, netid, passwd, rpc, services, shadow Ki kérdezheti le? Kötelező: Hálózati maszk: 255.0.0.0 Hálózat: 127.0.0.0 Mindenki: Hálózati maszk: 0.0.0.0 Hálózat: 0.0.0.0 Johanyák Zsolt Csaba (c) 2010

Módosítások érvényesítése Ha a közzétett adatbázisok közül valamelyikben módosítunk, pl. új felhasználó felvétele Akkor a bináris (közzétett) adatbázist is módosítani kell: cd /var/yp make –C Konfig. áll. /var/yp/Makefile Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Kliens beállítása szerver is lehet NIS kliens, ilyenkor 127.0.0.1 egyébként pl.: 192.168.1.201 Johanyák Zsolt Csaba (c) 2010

Kézi beállításhoz kiegészítés RPC portmappernek futnia kell /etc/passwd –ben kiegészítő sor: +:::::: /etc/shadow –ben kiegészítő sor: +:::::::: /etc/group –ban kiegészítő sor: +::: Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Néhány parancs yppasswd – NIS jelszócsere ypchfn – GECOS infók cseréje ypchsh – shell csere ypwhich – szerver nevének lekérdezése ypdomainname – NIS tartománynév lekérdezés és csere hostname Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Name Service Switch /etc/nsswitch.conf Milyen sorrendben történjen a keresés az egyes adatbázisokban és konfigurációs állományokban – hálózati információk (passwd, group, aliases, hosts, netmasks, etc.) Felépítés: szolgáltatás : specifikációk nis, nis-plus, files, db, dns, compat Johanyák Zsolt Csaba (c) 2010

Name Service Switch Pl.: passwd: files ldap hosts: files ldap dns netmasks: files

Johanyák Zsolt Csaba (c) 2010 LDAP Lightweight Directory Access Protocol kliens-szerver protokol címtár szolgáltatás eléréséhez slapd – a szolgáltatást nyújtó démon slurpd - szerverek közötti replikáció kiszolgálója kliens-szerver modellen alapul egy vagy több LDAP szerveren tárolt adatból épül fel az LDAP fa az LDAP kliens egy LDAP szerverhez csatlakozik, és felteszi a kérdéseit a szerver a válasszal reagál, vagy egy mutatóval, hol talál több információt a kliens Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Adatbázisok három különböző, szabadon választható háttér adatbázis hasznláható: LDBM, a nagy teljesítményű merevlemez alapú adatbázis SHELL, az adatbázis interfész tetszőleges UNIX parancs vagy shell-script eléréséhez PASSWORD, az egyszerű jelszó adatbázis Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Az LDBM adatbázis 4 bájtos egyedi azonosítók minden adathoz fő indexe az id2entry, ami a bejegyzések egyedi azonosítóit (entry's unique indentifier - EID) összerendeli saját szöveges ábrázolásával importálás és exportálás LDIF formátumban (LDAP Data Interchange Format) a bejegyzéseket objektum orientált hiearchikus formában tárolja Johanyák Zsolt Csaba (c) 2010

Internet tartomány név alapú fastruktúra DIT: directory information tree Hivatkozás a bejegyzésre:RFC4514, DN: distinguished name: uid=babs,ou=People,dc=example,dc=com RDN: Relative Distinguished Name uid=babs Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 LDIF dn: o=Nns, c=Hu o: Nns objectclass: organization dn: cn=Halász Gábor, o=Nns, c=Hu cn: Halász Gábor sn: Halász gn: Gábor mail: halasz.g@nns.hu objectclass: person Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Felépítés dn - distinguished name (megkülönböztő név) - a bejegyzés nevéből áll, megtoldva a név elérési útjával vissza a címtár hiearchia csúcsáig alapvető objektum osztályok: Group (csoport), független objektumok rendezetlen listája vagy objektumok csoportja Location (elhelyezkedés), az országok nevei és leírásuk Organization (szervezet) People (személy) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Bejegyzések egy bejegyzés (attribútum) több objektumosztályhoz is tartozhat cn: Halász Gábor (commonName) givenname: Gábor surname: Halász mail: halasz.g@nns.hu a person objektumosztályban cn és sn attribútumok szükségesek telephoneNumber, seeAlso és userpassword jellemzők engedélyezettek, de nem szükségesek Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Attribútum szintaxis minden attribútumnak meghatározott szintaxis definíciója van bin binary (bináris) ces case exact string (betűnagyságnak meg kell egyeznie az összehasonlítás során) cis case ignore string (betűnagyságnak nem kell egyeznie az összehasonlítás során) tel telephone number string (olyan, mint a cis, de a <-> kihagyásával) Johanyák Zsolt Csaba (c) 2010

Az LDAP szerver konfigurálása hely: /usr/local/etc/openldap vagy /etc/openldap állomány: slapd.conf (slapd.oc.conf és slapd.at.conf) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 slapd.conf # megjegyzés - ezek az egész adatbázisra érv.     <globális konfigurációs lehetőségek>     # első adatbázis     database <backend 1 type>     <backend 1 beáll.>     # második adatbázis database <backend 2 type>     <backend 2 beáll.>     # további adatbázis definíciók Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 LDAP szerver indítása önállóan (LDBM esetén ez ajánlott) $(ETCDIR)/slapd [<opciók>]* inetd-vel indítva Johanyák Zsolt Csaba (c) 2010

Accessing LDAP Add, modify, and delete entries with ldapadd, ldapmodify, and ldapdelete Search the LDAP database with ldapsearch Bind as some DN or anonymously ldapsearch -D “cn=Directory Manager” -h ldaphost -b “dc=cims,dc=nyu,dc=edu” “uidNumber=9876” gecos Access to information is controlled by an access control list, e.g. password hashes are not available through anonymous bind

Johanyák Zsolt Csaba (c) 2010 DNFS distributed network file system Olyan, mint egy RAID rendszer, amit több hoszt segítségével valósítanak meg Redhat Global File System (GFS2) Oracle Cluster File System (OCFS2) Cluster Storage Platform (GlusterFS) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 GFS Natív kernel támogatás gfs2-tools cman clvm Konfig GUI: system-config-cluster Működhet közvetlenül SAN-ról Van egy logikai eszköz és vannak logikai kötetek, amiket a CLVM (Cluster Logical Volume Manager) kezel cman- klaszter menedzsment Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 GFS dlm – distributed lock management – zárolások kezelését végző démon /etc/cluster/cluster.conf - klaszter konfigurációs állomány Kötetek létrehozása: clvdm démonnal + pool Konfiguráció tesztelése - ccs-test Indítás: cman szkripttel Felcsatolás: gfs2-tools és mount Johanyák Zsolt Csaba (c) 2010

Tipikus hozzáférés szabályozási megoldások DAC – Discretionary Access Control (tetszés szerinti) Minden objektumnak tulajdonosa van, aki szabályozhatja a hozzáférést Pl. állományok MAC – Mandatory Access Control (kötelező) Hozzáférés-jogosultság kiosztása előre meghatározott módon Johanyák Zsolt Csaba (c) 2010

MAC implementáció Ubuntuban AppArmor (Application Armor) – alapértelmezett SELinux (Security Enhanced Linux) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 AppArmor Név alapú MAC-et megvalósító biztonsági modul Automatikusan feltelepül Immunix majd Novell fejlesztés (2007-ig), Elsősorban hálózati alkalmazások védelmére: www, ftp, Samba, CUPS, dhcpkliens Szabályozás biztonsági házirendekkel Csomagok: apparmor, apparmor-utils, apparmor-profiles, apparmor-doc Minden a szabályozás alá tartozó alkalmazáshoz egy profil állomány (biztonsági házirend) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 AppArmor Indítás: /etc/init.d/apparmor start|stop|restart Kiszolgáló (pl. Apache, Samba, SQUID, Postfix) telepítésekor települ a hozzá tartozó profil További profilok az apparmor-profiles csomagban Üzemmódok Enforce – kikényszerítő Complain - figyelmeztető Kikényszerítő üzemmódban minden megszorítást végrehajt, azaz hozzáférést megtagad. Figyelmeztető üzemmódban csak figyelmeztető üzeneteket küld, de nem akadályozza meg a hozzáférést, ez pl. egy új alakalmazás profiljának az elkészítése során lehet hasznos. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 apparmor-utils apparmor_status – kiírja az üzemmódot és a betöltött profilok listáját Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Profil módosítása után újratöltés cat profil | sudo apparmor_parser –r Az összes profil újratöltése sudo /etc/init.d/apparmor reload Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 enforce – kikényszerített módba helyezi az apparmort aa_enforce alkalmazás – csak a profilt complain – figyelmeztető módba helyezi az apparmort aa_complain alkalmazás – csak a profilt unconfined – kilistázza azokat az alkalmazásokat, amelyeket nem szabályoz az apparmor autodep alkalmazás – egy alap profilt készít egy alkalmazáshoz audit alkalmazás - naplóz Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Konfigurálás Konfigurációs állományok /etc/apparmor Profilok /etc/apparmor.d A profilnév az alkalmazás teljes elérési útvonalát tartalmazza, /-k helyett pontokkal Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Könyvtárak abstractions, tunables – olyan profil szabályokat tartalmaz, amelyeket több profil közösen használ disable - az ide belinkelt profilok le vannak tiltva force-complain Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Profil tartalma Útvonal – milyen állományokhoz férhet hozzá az alkalmazás Ha az útvonal *-ban végződik, akkor az adott könyvtár összes állományára vonatkozik Jogosultságok r,w,x,l (link), stb. /var/log/samba/log.* w, - az alkalmazás írhatja a samba könyvtár összes log. kezdetű állományát Képesség (Capability) – milyen privilégiumokat használhat a folyamat Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 include – direktívával illesztik be a hivatkozásokat Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Tűzfal Minden be|ki csomag a Netfilter alrendszerhez kerül. Ez dönti el: elfogad|módosít|visszautasít iptables Tűzfal konfiguráló, menedzselő eszközök ufw – parancssor Firestarter – GUI Johanyák Zsolt Csaba (c) 2010

Uncomplicated Firewall Engedélyezés: sudo ufw enable|disable Állapot: sudo ufw status [verbose] Konfig. Állományok: /etc/default/ufw, /etc/ufw/ufw.conf Szabályok: /lib/ufw/user.rules Engedélyezés példák sudo ufw allow szolgáltatásnév|port/protokoll sudo ufw allow ftp sudo ufw allow 137/tcp (Samba) A szolgáltatásnév kell szerepeljen az /etc/services-ben Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 ufw - tiltás sudo ufw deny proto tcp from 192.168.0.5 to any port 22 sudo ufw deny 22 sudo ufw deny proto tcp from 192.168.0.5 to any port 22 Egyik interfészhez se lehet kapcsolódni tcp-vel a 22-es porton a 192.168.0.5 gépről. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Utasítások Szabály törlése sudo ufw delete allow 137/tcp Milyen iptables utasítások keletkeznek egy ufw utasítás eredményeképpen? sudo ufw –dry-run allow http Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Saját profil Egyes alkalmazások saját profilokat telepítenek, amiben szerepel, hogy milyen portokat kell megnyitni a számukra /etc/ufw/applications.d könyvtár Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Profilok Telepített profilok listája sudo ufw app list Az alkalmazáshoz kapcsolódó forgalom engedélyezése sudo ufw allow|deny cups Profil beállításainak megtekintése sudo ufw app info cups Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Naplózás sudo ufw logging off|low|medium|high|full Hova kerül? /var/log/messages /var/log/syslog /var/log/kern.log Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 IP álcázás NAT Csomagtovábbítás engedélyezése /etc/default/ufw  DEFAULT_FORWARD_POLICY="ACCEPT" /etc/ufw/sysctl.conf  net/ipv4/ip_forward=1 NAT tábla konfigurálása /etc/ufw/before.rules az állomány elejére a fejléc után  # nat Table rules *nat :POSTROUTING ACCEPT [0:0] # Forward traffic from eth1 through eth0. -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE COMMIT Változások érvényesítése sudo ufw disable && sudo ufw enable Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 /etc/default/ufw Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 /etc/ufw/ufw.conf Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Firestarter sudo apt-get install firestarter Rendszer-Adminisztráció-Firestarter sudo /usr/sbin/firestarter Varázsló Eszköz kiválasztása listából (ethx) Internet kapcsolat megosztás engedélyezése (NAT) Tűzfal indítása Grafikus felület a tűzfal konfigurálásához Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Firestarter varázsló Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Firestarter Szabályok Bejövő forgalomra Kimenő forgalomra (alapból engedélyező|alapból tiltó) Engedélyezés|Tiltás Gépről Szolgáltatás Átirányítás Johanyák Zsolt Csaba (c) 2010

Bejövő forgalom szabályai Johanyák Zsolt Csaba (c) 2010

Kimenő forgalom szabályai Fehér listás Fekete listás Johanyák Zsolt Csaba (c) 2010

Diagnosztikai eszközök tiltása Johanyák Zsolt Csaba (c) 2010

Parancs futtatása más felhasználó nevében sudo <parancs> (sudo –u root <parancs>) sudo –u <felhasználó> <parancs> Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Sudoers /etc/sudoers Ki milyen parancsokat futtathat kinek a nevében? Mihez kell jelszó? (Szerkesztő pr. Kiválasztása: sudo select-editor) Szerkesztés: sudo visudo Miért visudo? A sudo indításkor kiolvassa Szabályozások sorban érvényesülnek, a későbbi felülírhatja a korábbit Alias (változók) User_Alias, Runas_Alias, Host_Alias és Cmnd_Alias visudo is a program which makes a temporary copy of the sudoers file, and sanity checks it after you've finished editing it. If any errors are found, it then prompts you about it, and allows you to go back to fix that misconfigured line. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 User_Alias példák # Everybody in the system group "admin" is covered by the # alias ADMINS User_Alias ADMINS = %admin # The users "tom", "dick", and "harry" are covered by the # USERS alias User_Alias USERS = tom, dick, harry # The users "tom" and "mary" are in the WEBMASTERS alias User_Alias WEBMASTERS = tom, mary # You can also use ! to exclude users from an alias # This matches anybody in the USERS alias who isn't in # WEBMASTERS or ADMINS aliases User_Alias LIMITED_USERS = USERS, !WEBMASTERS, !ADMINS Felhasználók és csoportok beazonosítására/megnevezésére szolgál Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Runas_Alias példák # UID 0 is normally used for root # Note the hash (#) on the following line # indicates a uid, not a comment. Runas_Alias ROOT = #0 # This is for all the admin users similar to the # User_Alias of ADMINS set earlier # with the addition of "root" Runas_Alias ADMINS = %admin, root Felhasználó megnevezés UID alapján Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Host_Alias példák # This is all the servers Host_Alias SERVERS = 192.168.0.1, 192.168.0.2, server1 # This is the whole network Host_Alias NETWORK = 192.168.0.0/255.255.255.0 # And this is every machine in the network that is not a server Host_Alias WORKSTATIONS = NETWORK, !SERVERS Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Cmnd_Alias példák Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /sbin/halt, /sbin/reboot Cmnd_Alias AGET = /usr/bin/apt-get Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Hogyan? <Ki><Milyen gépről bejelentkezve?>=<Milyen felhasználóként?><Kapcsoló><Mit?> HALLGATO ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS HALLGATO ALL = (root) NOPASSWD:NOEXEC: /usr/bin/vim %admin ALL=(ALL)NOPASSWD:/usr/bin/apt-get %admin hera=(ALL)NOPASSWD:/usr/bin/apt-get %admin 192.168.1.0/255.255.255.0=(ALL)NOPASSWD:/usr/bin/apt-get A HALLGATO változóban definiált felhasználók bármely gépről bejelentkezve bármilyen felhasználóként jelszó nélkül leállíthatják a rendszert. A HALLGATO változóban definiált felhasználók bármely gépről bejelentkezve root felhasználóként elindíthatják jelszó nélkül a vim-et, de a vim nem tud további shellt indítani. Az admin csoport tagjai bármilyen felhasználóként bármely hosztról jelszó nélkül elindíthatják az apt-get-et Ugyanaz csak a hera gépről. Csak a hálózat gépeiről. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Hogyan? %admin hera=(root)NOPASSWD:/*/sbin/* ALL ALL=(ALL)NOPASSWD: ALL Az admin csoport tagjai a hera gépről jelszó nélkül root –ként futtathatják az sbin könyvtárak tartalmát: /usr/sbin/ /usr/local/sbin/ stb. Bárki bármilyen gépről bejelentkezve a sudoval bármely felhasználó nevében jelszó nélkül bármit megtehet. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Defaults sudo –L milyen alap beállításokat kapcsolhatunk be sudo –l jelenleg érvényes effektív beállítások Defaults:ALL timestamp_timeout=0 Defaults:ALL timestamp_timeout=0 Which means that ALL users sudo permissions timeout immediately, meaning that they must enter their password every time they use sudo. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Források https://help.ubuntu.com/community/Sudoers http://ubuntuforums.org/showthread.php?t=1132821 Minta konfiguráció: http://www.sudo.ws/sudo/sample.sudoers Johanyák Zsolt Csaba (c) 2010

Szolgáltatások védelme Kerberos segítségével Kerberos – Hádész háromfejű kutyája Hálózati autentikációs protokoll Ügyfél és kiszolgáló közötti kapcsolatok titkosított autentikációja Az ügyfél titkosított jelszóval igazolja magát, majd a további kommunikáció is titkosítva történik Védelem belső és külső támadások ellen Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Kerberos Universe tároló Biztonságos változatok az rsh, rcp, telnet, ftp kliensek helyett apt-get install krb5-server krb5-clients krb5-user krb5-doc Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Forrás: http://en.wikipedia.org/wiki/Kerberos_%28protocol%29

Johanyák Zsolt Csaba (c) 2010 Autentikáció Bejelentkezéskor automatikusan A felhasználó kezdeményezi kinit-tel Ez utóbbi menete A Kerberos felhasználónevet elküldi az Authentication Server (AS)-hez Az AS visszaküld egy tikett kiutaló tikettet (Ticket Granting Ticket - TGT), amit a felhasználó nyilvános kulcsával titkosít A kinit bekéri a jelszót, dekódolja a TGT-t Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Autentikáció menete A kliens program (pl. levelező ügyfél) elküldi a TGT-t a tikett kiadó szerverhez (Ticket Granting Server – TGS) A TGS generál egy tikettet a levelező szerver szolgáltatás eléréséhez, és titkosítva elküldi az ügyfélhez Az ügyfél ezzel a tikettel igénybe veszi a szolgáltatást Ha a felhasználó egy másik szolgáltatást akar igénybe venni, akkor ugrás a dia első pontjához Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 VirtualBox telepítés Telepítési forrás megadása /etc/apt/sources.list deb http://download.virtualbox.org/virtualbox/debian natty contrib A VirtualBox tároló nyilvános kulcsának letöltése és telepítése wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add - Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 VirtualBox telepítés Csomag adatbázis frissítése sudo apt-get update VirtualBox telepítés sudo apt-get install virtualbox-4.0 dkms A dkms biztosítja, hogy Linux kernel verzió frissítést követően a VirttualBox hoszt kernel modulok is frissüljenek Johanyák Zsolt Csaba (c) 2010

Távoli elérés biztonságosan A telnet, rcp, rsh, rlogin titkosítás nélkül továbbítja az információt SSH – Secure Shell Kereskedelmi vált.: SSH Tectia Szabad vált.: OpenSSH (main Ubuntu tároló) Hitelesítés nyilvános/titkos kulcspáros alapú megoldással vagy egyes szolgáltatások esetén Kerberos kiszolgáló segítségével (Kerberos tikett) Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Hitelesítés A kulcshozzáférést külön jelszóval is korlátozhatja Először a hoszt hitelesítése, majd a felhasználó hitelesítése A további információáramlás már a kiszolgáló és az ügyfél által közösen választott (vagy előre meghatározott) algoritmussal Nyilvános kulccsal titkosít a kiszolgáló Az ügyfél nyilvános kulcsa tárolva kell legyen a kiszolgálón. A kiszolgáló evvel titkosít egy véletlenszámot, az ügyfél a saját titkos kulcsával dekódolja. A kulcsok lehetővé teszik a jelszó nélküli kommunikálást az ügyfélgép és a kiszolgáló között. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Kiszolgáló Kiszolgáló telepítése sudo apt-get install openssh-server Kiszolgáló indítása, leállítása, újraindítása, állapota sudo /etc/init.d/ssh start|stop|restart|status A 22-es porton várja a kéréseket Automatikus indítás asztali Ubuntunál Rendszer/Adminisztráció/Szolgáltatások Nyilvános kulcsot a ~/.ssh/authorized_keys állományhoz kell hozzáadni Ha távolról be akarok jelentkezni, akkor egy fiókkal kell rendelkezzek az adott gépen. Az adott fiók könyvtárában ~/.ssh/authorized_keys állományhoz kell hozzáadni az én saját nyilvános kulcsomat. Ezt általában a kliens gépen hozom létre, és vagy felmásolom vagy e-mailben elküldöm a kiszolgálóra. Johanyák Zsolt Csaba (c) 2010

Kiszolgáló konfigurálás /etc/ssh/sshd_config Port 22 (ez az alapért., de célszerű mást beállítani 1024… 49152, pl. 2222) ssh -P 2222 peter@neverland Üdvözlőszöveg, figyelmeztetés, stb. Banner /etc/issue.net Az autentikáció történhet jelszó vagy SSH kulcs alapon* Jelszó alapú letiltása: PasswordAuthentication no Nyilvános kulcs alapú: PubkeyAuthentication yes RSAAuthentication yes Banner: bejelentkezés előtt megjelenő üzenet Ha nincsenek meg a kulcsok, akkor a jelszó alapúval próbálkozik, ha az nincs megtiltva. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Konfigurálás Távoli asztal, grafikus alkalmazások, stb. engedélyezése a kapcsolaton AllowTcpForwarding yes X11Forwarding yes Mely felhasználói fiókok/csoportok használhatják AllowUsers hallgato geza Mely felhasználói fiókok/csoportok nem használhatják DenyUsers jeno istvan Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Konfigurálás ~/ssh/config Felhasználói szintű konfiguráció A konfigurációs állomány szegmensekre van osztva, minden szegmens egy hosztra/az összes hosztra vonatkozó beállításokat tartalmazza Szegmens HOST 193.56.30.11 User Xaver Compression no Cipher blowfish Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Ellenőrzés Fut-e a démon? ps -A | grep sshd Fogad-e kapcsolatot? sudo netstat --inet -lpn | grep sshd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN <PID>/sshd Próbabejelentkezés lokálisan ssh -v localhost Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Ügyfélgép Ügyfélszoftver telepítése sudo apt-get install openssh-client Kulcsok létrehozása RSA vagy DSA titkosítással ssh-keygen -t RSA|DSA Kulcsok: ~/.ssh/id_rsa.pub és ~/.ssh/id_rsa Titkos kulcsok betöltése a memóriába ssh-add -l AZ RSA és DSA közül csak az egyiket lehet választani. A kulcsok alapból id_rsa|dsa névvel keletkeznek, de más név is megadható. A kiterjesztés nélküli a titkos kulcs. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Ügyfélprogramok ssh – parancssori és grafikus (-X kapcsoló) távoli kapcsolatoknál ssh felhasznnálónév@gépnév scp – fájlok másolása gépek között. Pl. helyi gépről távoli gépre scp forráfájl felh@gépnév:/könyvtár/célfájl -r egész könyvtár másolható sftp – a kiszolgálón sftp-server kell fusson (SSH File Transfer Protocol) sftp gépnév ssh-copy-id – nyilvános kulcs átmásolása a kiszolgálóra ssh-copy-id felhasználó@gépnév Johanyák Zsolt Csaba (c) 2010

Levelezés

Johanyák Zsolt Csaba (c) 2010 Fontos protokollok SMTP - Simple Mail Transfer Protocol POP3 - Post Office Protocol IMAP - Internet Message Access Protocol HTTP Sending and Receiving Email on The Internet http://www.youtube.com/watch?v=d-ioQ3H_lfg&feature=related SMTP (Simple Mail Transfer Protocol) and Client Configuration http://www.youtube.com/watch?v=Q-xTawMm1Ug Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 SMTP - hagyományosan felhasználó terminálnál Küldő gép Várakozó sor MUA A szervezet MTA Relay MTA Várakozó sor Internet Várakozó sor Relay MTA MUA – mail user agent MDA – message delivery agent MDA B szervezet MUA Várakozó sor Fogadó gép felhasználó terminálnál Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Aktuális megoldások Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 SMTP Application-level protocol on TCP Mail system is performed by two agents. MTA(mail transfer agent): Postfix, Exim, Sendmail, Qmail, Courier MUA (mail user agent): Thunderbird, Outlook, Eudora, Evolution Communication between two MTAs uses NVT (Network Virtual Terminal) 7 bit ASCII. Commands are sent by the client to the server. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Typical message format One part generated by sender’s MTA. The other part generated by sender’s user agent. E-mail is composed of three pieces. Envelope : used by the MTAs for delivery. Header : used by the user agents. Body : the content of the message. Note : each line transferred using the DATA command must be less than 1000 bytes Received: by client.ac.kr. (4.1/SMI-4.1) id AA004303; Mon, 20, Aug 98 12:30:34 MST Message-Id: <98082033245.AA004303@client.ac.kr> From: sender@client.ac.kr (Sender) Date: Mon, 20, Aug 1998 12:30:33 -0070 Reply-To: receiver@server.ac.kr X-Phone: +1 343 342 2345 X-Mailer: Mail User’s shell(7.5.4 10/23/98) To: receiver@server.ac.kr Subject: Just testing mail. hello, this is a testing mail. bye.. generated by sender’s MTA sender’s user agent Johanyák Zsolt Csaba (c) 2010

Szerverek lekérdezése Johanyák Zsolt Csaba (c) 2010

Limitations in SMTP Only uses NVT 7 bit ASCII format How to represent other data types? No authentication mechanisms Messages are sent un-encrypted Susceptible to misuse (Spamming, faking sender address)

Solution: SMTP extensions MIME – Multipurpose Internet Mail Extensions Transforms non-ASCII data to NVT (Network Virtual Terminal) ASCII data Text Application Image Audio Video RFC 1425, 1426, 1521

MTA Client MTA Server SMTP AUTH TCP Connection Establishment Allows the server to provide features only to known users and limit others. Various authentication methods may be used (PLAIN, LOGIN, CRAM-MD5, etc.) Encryption is highly recommended if not enforced by MTA. Ex. AUTH PLAIN Simple Usage: AUTH PLAIN <id>\0<user>\0<password> Authentication string is Base64 encoded 220 Service Ready EHLO stimpy.cis.udel.edu 250 Hello stimpy.cis.udel.edu Negotiate Encryption (STARTTLS) AUTH PLAIN AGV6cmEAYg== 235 Authentication Succeeded MAIL FROM: kissel@cis.udel.edu 250 OK RCPT TO: amer@cis.udel.edu 250 OK RFC 1869, 2554, 2595

Email can be faked… HELO stimpy.eecis.udel.edu MAIL FROM: cis-dept@cis.udel.edu RCPT TO: amer@cis.udel.edu DATA From: Department Chair To: Dr. Paul Amer Subject: CISC856 Dr. Amer, By department decree all students in your CISC856 TCP/IP class are hereby to be given automatic A’s. Thank you, Department Chair . QUIT Solutions Email signatures (PGP) Sender Policy Framework (SPF)

MTAs and Mail Access Protocols The MTA delivers email to the user’s mailbox Can be complex with numerous delivery methods, routers, and ACLs Exim, Postfix, Sendmail The Mail Access Protocols are used by the users to retrieve the email from the mailbox POP3 IMAP4

Post Office Protocol v3 Simple Allows the user to obtain a list of their Emails Users can retrieve their emails Users can either delete or keep the email on their system Minimizes server resources

Internet Mail Access Protocol v4 Has more features than POP3 User can check the email header before downloading Emails can be accessed from any location Can search the email for a specific string of characters before downloading User can download parts of an email User can create, delete, or rename mailboxes on a server

Johanyák Zsolt Csaba (c) 2010 Levelező szerver Mail Transfer Agent – levelek fogadása és küldése (szerver) Postfix exim4 Levélszűrés – spam és vírus felismerés Amavis-new Spamassassin Clamav Mail Delivery Agent Dovecot Cyrus Courier Levelezési lista Mailman MTA: A Mail Transfer Agent (MTA) is the program which receives and sends out the email from your server, and is therefore the key part. The default MTA in Ubuntu is Postfix, but exim4 is also fully supported and in the main repository. Amavis-new is a wrapper that can call any number of content filtering programs for spam detection, antivirus, etc. In this howto, integration with Spamassassin and Clamav will be presented. This is a classical installation of Postfix + Amavis-new + Spamassassin + Clamav. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Postfix MTA – levelek küldése és fogadása sudo apt-get install postfix Johanyák Zsolt Csaba (c) 2010

Konfiguráció folytatás sudo dpkg-reconfigure postfix Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 További beállítások Levelek tárolásásra szolgáló könyvtár megadása TLS-t alkalmazó SASL hitelesítési mechanizmus beállítása (SMTP-AUTH) – egy hitlesítésszolgáltató által kiadott vagy "önaláírású" tanúsítvány szükséges Lehetséges SASL megvalósítások: Dovecot SASL (postfix-dovecot csomag) és Cyrus SASL Johanyák Zsolt Csaba (c) 2010

Biztonságos FTP szolgáltatás vsFTPd: kis helyigény és gyorsaság Hitelesítés: PAM+mySQL Titkosított kommunikáció: SSL (openssl csomag) sudo apt-get install vsftpd mysql-server openssl libpam-mysql Forrás: Maróti Tamás : Biztonságos FTP-szolgáltatás üzemeltetése vsftpd használatávalhttp://linuxvilag.hu/content/files/cikk/50/cikk_50_48_49.pdf Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 mySQL beállítások sudo useradd vsftpd_mysql sudo passwd vsftpd_mysql sudo mysql –u root -p mysql> CREATE DATABASE vsftpd; mysql> USE vsftpd; mysql> CREATE TABLE felhasznalok ( nev char(16) binary, jelszo char(16) binary ); mysql> INSERT INTO felhasznalok ( nev, jelszo ) values ( ‘hallgato’, password( ‘hallgato’ )); mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON vsftpd.* TO vsftpd_mysql; mysql> quit mysql -u root –p # bejelentkezünk a MySQL szerverünkre root-ként, immár jelszó használatával mysql> CREATE DATABASE vsftpd; # elkészítjük a vsftpd adatbázist mysql> USE vsftpd; # majd ki is jelöljük, mivel ezzel fogunk most dolgozni mysql> CREATE TABLE felhasznalok ( nev char(16) binary, jelszo char(16) binary ); # létrehozzuk a táblát és a mezőket mysql> INSERT INTO felhasznalok ( nev, jelszo ) values ( ‘kisspista’, password( ‘a jelszo’ )); # felvesszük az első felhasználónkat az adatbázisba mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `vsftpd`.* TO ‘vsftpd_mysql’@’localhost’ IDENTIFIED BY ‘a jelszavunk’; # egy vsftpd_mysql nevû felhasználónak megadjuk a megfelelő jogokat az adatbázisra (és létre is hozzuk egyúttal) mysql> quit Ezzel fel is készítettük rendszerünket arra, hogy a vsftpd gond nélkül információkhoz jusson az adatbázisból a továbbiakban.quit Johanyák Zsolt Csaba (c) 2010

PAM beállítása MySQL hitelesítéshez /etc/pam.d/vsftpd – töröljük a tartalmát auth required pam_mysql.so user=vsftpd_mysql passwd=hallgato host=localhost db=vsftpd table=felhasznalok usercolumn=nev passwdcolumn=jelszo crypt=2 A PAM (Pluggable Authentication Modules) egy olyan függ- vénygyûjtemény, amelyben az a legnagyszerûbb, hogy egy- séges felületet biztosít a különbözõ programoknak az azo- nosítási procedúra elvégzésére. A folyamatot végzõ szoftver csak a PAM-mal áll kapcsolatban, a PAM pedig onnan veszi az információkat, ahonnan csak akarjuk (jelen esetben pél- dául egy MySQL adatbázisból). Linuxunk eme remek szol- gáltatását használjuk például akkor is, amikor SSH-val beje- lentkezünk szerverünkre. Ilyenkor az SSH démon elküldi a PAM-nak az általunk megadott felhasználónevet és jel- szót, ami (többek közt) megvizsgálja a /etc/shadow fájl alap- ján, hogy helyes adatokat adtunk-e meg. Amennyiben igen visszajelez az SSH kiszolgálónak, hogy minden rendben, bejelentkezhetünk. Ma már a szolgáltatások legtöbbje a PAM-ot használja hitelesítésre. Ha belépünk a /etc/pam.d könyvtárba (bizonyos disztribúci- ók a /etc/pam.conf fájlt használják), akkor látni fogjuk, hogy minden egyes szolgáltatáshoz más-más beállítófájl tartozik. A vsftpd például a vsftpd nevû fájlt hozza létre alapból (ré- gebbi változatok esetén elõfordulhat, hogy mást). Tegyük ezt is biztos helyre úgy, ahogyan a cikk elején az alapértel- mezett vsftpd.conf fájlt. Egy teljesen újat fogunk írni. Adjuk ki a következõ parancsokat: Ezzel megadtuk a PAM-nak, hogy a pam_mysql modult használja az azonosításhoz. Természetesen a paraméterezés nagyon lényeges, így ügyeljünk arra, hogy helyesen ad- juk meg például azt a jelszót, amit az adatbázis elkészíté- sekor létrehoztunk annak a MySQL felhasználónak (vsftpd_mysql), aki majd hozzáférhet az adatbázishoz. Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 SSL kulcs elkészítése sudo openssl req -x509 -nodes -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem writing new private key to 'vsftpd.pem' You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:HU State or Province Name (full name) [Some-State]:Bács-Kiskun Locality Name (eg, city) []:Kecskemét Organization Name (eg, company) [Internet Widgits Pty Ltd]:KF GAMF Organizational Unit Name (eg, section) []:KSII Common Name (eg, YOUR name) []:hallgato Email Address []:. Ahhoz, hogy FTP szerverünkön biztosítsuk az SSL szolgál- tatást, szükségünk lesz egy .pem formátumú RSA kulcsra. Ezt a következõképpen tudjuk legenerálni: debian:~# openssl req -x509 -nodes -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem Miután válaszoltunk az ez után feltett kérdésekre, létre is jön a vsftpd.pem fájl ott, ahol kiadtuk a parancsot. Másol- juk át a /usr/share mappába, és állítsuk be a megfelelõ jogo- sultságokat rajta. debian:~# cp vsftpd.pem /usr/share debian:~# chmod 400 /usr/share/vsftpd.pem Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Vsftpd konfigurálása Konfig állomány: /etc/vsftpd.conf listen=YES (önálló démonként fut, nem inetd) anonymous_enable=NO (névtelen bejelentkezést tiltom) local_enable=YES (helyi felhasználók - akiket a PAM hitelesít bejelentkezhetnek) write_enable=YES (írási művelet engedélyezése) local_umask=022 anon_upload_enable=YES anon_mkdir_write_enable=YES Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Vsftpd konfigurálása # Engedélyezzük a vendég felhasználót. # Ez nagyon fontos, mivel ez aktiválja # a virtuális felhasználó-kezelést. guest_enable=YES # Beállítjuk, hogy minden bejelentkezõ felhasználót # a vsftpd_user felhasználóra mappeljen a szerver guest_username=vsftpd_user # Megadjuk a felhasználók egyéni beállításait # tartalmazó mappa helyét a fájlrendszeren user_config_dir=/usr/share/vsftpd/users # Beállítjuk, hogy a vsftpd nevû PAM beállítófájlt # használjuk az azonosítási procedúrához pam_service_name=vsftpd Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 Vsftpd konfigurálása # Beállítjuk, hogy mindenki csak a saját # könyvtárján belül mozoghasson chroot_local_user=YES # Itt adhatjuk meg az ftp root könyvtárat, # de mi most elővigyázatossági okokból az local_root=/usr/share/vsftpd/empty # Engedélyezzük az SSL támogatást ssl_enable=YES Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 # Meghatározzuk a .pem fájl helyét rsa_cert_file=/usr/share/vsftpd.pem # Kényszerítjük-e a felhasználókat, hogy # a bejelentkezési információkat SSL-el titkosítsák? force_local_logins_ssl=NO # az adatfolyamatot SSL-el titkosítsák? force_local_data_ssl=NO # Beállítjuk a megfelelő jogosultságokat # a feltöltött fájlokra.. anon_umask=022 Johanyák Zsolt Csaba (c) 2010

Johanyák Zsolt Csaba (c) 2010 sudo mkdir -p /usr/share/vsftpd/empty && chmod 500 /usr/share/vsftpd/empty sudo mkdir /usr/share/vsftpd/users useradd –d /usr/share/vsftpd/empty vsftpd_user sudo passwd vsftpd_user szükségünk lesz egy vsftpd_user nevû fel- használóra a rendszeren, egy /usr/share/vsftpd/empty, egy /usr/share/vsftpd/users, valamint egy ftp root könyvtárra (ami legyen most például a /var/www). Johanyák Zsolt Csaba (c) 2010

A felhasználók egyéni beállításai A konfigurációs fájlban megadott helyen (/usr/share/vsftpd/users) létre kell hozni egy fájlt a felhasználó nevével megegyezően sudo echo “local_root=/var/www/hallgato.hu” > /usr/share/vsftpd/users/hallgato Emlékezzünk csak vissza, az adatbázis létrehozásánál készí tettünk egy hallgato nevû felhasználót. Hogyan hozzun neki létre egyedi beállításokat, mint például, hogy hol le- gyen a home könyvtára? A mûködési elv nagyon egyszerû. A konfigurációs fájlban megadott helyen (/usr/share/vsftpd/users) létre kell hozni eg fájlt a felhasználó nevével megegyezõen, majd szépen be- leírni azokat a beállításokat, amiknél azt szeretnénk, hogy eltérjen az alapértelmezett értéktõl. Hozzuk is létre neki! Johanyák Zsolt Csaba (c) 2010