Operációsrendszerek 4.előadásfájlrendszerek 2007/2008.I.félév Dr.TörökLevente
Amaiprogram Elvárásokegyfájlrendszertől Standardfájlrendszerek: FAT,UFSfájlrendszerek Linkelés Speciálisfájlrendszerek: dev,loopback,proc,tmpfs Mount,fstab,mtab FUSE,VFS,journaling
Elsődlegesen Elvárások namespace:nevekkellehessenhivatkozniadatokra (fájlnevekkel) szabad területésfoglalt területekmanagement je (tudjukmerrevannakazadatokatárolón) transzparencia:mindenhardware tugyanúgy lehessenkezelni (nekelljenazxgyártótermékénegyfopen tmásképpen paramétereznimintazygyártóén)
Elvárások Másodlagosan: tools:eszközöklegyenekhozzáformázásra, robosztusság:nekorruptálódjon,haelmegyatáp metainformació(nevek)neromolhassanakel azadatoksorrendiségeneboruljonfel >valódisync Hozzáférés/jogosultságszabályozása(rwxrwx...) fragmenationpolicy:legyenmódarra,hogyazadatok fregmentációjátcsökkentenilehessen. cache:legalábbolvasásralegyencache
Egyfile rendszerszervezése Hagyományosanhierarchikusformábanszoktukafájlokattárolni: unix oknálminden(!)egyfájlrendszerrésze awindows oknálléteznekmeghajtók
Filerendszer:hierarchikus Aunix oknálafájlrendszerszervezésére vannakerőskonvenciók Akérdés:hogyvalósítsukeztmegpl.awinchfelületén?
Particióstábla Adiszkfelülete MBR 1.particio 2.particio Példa1:FATpartició Boot record FileAllocationTable File ok,jegyzekekazadatterületen
FAT Freespacemanagement1. (folytonosfoglalás?) 1) 2)rmDF 3) Konklúzió: Lehetetlenaztbiztosítani,hogyaaszabadhelyekmikéntafile okmagukis mindigegyetlenhelyrekerüljenekadiskfelületén.ezértpl.láncoltlistátszervezünkbelőlük.
FAT Freespacemanagement2 (láncoltlista) EzmagaaFAT
FAT Freespacemanagement3. (ugyanezkiterítveadiszken) FATbejegyzés sorszáma FATbejegyzéstartalma EndoffileA EndoffileB FAT:Aholvanpointerottfoglalt,aholnincs(0)ottszabad. ( 1)afájlutolsóblock jáhoztartozófatbejegyzés.
Egyfilebelsőszerkezete Adirectory,mint fájlelsőblokkja: Afájlelsőblokkja: Fejléc Fejléc file1.txt0x234 file2.txt0x4344 Afájltartalma Adirectory bantalálhatófile oknevei Ugyanezenfájlelsőfizikaiblokkjánakcíme
Egyfájlfejléce. DirvagyFile hiddenvagysem Jegyezdmeg: Afájlfejléceutánkezdődikafájltartalma Adirectoryegyolyanspeciálisfile
AFATkülönbözőverziói
FAT Opsys:DOS...WindowsME igbezárólagcsak eztafilerendszertismerte. Pro: Egyszerű Fixméretűadminisztrációsterület Con: AzegészFATnekamemóriábankelllenniea működéshez
UnixFileSystem UFS afájlblokk jainak Rendszerbetöltő megtalálhatóságátleíró adatszerkezet. Diszkgeometriaiadatok Aszabadblokkoklistaja Adatterület
Freespacemanagement
Az ls ali parancs Arootkonyvtarmindiga 2 esi node bantalalhato Filehossza I nodeszam Adirectory bancsakafile oknevei ési nodeindexeitárolódnak.
Egymásikpélda: /usr/ast/mbox
Fizikai block címek Azi node szerepe Indexekazi nodetáblában Azinode okrasokszorvanszükség ezértmindigamemóriábanvannak, viszontcachemechanizmus biztosítja,hogyszinkronban legyenalemezentalálhatóval. Ezrészeametainformációk konzisztenciájának.
Sokszintűi nodetáblázat. Mittegyünkhahosszúazi node oklistája? Egyfátszervezzükazadatokból. Aznode okimmáronnemcsakfizikaiblokkokrahanemtovábbii node okraismutathatnak.
(Hard)linkelés Célja: Duplikálásnélkülafájlrendszertöbbpontjánis elérhetővétenniugyanaztafile t. Hardlink: Alinkdirectory jábaegyugyanolyanbejegyzéskerül, mintazcéldirectory jábanvolt. /home/hallgato/dir1 Linkeléselőtt /home/hallago/dir1/file /home/hallgato/dir2 Linkelés után
Példa lev@red:~/dir1$ls li total4 148038 rw r r 1levlev532007 04 3021:02file lev@red:~/dir1$ls li~/dir2 total0 lev@red:~/dir1$lnfile~/dir2 lev@red:~/dir1$ls li~/dir2 total4 148038 rw r r 2levlev532007 04 3021:02file lev@red:~/dir1$rmfile lev@red:~/dir1$ls li total0 lev@red:~/dir1$ls li~/dir2 total4 148038 rw r r 1levlev532007 04 3021:02file lev@red:~/dir1$ Konkúzió:mindakétdirectory hozugyanúgytartozikahard linkeltfile!
Softlinkelés Softlink:egyspeciálisfájlkészül,amelyneka típusaazhogysoftlinkéstartalmaacélfile. Specfájl attirubutum: softlink Nemlétezőfájlramutat!
Speciálisfilerendszerek:/dev Nefelejtsükel:aunix okbanmindenfile.plahardware einkneveiis. link Character baseddevice directory majorésminorszámok:akernelbenazonosítanakegydevice t
Speciálisfilerendszerek:/dev Blockdevice:winchester,cd,szalag,stb. Blockdevice
/devkonvenciók /dev/hda1 ATA/IDEalapudevice:winchester SCSIvagyemuláltSCSI(plCD)alapúdevice:winchester /dev/sda1 Abetűkértelmezése: s/h >ATA/SCSI a/b/c/d >adevicesorszáma 1/2/3/4 >partíciósorszáma
/devszokások /dev/cdrom,/dev/dvdrw,/dev/dvd:egylinkamegfelelő/dev/hd... ra /dev/tty:sorosport /dev/modem:egylink /dev/loop0..n:loopbackdevice ok /dev/dsp:hangkártya /dev/mixer:hangkeverőegység /dev/zero >korlátlanullehet semmit olvasnibelőle /dev/null >bármitírunkbeleelnyeli. /dev/urandom:randomértéketlehetolvasnibelőle
/devfilerendszer Céljaaprogramozóelőlelrejteniakülönbözőhardware ek különbözőségeinketprogramozását.(virtualitásv. transzparencia) Ésmégmirejó? mindenwinchesterugyanúgynézzenkiprogramozói szempontból.plnekelljenegywd nmásképpenfájl megnyitni,mintegysamsung on. Pl.awinchesterblock jaitszekvenciálisánkitudjukolvasni, visszatudjukirniegymentéssorán.(nézdmegaman ban addparancsot!) ddif=/dev/hda1of=/home/hallgato/backup
Mount Hogyláthatóegyaz/devalatttalálhatódevice tartalma? mount typevfat/dev/hda1/media/windows vagy mount typeext2/dev/hda2/root
Külsőegységekelérése Mountpoint
Milyenmount olásokélneka rendszerben? Nézzükmeghogymilyenmount olásokélneka rendszerünkbenaz/etc/mtabfile tkiolvasásával: Azoszlopokjelentése: Device,mount point,filerendszertipusa,egyéb opciók,mount olásisorrend
Nemlehetmegspórolniasok paramétert? De.A/etc/fstaberrevaló.Ebbeírjukbelea paramétereketplígy: ezekutánelégcsakegy mount/media/ipod otirni.
Loopbackdevice Létrehozhatunkolyanfile t,amiugyviselkedikmint egyegydevice.pl.egydd vellementettdisktartalmat isellehetígyérni.desegítségévelcsinálhatunk titkosítottfile okatis. Diskimage Pl: /dev/loop1 mount tvfat/dev/loop1/home/hallgato/backup ls l/home/hallgato/backup >ittlatjukmagatalementett filerendszert
Loopbackdevicepélda Specialis üres device root@red:/home/lev#ddif=/dev/zeroof=vfat_filecount=1000 1000+0recordsin 1000+0recordsout 512000bytes(512kB)copied,0.008633seconds,59.3MB/s root@red:/home/lev#losetup/dev/loop1vfat_file root@red:/home/lev#mkfs.vfat/dev/loop1 mkfs.vfat2.11(12mar2005) Loopdevicedoesnotmatchafloppysize,usingdefaulthdparams root@red:/home/lev#mkdirmount_point root@red:/home/lev#mount/dev/loop1mount_point root@red:/home/lev#ls lmount_point/ root@red:/home/lev#more/etc/mtab greppoint /dev/loop1/home/lev/mount_pointvfatrw00 formázás
Speciálisfilerendszerek procfsaláazegyesprocesszekéletérőlésarendszerről kaphatunkmonitorjellegűinformációkat.pl.aprocesszor hőmérsékletrőlis.mountpoint ja:/proc tmpfsegygyorscache elésűhely,hamegszűnika processz,akibirotokoljafile t(solaris ban),delegkésőbba boot kor(linux ban)törlődik.mountpointja:/tmp Windowsregistry:memóriamappedfájlrendszer. Egyszerrerendszermonitor(mintaprocfs)és konfigurációs/inifile ok(mintaz/etclinuxban).
FUSEfilesysteminuserspace Mindenfilerendszerimplementációjaegykernelmodulban történik,kivéveafusemodule oké. Pro: Lehetmagasszintűnyelvbenisfilerendszertírni.(pl perl),mertnemkellnagyongyorsnaklennie. Biztonságos,merthapl.végtelenciklusbakerülafájl rendszer,nemrántjamagávalazegészrendszert Con: Viszonylaglassú Komplikaltkerneltámogatáskellhozza.
FUSE helloworld szerkezete Képzeljükel,hogyegyFUSE valimplementáltfile rendszerenkiadunkegyls l parancsot virtuálisfile rendszer.ezegyinterfacecsupán.mindenkieztimplementálja. Pl.aprocfsisvagyatmpfsis,deaFUSEmoduleis,avagyaext3ésazNFSis.
FUSEpéldák Gmailfájlsystem:Afelhasználónként3Gb nyi levelesládát,amelyetagooglebiztosítmindenkiszámára, lehetfelhasznánimintegyönállófájlrendszer.perl ben írták. SSHFS:sshsegítségévelvalósítmegegyfájlrendszert. EncFS:Encryptedvirtualfilesystem Titkosítottloopbackfilesystem.Énegyilyenbenfile ba helyezettfilerendszerbentárolomapassword jeimet, arraazeshetőségrehaellopnákalaptopomat.
FUSEpéldák2. SMBforFuse:windowsnetworkelérés. LoggedFS:Mindenfájloperációtloggolnilehet segítségévelegymásikfájlrendszerre. Debuggolásokatlehetsegítségévelcsinálni.
Virtuálisfájlrendszer Többjelentéstistakar: Akernelbenegyuniverzálisinterface re(dev, proc,nfs,stb...) Auserspace enalkalmazásszintűegyfájl rendszerillúziójánakmegvalósítására.lehetővé teszi,hogyazadottalkalmazásbanugyanúgy kezeljünkentitásokat(fájlokat,könyvtárakat)mintha azokhelyientitások(fájlok,könyvtárak)lennének.
UserspaceVFS: midnightcommander BillentyűzetrőlazF9,Rightpanel,Shelllinkmenükkiválasztásávalérhetőel.
UserspaceVFS:konqueror Ezalinuxegyiklegnépszerűbbfájlmanagere. azstfpprotokolpontolyanmintazsshfs.
NFS:networkfilesystem Afelhasználófelőlnézveegyfájlrendszer,amelya VFS enkeresztülbiztosítjaahelyifile rendszer létezésének illúzióját egytávolifájlrendszerről. Szükebbértelemben: Asunáltalfile rendszerrőlvanszóolyasmimintaz sshfscsakeznemtitkosisított. TágabbértelembenazonbanazNFSfelöleliazösszes hálózatifájlrendszertplazösszesfusemodule tis.
Fájlrendszergyorsítások Naplózó(journaling)fájlrendszer. Sokkisírásegylassúeszközregyakranvezethet versenyhelyzethez,aminagyonlelassítjaaműködést. Helyetteegy napló baírjaakernel,hogymitkellett volnacsinálni,ésmajdhaidejeleszakkorupdate elia winchestertartalmát Pro:gyorsésviszonylagkonzisztensmaradawinch tartalmaváratlanrendszerleállásesetén Con:komplikáltmegvalósítás Példa:ReiserFS,ext3,(sun)ZFS
Adatbiztonság Fajtái: Védelemazilletéktelentől: Autentikációskérdések Szolgáltatások,alkalmazásokonkeresztülbetörések Arendszerfelhasználóinakjogosultságainakkérdése: (CL,ACL) Védelemarendszerkomponensek meghibásodásaellen. Backupstratégiák Raidsystems
Autentikáció PasswordAuthenticationModule(PAM): Feladat:ütköztetniegyuseráltalbeírtjelszóta rendszerbenegyuser hezletároltjelszóval. Stratégia:arendszermagaselegyenképes megmondani,hogymiavalódijelszó,deellenőrizni tudja,hogyamitbeírtakazmegfelel eavalódi jelszónak. /etc/passwdfájl /etc/shadow PAMdeamon
PAM 2.Loginname 3.sikeres/sikertelen 1./etc/shadow, /etc/passwd Login PAM deamon password
/etc/passwd root@red:/home/lev#more/etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh syslog:x:101:102::/home/syslog:/bin/false klog:x:102:103::/home/klog:/bin/false cupsys:x:105:109::/home/cupsys:/bin/false gdm:x:108:113:gnomedisplaymanager:/var/lib/gdm:/bin/false lev:x:1000:1000:leventetorok,,,:/home/lev:/bin/bash sshd:x:109:65534:,,,,:/var/run/sshd:/usr/sbin/nologin ntp:x:110:117::/home/ntp:/bin/false Oszlopai:Loginname:passwdhelye:uid:gid: username,stb:homedirectory:defaultshell
/etc/shadow Apasswdhelye:korábbanitttároltáka passwd telkódoltformában,demivelez mindenkiáltalolvashatófile,megváltozottés egycsakarootáltalolvashatófile bana shadow bankapotthelyet.
Biztonságimodellek CL:CapabilityList(képességilisták) Mindenerőforráshozfelsoroljuk,hogymelycsoportoknak milyenhozzáférésükvan(aunixilyenalapvetően) pl.file1: rwxr xr x< tulajdonosrwx,csoport:r x,mindenki más Accesscontrollists(jogosultságilisták) Megadjukmindencsoporthoz,hogymihezférhethozzá (újabbanerreisvanlehetőség). pl.csoport1:nyomtató1,cpuprioritás5,mem:4% csoport2:floppy,nyomtató2, Házifeladat:mangetfacl,mansetfacl
Ellenőrzőkérdések MilyenkulonbsegekvannakaFATesazUFSkozott? Hogyan"emlékezik"aFATesazUFSaszabadterületekre? MiazMBR? Miaparticióstábla? MitartalmazaFATesetenegydirectorybejegyzes? Mivanasuperblock ban? Mittartalmazegyi nodeesmitegydirectorybejegyzés? Miakülönbségasoftésahardlinkközött? Hogyantudhatjukmegegyfile ról,hogyazsoft/hardlink e? Miakülönbségegysorosport(tty0)ésegyhdd(sda1)/devbejegyzése között?
Ellenőrzőkérdések Miaz/etc/fstabesaz/etc/mtabfunkciója? Írjonpeldátegyfloppymount olasaraesunmount olasara! Írjonpéldátegyloopbackdevicehasználatra! Miaprocfsésamiatmpfs,miawinregistry? MiaFUSE?Miértjó?Miértrossz?Írjonlegalábbegypéldátrá. Miagmailfilesystemésasshfs? Milyenjelentéseivannakavirtuálisfilerendszernek? Mivana/etc/passwd benésmiindokoltaa/etc/shadowfile használatát? MiaCLésmiazACL?