Naslov: Besplatna knjiga - Operativni sistemi: UNIX i Linux Poruka od: Pedja 06.03.2009. 23:49:15 (http://www.conwex.info/draganp/OS_Unix_Linux.jpg) B. Đorđević, D. Pleskonjić, N. Maček: “Operativni sistemi: UNIX i Linux”, Viša elektrotehnička škola, Beograd, 2004., ISBN 86-85081-03-3 Ova knjiga od 423 strane je na srpskomjeziku i pokriva prilično detalje na temu korišćenja i administracije operativnig sistema Unix i Linux. Namenjena je naprednijim korisnicima. Sadržaj knjige: Uvod u UNIX i Linux operativne sisteme Istorijat UNIX operativnog sistema Vrste UNIX sistema Linux operativni sistem GNU/Linux i Open Source Software Linux distribucije Opšti pregled Linux sistema Linux kernel Struktura Linux sistema Modularni kernel Značajni delovi kernela Upravljanje procesima Procesi i niti Dodeljivanje procesora procesima Komunikacija između procesa Upravljanje memorijom Izvršavanje korisničkih programa Ulazno - izlazni sistem Sistemi datoteka i aktivno UNIX stablo Mrežne strukture Osnovni servisi Linux sistema init Prijavljivanje sa terminala syslog Periodično izvršavanje komandi Grafički korisnički interfejs Mrežni rad Prijavljivanje sa mreže Deljenje datoteka i mrežni sistemi datoteka Elektronska pošta Štampanje Blok uređaji i administracija sistema datoteka Blok uređaji Hard diskovi Fizičke osobine i geometrija diskova IDE i SCSI diskovi. Specijalne datoteke koje predstavljaju uređaje. RAID (redundantni niz jeftinih diskova) Flopi diskovi Formatiranje magnetnih medijuma Formatiranje disketa CD-ROM uređaji Magnetne trake Podela diskova na particije Boot sektori, particione tabele i tipovi particija Master Boot Record, boot sektori i particione tabele Extended i logičke particije Tipovi particija Podela diska na particije fdisk cfdisk Specijalne datoteke i particije diska Sistemi datoteka UNIX sistemi datoteka Dodeljivanje prostora datotekama Rupe u datotekama Konvencija o imenima objekata sistema datoteka Tipovi sistema datoteka Sistemi datoteka sa dnevnikom transakcija (Journaling) Ext3 sistem datoteka i režimi vođenja dnevnika transakcija Reiser FS XFS JFS Koji sistem datoteka treba koristiti ? Kreiranje sistema datoteka Parametri UNIX sistema datoteka Aktiviranje i deaktiviranje sistema datoteka Montiranje sistema datoteka na aktivno UNIX stablo root i user sistemi datoteka /etc/fstab i auto-mount Pregled aktiviranih sistema datoteka Deaktiviranje sistema datoteka Dozvole za aktiviranje sistema datoteka Provera i oporavak sistema datoteka Logički defekti i provera integriteta sistema datoteka lost+found direktorijum Fizički defekti i provera ispravnosti površine diska Defragmentacija Ostali programi za rad sa sistemima datoteka Rad sa diskovima bez sistema datoteka Komanda dd (disk-to-disk copy) Virtuelna memorija (swap) Aktivno UNIX stablo root sistem datoteka /etc direktorijum /usr sistem datoteka /var sistem datoteka /proc sistem datoteka Korisnici i grupe Korisnički nalozi Kreiranje korisničkih naloga /etc/passwd /etc/shadow Članstvo u grupama Dodela identifikatora korisnicima i grupama (UID i GID) Inicijalno okruženje - etc/skel direktorijum Kreiranje korisničkih naloga bez upotrebe pomoćnih programa Promena parametara korisničkih naloga Privremena zabrana prijavljivanja na sistem Uklanjanje korisnika Identifikacija korisnika Privremeno prijavljivanje na sistem pod drugim imenom Stvarni i efektivni identifikatori korisnika (RUID i EUID) Kontrola pristupa na nivou sistema datoteka Vlasnički odnosi i prava pristupa Prava pristupa u sistemu datoteka Kategorije pristupnih prava Problem unije vlasničkih kategorija Značenje prava pristupa za datoteke i direktorijume Određivanje pristupa za datoteke i direktorijume Podrazumevana prava pristupa (umask) Promena vlasništva i pristupnih prava Promena pristupnih prava Simbolički režim Oktalni režim Promena vlasničkih odnosa Promena vlasnika Primarne i sekundarne grupe Promena grupe kojoj objekat pripada Specijalni atributi datoteka i direktorijuma setuid (SUID) i setgid (SGID) Sticky bit (t) Specijalni atributi datoteka na ext2/ext3 sistemu datoteka Disk kvote Administracija kvota na Linux sistemu Preduslovi za postavljanje kvota Postavljanje kvota Datoteke quota.user i quota.group Dodeljivanje kvote korisniku Dodeljivanje kvote grupama Dodeljivanje jednakih kvota većem broju korisnika Ostali alati za rad sa kvotama Rad sa datotekama iz komandne linije Komandni interpreter (shell) Funkcije komandnog interpretera Interpretacija komandne linije Inicijalizacija programa Redirekcija ulaza i izlaza Povezivanje komandi u pipeline Zamena imena datoteka Rukovanje promenljivim i kontrola okruženja Shell programiranje Dodatne mogućnosti Bourne-again shella Korišćenje kontrolinih karaktera Alternativno ime komande (alias) Ponavljanje komandne linije (history) Modifikacija komandne linije Kompletiranje imena datoteka Shell promenljive i prilagođeni prompt Lokalne promenljive Promenljive okruženja Prilagođavanje odziva (prompt) komandnog interpretera Inicijalizacione datoteke komandnog interpretera Korisničke inicijalizacione datoteke Poređenje poznatih komandnih interpretera Bourne shell (sh) C shell (csh) Bourne-again shell (bash) Korn shell (ksh) Osnovne komande za rad sa datotekama Dobijanje pomoći Lokatori komandi Prikazivanje informacija o sistemu Određivanje tipa datoteke Tipovi datoteka Upotreba komande file Komanda strings Kopiranje, pomeranje i brisanje datoteka Kopiranje datoteka i direktorijuma Kopiranje jedne datoteke Kopiranje grupe datoteka iz istog direktorijuma Rekurzivno kopiranje direktorijumskog stabla Relacioni odnosi originala i kopije Potrebni i dovoljni uslovi za kopiranje datoteke Opcije komande cp Primeri korišćenja komande cp Pomeranje datoteka i direktorijuma Promena imena i/ili pomeranje jedne datoteke Pomeranje grupe datoteka iz istog direktorijuma Potrebni i dovoljni uslovi za promenu imena datoteke Potrebni i dovoljni uslovi za pomeranje datoteke Opcije komande mv Brisanje datoteka Brisanje jedne datoteke Brisanje grupe datoteka iz istog direktorijuma Rekurzivno brisanje direktorijumskog stabla Potrebni i dovoljni uslovi za brisanje datoteke Opcije komande rm Linkovi Hard linkovi Kreiranje hard linkova Osobine hard linkova Primer kreiranja i upotrebe hard linkova Simbolički linkovi Kreiranje simboličkih linkova Osobine simboličkih linkova Primer kreiranja i upotrebe simboličkih linkova Upotreba opcije -d komande cp (no-dereference) Rad sa direktorijumima Kretanje po direktorijumskom stablu Prikazivanje sadržaja direktorijuma Kreiranje direktorijuma Brisanje direktorijuma Kopiranje direktorijuma Pretraživanje direktorijuma Kriterijumi pretrage Akcioni izrazi Kvalifikatori pretrage Složeni kriterijumi pretrage Rad sa tekstualnim datotekama Pregledanje sadržaja tekstualne datoteke cat more less Prikazivanje početka i kraja datoteke (komande head i tail) Brojanje karaktera, reči i linija Upoređivanje sadržaja datoteka Komanda cmp Komanda diff Uređivanje sadržaja datoteka Uređivanje sadržaja datoteka po određenom kriterijumu (sort) Priprema tekstualnih datoteka za štampu (pr) Podela tekstualnih datoteka (split) Uklanjanje duplikata linija iz datoteke (uniq) Traženje teksta u datoteci Regularni izrazi (regular expressions) Jednostavan oblik komande grep Specijalni karakteri Zamena jednog karaktera Ponavljanje karaktera Ponavljanje regularnih izraza Upoređivanje početka i kraja linije teksta Primer složenog regularnog izraza Komanda grep Komanda egrep Komanda fgrep Editori teksta vi, joe i jed vi editor Režimi rada vi editora Otvaranje datoteka vi editorom Interaktivne komande u vi editoru Alternativni editori teksta Kreiranje malih tekstualnih datoteka komandom cat joe (Joe's Own Editor) jed Midnight Commander Twin-panel interfejs Rad u programu Midnight Commander Shell programiranje Osnovi shell programiranja Komentari Pokretanje shell programa Pronalaženje komandnog interpretera Promenljive u Linux operativnom sistemu Važnije sistemske promenljive Definisanje korisničkih promenljivih Prikazivanje i korišćenje vrednosti UDV promenljivih Komande specifične za shell programiranje echo Navodnici Komanda expr i shell aritmetika read sed (stream editor) awk grep wc (word count) sort bc (basic calculator) tput Komande, argumenti i izlazni status Zašto se zahtevaju komandni argumenti ? Shell program i komandni argumenti Izlazni status komande Grupisanje komandi ( list ) { list; } Parametri komandnog interpretera (Shell Parameters) Pozicioni parametri (positional parameters) Specijalni parametri (special parameters) Redirekcija i pipe mehanizam Redirekcija ulaza i izlaza Pipe mehanizam Shell proširenja (Shell Expansions) Proširenje preko zagrada (Brace Expansion) Tilda proširenje (Tilde Expansion) Parametarsko proširenje (Shell Parameter Expansion) Komandna zamena (Command Substitution) Aritmetičko proširenje (Arithmetic Expansion) Proširenje imena datoteka (Filename Expansion) Pronalaženje uzorka (Pattern Matching) Konstrukcije u shell programiranju Uslovne konstrukcije Uslovna konstrukcija if if-then-fi Provera uslova i test naredba Provera tačnosti izraza komandom test if-then-else-fi if-then-elif-else-fi Uslovna konstrukcija case Petlje while petlja until petlja for petlja Naredba select Funkcije Lokalne promenljive Primeri složenijih shell programa Backup home direktorijuma Promena imena grupe datoteka Mrežno okruženje Uvod u mreže i TCP/IP Mrežni uređaji TCP/IP skup protokola IP adresiranje Rutiranje Broj porta Razrešavanje imena računara Mrežni servisi Konfigurisanje Linux mrežnog okruženja Konfiguracione datoteke /etc/hostname /etc/hosts /etc/hosts.allow i /etc/hosts.deny /etc/networks /etc/network/interfaces /etc/protocols /etc/services /etc/resolve.conf /etc/nssswitch.conf - konfigurisanje metoda Programi za TCP/IP administraciju /sbin/ifdown i /sbin/ifup ifconfig netstat arp ping route traceroute nslookup Mrežni servisi i wrapper programi inetd xinetd xinetd i kontrola pristupa xinetd - vezivanje servisa za IP adresu i redirekcija xinetd i upravljanje resursima Linux kao mrežni server Mrežni sistem datoteka (NFS) NFS server Aktiviranje NFS sistema datoteka na klijentima Statistički izveštaj o korišćenju NFS servera Centralizovana autentifikacija (NIS) Komponente NIS sistema Sistemske datoteke koje ulaze u sastav NIS baze Apache web server Instalacija Potrebne privilegije Pokretanje i zaustavljanje web servera - apachectl skript Komunikacija sa httpd procesom Konfigurisanje Apache web servera Postavljanje web sajta Mere zaštite chroot-jail Praćenje rada i održavanje servera Štampači Proces štampanja Komponente UNIX okruženja za štampu Štampač Red za štampač Server za štampu Common UNIX Printing System (CUPSTM) Korišćenje CUPS sistema za štampu Štampanje i administracija reda za štampu Slanje zahteva na štampu Provera statusa štampača Brisanje poslova iz reda Direktno štampanje Podešavanje karakteristika štampača i dokumenata Opšte karakteristike Štampanje naslovne stranice (banner page) Opšte karakteristike dokumenata Karakteristike tekstualnih dokumenata Karakteristike grafičkih dokumenata Slanje dokumenta na štampu bez filtriranja Podrazumevana podešavanja štampača Instance štampača Administracija CUPS sistema za štampu Instaliranje CUPS sistema Upravljanje štampačima Instalacija prvog štampača Dodavanje novih i modifikacija instaliranih štampača Brisanje štampača Postavljanje primarnog štampača Pokretanje i zaustavljanje štampača Prihvatanje i odbijanje poslova štampanja Podešavanje kvota na štampaču Kontrola pristupa štampaču Klase štampača Upravljanje klasama štampača Implicitne klase Konfigurisanje klijenata Automatsko konfigurisanje klijenata CUPS konfiguracione datoteke Štampanje sa ostalih sistema Podrška za LPD klijente Štampanje na LPD serverima CUPS i Windows Arhiviranje i backup Strategije kreiranja rezervnih kopija podataka Arhive Poređenje arhiva i sistema datoteka Backup Prosta šema Višeslojna kopija Koje podatke treba uvrstiti u backup ? Komprimovane kopije podataka Linux programi za backup i arhiviranje tar (tape archiver) Sintaksa i argumenti komande tar Kreiranje arhive Listanje sadržaja arhive i ekstrakcija datoteka Primeri korišćenja tar komande Arhiviranje i kompresija compress gzip (GNU ZIP) Primer sprege tar arhivera sa gzip i compress programima cpio (copy in and out) Režimi rada i sintaksa cpio komande Opcioni argumenti Specificiranje formata arhive Kako se koristi cpio Korišćenje pipe mehanizma - cpio u sprezi sa komandama ls i find Primeri korićenja komande cpio dump i restore Restauracija čitavog sistema datoteka iz arhive Administracija procesa Osnovne tehnike upravljanja procesima Kreiranje procesa i izvršenje programa Dobijanje informacija o procesima Prikazivanje procesa (komanda ps) Određivanje vremena potrebnog za izvršenje procesa (komanda time) Slanje signala i uništenje procesa Signali Uništenje procesa Komanda kill Koji signal treba poslati procesu ? Odjavljivanje sa sistema i procesi koji se izvršavaju u pozadini Poslovi i prioriteti Procesi koji se izvršavaju u pozadini i prioriteti Procesi koji se izvršavaju u prvom planu (foreground) Procesi koji se izvršavaju u pozadini (background) Prioriteti procesa Nice vrednost i prioriteti procesa Pokretanje procesa sa sniženim prioritetom Promena prioriteta procesa komandom renice Grupe procesa i kontrola poslova Komanda jobs Premeštanje poslova u prvi plan (komanda fg) Suspendovanje procesne grupe Premeštanje poslova u pozadinu (komanda bg) Komanda wait i čekanje izvršenja poslova Primer korišćenja kontrole poslova Zakazivanje i periodično izvršavanje komandi Komanda at Periodično izvršavanje komandi cron daemon Podizanje i zaustavljanje sistema Podizanje sistema (boot) init Nivoi izvršenja (runlevels) Konfiguraciona datoteka /etc/inittab i init-getty relacija Komanda init Inicijalizacione rc datoteke Prijavljivanje na sistem Prijavljivanje na sistem preko mreže Funkcija procesa login Zaustavljanje sistema Komanda shutdown Kontrola pristupa rutinama za zaustavljanje sistema Instalacija softverskih paketa Standardni formati paketa Osobine standardnih formata paketa tarball (tgz, tar.gz) RPM deb Rad sa paket menadžerima RPM (Red Hat Package Manager) Instaliranje RPM paketa Uklanjanje paketa iz sistema Nadogradnja (upgrade) paketa deb (The Debian package management system) apt-get Aptitude dpkg dselect tasksel Konfigurisanje jezgra Linux sistema Rad sa modulima Programski moduli jezgra Komande za rad sa modulima Koji se problemi ne mogu rešiti modulima? Prevođenje kernela Terminologija prevođenja Priprema za izradu novog jezgra Pronalaženje novih verzija kernela Snimanje starog kernela Izrada novog jezgra Podešavanje novog jezgra Pokretanje okruženja komandne linije Pokretanje okruženja sa menijima Prevođenje i testiranje novog jezgra Sigurnost i zaštita UNIX i Linux sistema Pregled zaštite UNIX i Linux sistema Standardni mehanizmi zaštite Metode napada Zaštitne polise Standardni mehanizmi zaštite pod UNIX/Linux sistemom Programi za analizu sigurnosti sistema Opšta sigurnost Linux sistema Sigurnost na nivou BIOS-a Prevođenje monolitnog kernela Privremeno isključivanje servera sa mreže LILO i datoteka /etc/lilo.conf Korisničke lozinke root korisnički nalog Promenljiva TMOUT Datoteka /etc/securetty Sistemski korisnički nalozi Jednokorisnički režim rada Zabrana korišćenja Ctrl-Alt-Del Datoteka /etc/fstab Uklanjanje nepotrebnog softvera Automatsko brisanje .bash_history datoteke Sigurnost skriptova u /etc/init.d direktorijumu SUID bit Datoteka /etc/services Datoteka /etc/exports Datoteke bez vlasnika Datoteke .rhosts PAM (Pluggable Authentication Modules) GNU Privacy Guard (GnuPG) Uvod u tehnologiju šifrovanja Simetrični algoritmi i algoritmi sa javnim ključem Digitalni potpis Instaliranje GnuPG paketa Administracija GnuPG - rad sa ključevima Kreiranje para ključeva Izvoz ključeva Uvoz ključeva Označavanje ključeva Provera potpisa Šifrovanje i dešifrovanje Linux kao mrežna barijera Metode zaštite mrežnim barijerama Filtriranje paketa Prevođenje mrežnih adresa Dvonivovska zaštita iptables Filtriranje paketa NAT tabela Mangle tabela Put paketa kroz iptables Administracija iptables mrežne barijere Pregled značajnijih Linux komandi GNU opšta javna licenca GNU Opšta javna licenca Kako da primenite ove odredbe na vaše nove programe Laboratorijske vežbe Literatura Knjigu možete besplatno repuzeti sa: http://www.conwex.info/draganp/os-unix-i-linux.pdf |