Unix failų sistema
5 (100%) 1 vote

Unix failų sistema

SKYRIUS 4 UNIX Failų Sistema

4.1 – Trys (pagrindiniai) Unix failų tipai 4-2

4.2 – Tekstiniai ir dvejetainiai failai, bitai ir baitai 4-4

4.3 – Medžio pavidalo failų sistema 4-5

4.4 – BSD standartiniai katalogai ir jų turinys 4-7

4.5 – System V Unix’o

Standartinių katalogų paskirtis 4-10

4.6 – Katalogo

/dev specialių failų naudojimas: tty 4-14

4.7 Namų katalogai 4-15

4.1 Trys (pagrindiniai) Unix failų tipai

Kas yra failas?

Failo supratimas Unix’e yra žymiai platesnis: failas yra bet kuris šaltinis iš kurio duomenys gali būti skaitomi, arba bet kuris „gavėjas“, galintis priimti duomenis. Tokiu būdu, terminas failas nurodo ne tik duomenų saugyklą diskinio failo pavidale, bet kartu reiškia ir bet kurį fizinį įtaisą. Failas yra ir klaviatūra (įvedimo šaltinis), ir displėjus (atvaizdavimo įtaisas), ir kiekvienas spausdintuvas.

Unix’e yra trys pagrindiniai failų tipai: paprastieji failai, katalogai ir specialūs failai.

PAPRASTIEJI failai yra tai, ką mes suprantame failu siaurąja prasme. Paprastąjį failą sudaro diske (rečiau juostoje) saugomi duomenys. Tai failai, su kuriais dažniausiai tenka dirbti. Pvz., kai jūs teksto redaktoriumi tvarkote dokumentą, tai jūs naudojate du paprastuosius failus: dokumento ir redaktoriaus programos.

Kitas failo tipas – KATALOGAS. Katalogas tai failas, kuriame saugoma kitų failų pasiekimui reikalinga informacija. Tik konceptualiai į katalogą įeina kiti failai. Vartotojas nekuria katalogų ir netalpina juose failų. Jis tik naudoja komandas, kurios paveda tuos darbus Unix’ui. Jeigu jūs pažiūrėsite į katalogo ‘vidų’, tai pamatysite ‘miglotą’ informaciją. Geriausias būdas suprasti katalogo sąvoką – įsivaizduoti, kad tai yra rodyklių į kitus failus visuma. Katalogas gali turėti rodykles į kitus katalogus. Tai leidžia organizuoti failus į hierarchinę sistemą. Kaip matysime vėliau, Unix failų sistema yra organizuota kaip didžiulė failų ir katalogų hierarchija.

Paskutinis failų tipas – tai SPECIALŪS, arba PRIETAISŲ failai, kurie yra vidinė fizinių prietaisų reprezentacija. Pvz., klaviatūra, displėjus, spausdintuvas, disko tvarkyklė – visi jūsų sistemos prietaisai gali būti pasiekiami kaip failai. Pasiusti duomenis į ekraną, ar į kitą terminalą, galima paprasčiausiai juos rašant į failą, kuris reprezentuoja atitinkamą prietaisą.

Pvz.,

Unix’e yra tokie failų tipai:

Tipas Žymėjimas

Regulai (-)

Directory (d)

Hard Links (-)

Soft Links (l)

Block special (b)

Character special (c)

Socket (s)

Named pipe (p)

Kiekvienas sistemos failas turi taip vadinamą inode bloką, kuriame yra informacija apie

failą. Inode blokas turi tokią struktūrą: —struct stat {

dev_t st_dev; ino_t st_ino; u_short st_mode; short st_nlink; short st_uid; short st_gid; dev_t st_rdev; device */

off_t st_size;

time_t st_atime;

int st_sparel;

time_t st_mtime;

int st_spare2;

time_t st_ctime;

int st_spare3;

long st_blksize;

long st_blocks;

long st_spare4;

u_long st_gennum;

};



/* device inode resides on */

/* this inode‘s number */

/* protection */

/* number or hard links to the file */

/* user-id of owner */

/* group-id of owner */

/* the device type, for inode that is

/* total size of file */

/* file last access time */

/* file last modify time */

/* file last status change time */

/* optimal blocksize for file system i/o ops */

/* actual number of blocks allocated */

/* file generation number */

Pagrindiniai šios struktūtos laukai st_mode (the permission bits), st_uid – UID, st_gid – GID, ir st_*time (assorted time fields).

Failo laikai

Unix įrašo į inode tris failo laikus, kurie vadinami ctime, mtime, ir atime.

ctime rodo paskutinį inode bloko keitimo laiką; mtime rodo paskutinį failo modifikavimo laiką; atime rodo paskutinį kreipimosi į failą laiką.

Inod‘o ctime kinta visuomet, kai į failą yra rašoma, arba kinta jo apsaugos ar nuosavybės bitai. Paprastai ctime geriau pažymi failo modifikavimą, negu laukas mtime.

Failo laikai yra svarbūs ir įvairiais būdais naudojami sistemos administravimo metu. Pvz., darant diskų kopijas.

4.2 Tekstiniai ir dvejetainiai failai, bitai ir baitai

Paprasti failai gali būti labai įvairūs, kadangi labai įvairūs gali būti juose saugomi duomenys. Tačiau, plačiąja prasme, paprastus failus galima skirti į dvi grupes: tekstinius failus ir dvejetainius failus.

TEKSTINIAI failai yra paprasti failai, kuriuose saugomi tik ASCII simboliai: duomenys, kuriuos galima surinkti klaviatūros pagalba. Trumpai tariant, skirtingus ASCII simbolius reprezentuoja 128 skirtingi kodai: didžiosios ir mažosios raidės, skaičiai, tarpo simbolis, tabuliacijos simbolis, skyrikliai, o taip pat valdymo simboliai. Praktinė taisyklė: jei paprastame faile saugomi duomenys, kuriuos jūs galite suprasti ir tvarkyti teksto redaktoriaus pagalba, tai tas failas yra tekstinis. Priešingu atveju yra dvejetainis failas.

Tekstinio failo kiekvienas ASCII kodas saugomas viename baite. Tokiu būdu failas, turintis 1000 simbolių, yra 1000-ties baitų ilgio. Griežtai kalbant, ASCII kodas naudoja septynis bitus vienam simboliui (baite yra 8 bitai). Kiekvieno baito aštuntas bitas (kairysis) visuomet turi nulinę reikšmę. Apibendrinant galima pasakyti, kad tekstinis failas saugo ASCII simbolius ir
naudoja kiekvienam simboliui septynis baito bitus. Dvejetainis failas saugo duomenis, kurių kodams naudojami visi aštuoni kiekvieno baito bitai.

Katalogai ir Pakatalogiai

Failų organizavimui į hierarchinę sistemą naudojami katalogai. Mes grupuojame failus į grupes ir saugome kiekvieną grupę atskirame kataloge. Kadangi katalogas taip pat yra failas, tai kataloge gali būti saugomi kiti katalogai.

4.3 Medžio pavidalo failų sistema

Unix sistemą sudaro daugybė failų, kurie organizuojami į tam tikrą struktūrą, naudojant katalogus ir pakatalogius. Unix failų sistema pagrįsta vienu pagrindiniu katalogu, vadinamu šakniniu katalogu (ROOT DIRECTORY). Šakninis katalogas yra protėvis visų kitų sistemos katalogų.

Pateiktoje schemoje parodytas Unix failų sistemos turinys. Tokius katalogus naudoja Berkeley Unix pagrindu sukurtos sistemos. System V, arba kitu pagrindu sudarytos sistemos gali nežymiai skirtis nuo čia pateiktos. Tai ką jūs matote yra tik nuogas skeletas. Visos Unix sistemos turės ir kitus, sistemų administratorių sukurtus katalogus.

4.3 Medžio pavidalo failų sistema

Unix sistemą sudaro daugybė failų, kurie organizuojami į tam tikrą struktūrą, naudojant katalogus ir pakatalogius. Unix failų sistema remiasi viena pagrindiniu katalogu, vadinamu ROOT DIRECTORY (šakninis katalogas). Šakninis katalogas yra protėvis visų kitų sistemos katalogų.

Pateiktoje schemoje parodytas Unix failų sistemos turinys. Tokius katalogus naudoja Berkeley Unix pagrindu sukurtos sistemos. System V, arba kitu pagrindu sudarytos sistemos gali nežymiai skirtis nuo čia pateiktos. Tai ką jūs matote yra tik nuogas skeletas. Visos Unix sistemos turės ir kitus, sistemų menedžerių sukurtus katalogus.

Nesunku pastebėti, kad Unix failų sistema panaši į apverstą medį. Žodis root buvo parinktas tam, kad pabrėžti pagrindinę medžio liemens dalį. Kadangi šakninio katalogo vaidmuo yra labai svarbus, tai šis vardas dažnai turi būti naudojamas komandose. Todėl buvo įvestas žodžio root sutrumpinimas / (slash).

Pvz., ls

komanda parodys visus specifikuoto katalogo failų vardus. Visus šakninio katalogo failus parodo komanda

ls /

Šaknyje esantis failas, arba katalogas nurodomi rašant / prieš atitinkamą vardą. Pav., formalus etc katalogo vardas yra /etc. Katalogas, arba failas, esantis kitame kataloge, nurodomi atskiriant vardus simboliu /. Pav., kataloge /etc yra passwd failas. Formalus šio failo vardas yra /etc/passwd. Panašiai, jeigu /usr kataloge yra kitas katalogas dict, o jame yra failas words, tai formalus šio failo vardas yra /usr/dict/words.

Simbolis / turi dvi skirtingas reikšmes. Failo vardo pradžioje jis reiškia šakninį katalogą. Failo vardo viduryje jis atlieka skyriklio vaidmenį.

Gerai supratus pateiktą Unix katalogų medį, galima pastebėti, kad, visi katalogai, išskyrus šakninį (/), priklauso kitam katalogui. Tokiu būdu, visi katalogai, išskyrus šakninį, yra pakatalogiai. Paprastumo dėlei mes juos vadiname katalogais.

Root kataloge yra trys, etc, tmp, ir usr vardais pavadinti pakatalogiai. Tokie vardai buvo parinkti todėl, kad jie yra trumpi ir lengvai surenkami klaviatūroje. Tačiau jie sunkiai ištariami. Todėl susitarta etc vadinti etcetera, tmp – temp, o usr – user. Pav., failo / et c/pas swd vardas tariamas slash etcetera slash password.

Root katalogas

Tai visos sistemos pagrindas. Paprastai jame talpinami tik kiti katalogai. Tačiau šaknyje būna vienas svarbus failas: programa, kuri vadinama Unix branduoliu (kernel). Berkeley Unix sistemose ši programa vadinama vmunix (virtual memory Unix). Unix sistemos menedžeris prisijungia prie sistemos root vardu. Dabar yra aiški šito vardo kilmė: root katalogas yra aukščiausiame failų sistemos lygyje.

4.4 BSD standartiniai katalogai ir jų turinys

Kelias Turinys

/

/bin arba /sbin

/dev

/etc

/lib

/tmp

/sys

/proc

/stand

/usr/bin

/usr/games

/usr/include

/usr/5bin

/usr/etc

/usr/sbin

/usr/lib

/usr/man

/var/adm

/var/spool

/var/tmp

/usr/usb

/usr/local

/usr/local/adm

/usr/local/bin

/usr/local/etc

/usr/local/lib

/usr/local/sbin

/usr/local/src

/kernel

‘root’ katalogas

minimaliam sistemos funkcionavimui reikalingos komandos

terminalus, diskus, modemus, etc. reprezentuojantys įtaisų failai

sistemos startavimo ir konfigūracijos failai

C kompiliatoriaus bibliotekos

laikini failai, kurie išnyksta perkrovus sistemą

branduolio generavimo darbinė sritis, konfigūracijos failai (BSD)

visų vykdomų procesų atvaizdai (naujesnėse sistemose)

Stand-alone utilitos, diskų formatavimo priemonės, etc.

vykdomieji failai

žaidimai ir kt. (daugelis jų nelabai įdomūs)

C programų h-failai

System V komandų analogai skirti BSD sistemoms

sistemos palaikymo komandos

papildomos sistemos palaikymo komandos

standartinių UNIX programų palaikymo failai

cOn-line manual’ puslapiai

apskaitos failai, resusų naudojimo įrašai

printerių ‘spooling’ katalogai, UUCP, mail, etc.

laikina sritis (filai neišnyksta po sistemos perkrovimo)

Berkeley utilitos ir programos

lokali programinė įranga (jūsų instaliuoti paketai)

lokalūs apskaitos ir šabloniniai failai

lokalūs vykdomieji failai

lokalūs sistemos konfiguravimo failai ir komandos

lokalūs pagalbiniai failai

lokalios sistemos palaikymo komandos

/usr/local/* išeities kodas

failai, kurie reikalingi branduolio užkrovimui (Solaris)

kataloge saugomos bazinės programos, iš kurių susideda pati Unix sistema. Čia galima rasti daugelį Unix komandų, t.y. failų, kurie vykdomi pagal atitinkamą komandą. Vardas bin gali būti traktuojamas dvejopai: daugelis failų yra dvejetainiai (binary); tai programų saugykla;

/dev kataloge yra specialūs failai, kurie reprezentuoja fizinius įtaisus. Paprastai vartotojai nenaudoja šių failų tiesiogiai. Tačiau norint taip daryti – Unix sistema yra atvira (vėliau bus pateiktas pavyzdys).

/etc katalogas skirtas sistemos administratoriui. Čia saugomi failai ir programos, reikalingi sistemos valdymui. Plačiausiai žinomas yra sistemos slaptažodžių failas passwd. Kitas žinomas failas yra temcap (kitose sistemose tenninfo), t.y. visų terminalų, kuriuos gali naudoti Unix, techninių apršymų duomenų bazė.

/lib kataloge yra programuotojų naudojamų programų biblioteka.

/lost+found katalogą naudoja speciali programa, kuri tikrina Unix failų sistemą. Kai ši programa randa failą, kuris nepriklauso jokiam katalogui (avarinis atvejis), tas failas talpinamas į llost+found katalogą. Tokiu būdu sistemos administratorius gali priimti tolimesnius sprendimus.

/sys kataloge yra taip vadinami sistemos išeities failai. Jie gali dominti sistemos administratorių ir programuotojus.

/tmp katalogas – tai laikina saugykla.Kiekvienas gali laikinai talpinti čia savo failus, tačiau laikas-nuo-laiko visi failai šalinami automatiškai. Paprastai čia talpinami laikini failai, kurie reikalingi programos vykdymui. Pav., naudojant vi redaktorių, redaguojamo failo kopija laikoma l tmp kataloge.

/usr kataloge yra visa eilė svarbių pakatalogių. Tai vienas iš svarbiausių šaknies pakatalogių. Jis pats suskirstytas į visą eilę pakatalogių.

/usr/bin katalogas, kaip ir jo bendravardis šaknyje, skirta vykdomųjų failų laikymui. /usr/dict – tai Unix žodyno naudojami failai. Faktiškai – tai žodžių sąrašas. /usr/games – tai žaidimų ir kitų atrakcijų katalogas.

/usr/include katalogas saugo taip vadinamus C programavimo kalbos ‘include’ (arba £h’) failus, kuriuos naudoja programuotojai įvairiose programose kompiliavimo metu.

/usr/lib – tai analogiška /lib’ui biblioteka, svarbi tik programuotojams.

/usr/local – tai sistemos administratoriaus patogumui skirtas katalogas, kuriame gali būti saugomos vietinės reikšmės programos ir dokumentacija.

/usr/man katalogas turi visą eilę pakatalogių ir failų, kuriuos naudoja „Unix on-line manual“, t.y. operatyvi chelp’ tipo dokumentacijos sistema.

/usr/spool – pakelės stotelės vaidmenį atliekantis katalogas. Čia laikomi duomenys, kurie buvo kur nors pasiusti. Pav., kai jūs spausdinate failą, tai tas failas, kartu su sistemine informacija laikomas šiame kataloge. Failas laikomas čia iki tol, kol galės būti atspausdintas. Lygiai taip pat čia patenka ir pasiusti elektroniniu paštu laiškai, kol jie iš tikrųjų ‘palieka’ kompiuterį.

/usr/src kataloge saugomas jūsų Unix sistemos išeities kodas. Jeigu jūsų Unix yra licenzijuotas (galima pirkti pačią Unix sistemą,arba jos licenziją), tai čia saugomas išeities kodas, leidžiantis „žvilgterėti j sistemos vidų“, daryti pakeitimus ir perkompiliuoti sistemą.

/usr/ucb – čia laikomos programos, kurios buvo sukurtos Kompiuterių mokslo departamente, University of California at Berkeley.

4.5 System V Unix’o Standartinių katalogų paskirtis

/dev

The device directory contains all files that represent peripheral devices. Subdirectories of /dev hold the special files for the access modes of a given type of device.

/dev/dsk

The disk directory holds the device files for disks.

/dev/mt

This directory contains the device files for tapė drives.

/dev/term

This directory holds the device files for terminais.

/dev/pts

This directory contains the device files for pseudo-terminals. A pseudo-terminal mimics a a terminai although rather than being connected to an actual terminai it iš connected to a process. Pseudo-terminals are used by networking programs such aš rlogin.

/dev/ŠA

This directory iš now obselete.

/etc

The etc directory holds system configuration files aš well aš some administrative files.

/etc/bkup

This directory iš used to store dump dates.

/etc/default

The default directory holds files containing the default values for various commands.

/etc/init.d

This directory holds shell scripts that are used to transition between run levels in the

system. These scripts are run when the system iš booted and brought into multi-user

mode.

/etc/rc.d

This directory contains all the files and commands associated with all the run levels for the system. rcO.d, rcl.d, rc2.d, and rcS.d all link back to this file for information.

/etc/rcO.d

Files in this directory are associated with run level O, which iš actually a powered down

statė.

/etc/rcl.d

This directory holds files that are executed to bring the system to run level l, or single-

user mode. This run level iš also referred to aš „s“ or „S“.

/etc/rc2.d

This directory contains files used to transition the system to run level 2. Level 2 iš also

known aš muliuser mode and iš the normai mode for the system.

/etc/rc3.d

This directory contains files used to movė the system to run level 3.

/etc/skel

This directory contains Standard initialization files for the system.

/sbin

The sbin directory contains system administration files that are needed during the
process.

/home

Users home directories are typically subdirectories of the /home directory.

/mnt

Mount directory. An empty directory conventionally designed for temporarily mounting disk partitions.

/tmp

Temporary directory, available to all users aš a scratch directory. The system administrator should see that all the files in this directory are deleted occasionally. Normally, one of the UNIX startup scripts will clear /tmp.

/usr

This directory typically contains files that are used by the system, aš well aš subdirectories containing files that need to be shared likę man pages and user commands.

/usr/bin

Typically holds Standard Unix utility programs. Under BSD this directory iš called /bin.

/usr/sbin

Likę /sbin this directory contains Utilities for system administration. The Utilities found

in /usr/sbin are usually needed after the system iš up rather than at boot time.

/usr/games

This directory contains the Standard UNIX games collection. Some sites choose to remove this directory.

/usr/include

Include files. This directory contains C-language header files which define the C programmer’s interface to Standard system features and program libraries. For example, it contains the file stdio.h, which defines the user’s interface to the C Standard I/O library. The directory /usr/include/sys contains operating system include files.

/usr/lib

Library directory, for public library files. Among other things, this directory contains the Standard C libraries for mathematics and I/O. This directory may also contain certain configuration files for UNIX services such aš mail. Finally, subdirectories of /usr/lib contain command and configuration files for various Standard UNIX facilities likę uucp and lex and optional softvvare products.

/usr/share

The share directory contains files that are meant to be shared between systems.

/usr/share/man

Manual pages directory. This directory contains the online version of the UNIX reference manuals. It iš divided into subdirectories for each section of the manual. Under BSD and some System V implementations, /usr/man contains several man subdirectories holding the raw source for the manual pages in that section and the cat subdirectories storing the processed versions. The latter can be cleared to save space; they will be filled only aš manual pages are actually accessed. If present, the file /usr/man/whatis contains a database used by the whatis and apropos (man -k) commands.

/usr/ucb

A directory that contains Standard UNIX commands originally developed at the University of California, Berkeley. This directory sometimes includes subdirectories for seperate file types (bin for binaries, lib for libraries, and so on).

/var

This directory holds spooling directories that are kept in /usr/spool under BSD.

/var/adm

Administrative directory (home directory of the special adm user). This directory contains the UNIX accounting files and various system logging files.

/var/cron

This directory contains files relevant to the cron daemon.

4.6 Katalogo /dev specialių failų naudojimas: tty

Visi specialūs failai saugomi /dev kataloge. Pamatyti šių failų vardus leidžia komanda

Iš /dev

Šiuos failus naudoja sisteminės programos, tačiau apie keletą jų verta žinoti plačiau.

Visi failai, kurie prasideda „tty“, reprezentuoja terminalus. Pav., terminalą ttyOl reprezentuoja spec. failas /dev/ttyOl. Jeigu jūs rašysite informaciją į šį failą, ta informacija bus perduota į atitinkamo terminalo ekraną.

U

žduotis. Komanda who leidžia sužinoti, kokį terminalą naudoja jūsų kolega. Jusgalite naudoti cp (copy) komandą, kuri kopijuoja vieną failą į kitą. Jeigu failescary yra pranešimas kolegai, tai tą pranešimą galite perduoti į kolegos terminaloekraną komanda cp scary /dev/ttyOl. Be to jūs galite sužinoti jūsų terminaląreprezentuojančio spec. failo vardą komanda tty. Rezultatas: ?

Visuomet galima naudoti /dev/tty failą, kaip jūsų terminalo sinonimą. Jei programa rašo duomenis į failą, tai vietoje failo vardo nurodžius /dev/tty, duomenys bus išvedami į jūsų ekraną.

Naudingiausias /dev katalogo failas yra nuli. Sis failas reprezentuoja neegzistuojantį įtaisą. Skaitant iš /dev/null įtaiso, ‘nieko’ nenuskaitoma; rašant į /dev/null, rašymas ‘atšaukiamas’. Pav., jeigu programa updatef iles atnaujina duomenis tam tikruose failuose ir darbo protokolą išduoda į ekraną, tai pagal komandą updatef iles > /dev/null ši programa atliks savo ‘darbą’, tačiau protokolo išdavimas bus ignoruotas.

4.7 Namų katalogai

Unix sistemos sprendimas – skirti kiekvienam vartotojui H ome Directory. Tai su vartotojo userid asocijuotas ir vartotojo globojamas katalogas. Sistemos administratorius, registruodamas vartotoją, sukuria jam namų katalogą. Šio katalogo vardas saugomas sistemos slaptažodžių faile. Vartotojui prisijungus, jis automatiškai ‘nuleidžiamas’ į savo namų katalogą. Čia vartotojas turi teisę elgtis savo nuožiūra.

Tradiciškai namų katalogas kuriamos šakoje /usr, tačiau tai nėra taisyklė. Paprastai šio katalogo vardas sutampa su ‘userid’. Dažnai administratoriai vartotojus skirsto į grupes, pav., undergrad, grad, guests, staff ir pan. ir home katalogus kuria atitinkamose šakose. Vartotojui prisijungus, jo aplinkos kintamasis $HOME įgyja namų katalogo vardą. Be to, C-shell’as leidžia naudoti namų katalogo trumpinį ~ (tildė).

Užduotis.
Koks jūsų namų katalogo vardas vardas? _

Pažiūrėkite $HOME kintamojo reikšmę (komanda echo $HOME), arba pažiūrėkite trumpinio ~ reikšmę (komanda echo ~).

SKYRIUS 5 Failų prieinamumas

5.1 – Failų charakteristikos. Komanda l s 5-2

5.2 – Realūs bei efektyvūs vartotojų bei grupių

identifikatoriai 5-6

5.3 – Failo prieinamumo nustatymas 5-8

5.4 – chmod komanda 5-9

5.5 – umask komanda 5-11

5.6 – chgrp, chown komanda 5-12

5.1 Failų charakteristikos. Komanda ls

Šiame skyriuje jūs susipažinsite su UNIX komandomis, skirtomis failų bei katalogų charakteristikų peržiūrai, išmoksite keisti bei nustatyti įvairias failų prieinamumo galimybes.

Su kiekvienu failu yra surišta eilė charakteristikų, kurias galime sužinoti naudodami l s komandą. Jos išvedamų į ekraną charakteristikų kiekį nusako komandos opcijos. Pavyzdžiui, įvykdžius komandą:

Iš -lgsF failo-vardas matysime tokias charakteristikas:

-rwxrw-rw-

petringa

cust

512

Jan 30 00:14

1.

2.

3.

4.

5.

6.

1. Failo užimamų blokų skaičius

2. Failo prieinamumas – kas ir ką gali daryti su failu/katalogu

3. Failo ryšių kiekis

4. Failo savininko vardas

5. Failo savininko grupės vardas

6. Failo dydis baitais

7. Failo paskutinio modifikavimo data

8. Failo vardas

Antras laukas nusako failo tipą bei prieinamumą. Trečiame lauke yra nurodytas ryšių kiekis. Jis rodo, kiek vardų katalogų medyje yra surišta su tuo pačiu fiziniu failu. UNIX yra galimybė kreiptis į tą patį failą iš skirtingų vietų skirtingais vardais. Šie ryšiai yra sukuriami naudojant In komandą. Ketvirtas laukas rodo failo savininką. Kiekvienas UNIX failas turi savininką, juo yra vartotojas, sukūręs šį failą. Penktas laukas rodo grupę, kuriai priklauso failo savininkas. Septintame lauke yra nurodomas failo.5-2Failų prieinamumas

paskutinės modifikacijos laikas. Šį laiką naudoja koordinatorius make, f ind komanda ir kt. Failo vardas, kuris nurodomas aštuntame lauke, gali turėti iki 14 simbolių (iki 255 BSD UNIX ). UNIX nereikalauja, kad failo vardas būtinai turėtų išplėtimą, tačiau kai kurios programos, pavyzdžiui C kalbos kompiliatorius reikalauja, kad failų vardai turėtų plėtinį “ . c“. UNIX draudžia suteikti failui vardą „.“ arba „..“, nes šie vardai atitinka einamąjį arba tėvo katalogą.

Failo tipą nusako antro lauko pirmas simbolis, tai yra:

Simbolis Prasmė

– paprastas( regular ) failas

d katalogas

b blok-oriėntuotas specialus failas

c simbolinio tipo specialus failas

1 simbolinis ryšys

p Vamzdis (?) (pipe)

s šakutė (socket)

Užduotis:

a)Įvykdykite komandą

Iš -al ..

Kokius matote katalogus, kas jų savininkai, kokiai vartotojų grupei jie priklauso?

b)Įvykdykite komandą

ls -al /dev

Kokio tipo failai yra šiame kataloge?

c) Įvykdykite komandą

ls -al /bin

Kokio tipo ir dydžio failus matote?

Sekantys devyni simboliai charakterizuoja failo prieinamumą. Sistemos administratorius turi visas prieinamumo galimybes peržiūrėti vartotojų failus bei katalogus, nežiūrint į tai, kokios jos yra užduotos.

Lentelėje pateiktame pavyzdyje nurodytos tokios failo prieinamumo reikšmės: rwxrw-rw-

Šie prieinamumo simboliai yra skirstomi į tris grupes po tris simbolius ir nusako priėjimo prie failo galimybes: pirmi trys simboliai galimybes vartotojui – failo savininkui, antri trys – vartotojams, kurie priklauso tai pačiai grupei kaip ir failo savininkas, paskutiniai trys -likusiems vartotojams. Čia r raidė žymi galimybę failą skaityti, w – failo rašymo galimybę, x – vykdymo galimybę. Brūkšnelis rodo, kad atitinkamos galimybės nėra.

Pavyzdžiui:

rwxrw-r– prieinamumo reikšmės žymi, kad failo savininkas turi teisę rašyti skaityti ir

vykdyti šį failą, grupės vartotojai gali skaityti ir rašyti, o visi kiti -tik skaityti.

Visos šios galimybės yra kiek skirtingai traktuojamos priklausomai nuo failo tipo.

•Paprastam failui skaitymo galimybė reiškia, kad procesas gali failą skaityti, rašymo galimybė, – kad procesas gali keisti failo turinį, vykdymo galimybė, – kad procesas gali šį failą vykdyti.

•Katalogui skaitymo galimybė reiškia, kad procesas gali skaityti katalogą( tai yra perskaityti sąrašą failų, esančių tame kataloge). Rašymo galimybė reiškia, kad procesas gali išmesti failus iš katalogo arba juos įkelti į katalogą. Vykdymo galimybė reiškia, kad procesas gali prieiti prie failų esančių kataloge arba jo pakatologiuose.

•Specialiam failui skaitymo galimybė reiškia, kad procesas gali skaityti iš failo, naudodamas kreipinį read(). Analogiškai rašymo galimybė reiškia, kad procesas gali rašyti į failą, naudodamas kreipinį write(). Vykdymo galimybė neturi prasmės.

Užduotis:

l s komanda išvedė tokius rezultatus:

drwxrw-r— 2 tomas userl 512 Jan 30 05:14 kat1

drwxr—r— 2 petras user2 512 Jan 30 08:14 kat2

Vartotojas Domas priklauso grupei userl, o vartotojas Elijus grupei user3. Kokius veiksmus gali atlikti šie vartotojai kataloguose kati bei kat2?

Užduotis:

f ile komanda atlieka failų identifikavimą. Duokite komandą

file *

Paskaitykite komandos file Manual puslapį.

5.2 Realus bei efektyvus identifikatoriai

Su kiekvienu vykdomu procesu yra surišami keturi
identifikatoriai: realus vartotojo identifikatorius efektyvus vartotojo identifikatorius realus grupės identifikatorius efektyvus grupės identifikatorius

Su šiais identifikatoriais irgi yra surištos tam tikros prieinamumo galimybės. Vartotojui prisijungiant prie sistemos startuoja shelPo procesas, kuris turi nustatytus vartotojo realų ir efektyvų identifikatorius, sutampančius su vartotojo identifikatoriumi, realų ir efektyvų grupės identifikatorius, sutampančius su vartotojo grupės identifikatoriumi. Kadangi failo prieinamumo reikšmės gali būti skirtingos vartotojui, grupei bei kitiems vartotojams, tai juos taikant yra atliekamas tikrinimas:

– jei proceso efektyvus vartotojo identifikatorius yra toks pats kaip failo savininko

identifikatorius, tai yra pritaikomos vartotojui nustatytos prieinamumo galimybės,

-jei proceso efektyvus vartotojo identifikatorius skiriasi nuo failo savininko identifikatoriaus, bet efektyvus grupės identifikatorius sutampa su failo grupės identifikatoriumi, tai pritaikomos grupės prieinamumo galimybės,

– likusiais atvejais taikomos kitiems vartotojams skirtos failo prieinamumo

galimybės.

Visos šios prieinamumo galimybės leidžia apsaugoti failus nuo nesankcionuoto priėjimo bei naudotis bendrais failais, jei vartotojai priklauso tai pačiai vartotojų grupei.

Vykdomiesiems failams UNIX sistemoje gali būti nustatytas specialus bitas, s (the sėt user/group id bit), liepiantis nustatyti vartotojo identifikatorių arba grupės identifikatorių. Jis atžymimas s raide vartotojo arba grupės laukuose vietoje simbolio x. Jei failui yra nustatytas šis bitas, tai failo vykdymo metu efektyvus vartotojo identifikatorius arba efektyvus grupės identifikatorius yra keičiamas į vykdomo failo savininko identifikatorių arba jo grupės identifikatorių, o tai suteikia vartotojui šio failo vykdymo metu tokias pačias teises kaip ir failo savininkui. Tai įgalina vartotoją keisti įrašą slaptažodžių faile, nors šio failo savininkas yra root.

Šie bitai kaip ir failo prieinamumo galimybės failams gali būti nustatomi naudojant chmod komandą.

Dar sykį prisiminkite failų prieinamumo nurodymus ir jų prasmę:

Permission File Directory

r read read a file list files in …

w write write a file create file in …

rename file in …

delete file …

x execute execute a read a file in …

shell script write to a file in …

execute a file in … execute a shell script in …

5.3 Failo prieinamumo nustatymas

Naujai kuriamiems failams prieinamumo galimybės nustatomos pagal nutylėjimą, tačiau vartotojas gali jas užduoti ir pats. Failams prieinamumo galimybės gali būti nustatomos ir keičiamos šiomis komandomis:

Komanda Paskirtis

chmod Keičia failo prieinamumo galimybes

umask Nustato prieinamumo galimybes naujai kuriamam failui

chgrp Keičia grupę, kuriai priklauso failas

chown Keičia failo savininką

5.4 Komanda chmod

Failo prieinamumo galimybes galima keisti komanda

chmod -Rpakeitimas {failo-vardas}

R raktas rodo, kad nustatymas galios rekursyviai, t.y. visuose katalogo pakatalogiuose. Lauke {failo vardas} gali būti nurodomi failai bei katalogai, o „pakeitimu“ yra nurodoma kokiems vartotojams ir kas yra nustatoma. Vartotojas žymimas vienu simboliu:

u savininkas

Šiuo metu Jūs matote 50% šio straipsnio.
Matomi 4330 žodžiai iš 8616 žodžių.
Siųskite sms numeriu 1337 su tekstu INFO MEDIA (kaina 1,45 €) ir įveskite gautą kodą į laukelį žemiau:
Kodas suteikia galimybę atrakinti iki 100 straispnių svetainėje ir galioja 24 val.