sítě v Linuxu - maturitu.zaridi.to

Transkript

sítě v Linuxu - maturitu.zaridi.to
Charakteristika operačního systému
GNU/Linux
●
●
●
OS Unixového typu - filozofie, procesy, uživatelé, souborový systém,
základní programy a další věci jsou shodné s Unixovými standardy
Víceúlohový OS - jeden člověk může mít spuštěno několik programů
současně
Víceuživatelský OS - více lidí může současně pracovat na jednom
fyzickém počítači. OS uživateli vytváří virtuální prostředí tvářící se, jako by měl
počítač sám pro sebe: nikdo nebude bez jeho povolení číst jeho soubory, nikdo nebude
zasahovat do běhu jeho programů, bude moci používat periferní jednotky počítače
(tiskárny, vstupní jednotky,..) atd.
●
Víceprocesorový OS – podpora až 64 procesorů
http://knihy.cpress.cz/DataFiles/Book/00000675/Download/K0819.pdf
Historie Linuxu
●
●
●
Autorem operačního systému Linux je pan Linus Torvalds. Původní
verzi Linuxu napsal v roce 1991. Od té doby však byla tato verze
mnohými dalšími programátory značně upravena a zdokonalena.
Na vývoji Linuxu se nijak nepodílely společnosti, které vytvořily původní
UNIXové systémy. Linux byl kompletně celý znovu vytvořen.
Pan Torvalds však přišel s jednou velice zajímavou myšlenkou. Rozhodl
se, že neponechá vývoj Linuxu jen na svých bedrech, ale podělí se o
starosti s širokou programátorskou veřejností. Tak vlastně došlo k
velice zajímavému vývoji operačního systému, který vlastně probíhá
dodnes. Každou část operačního systému má na starosti jeden
programátor. Je to jakýsi koordinátor. Toho kontaktuje spousta
dobrovolníků, kteří sami vytváří různá vylepšení a doplnění operačního
systému. Pokud je doplnění nebo oprava výhodné, je tato zahrnuta
koordinátorem do celku operačního systému.
Svobodný software, GNU
●
●
●
Tento projekt byl započat v roce 1984. Jeho zakladatelem byl
Richard Stallman. Komponenty tohoto projektu jsou šířeny pod licencí
GPL a LGPL. Cílem tohoto projektu bylo vytvořit volně šiřitelný
operační systém postavený na Unixové filozofii.
Nyní je projekt hotov až na jádro Hurd, které je postavené na
mikrojádru Mach. Jelikož původní jádro nebylo zatím dokončeno,
používá se nyní systém GNU spolu s jádrem Linux, které začal
Linus Torvalds. Mimo odbornou veřejnost se toto spojení
chybně nazývá pouze Linux, celý název tohoto operačního
systému však zní GNU/Linux.
Co znamená GNU?
–
GNU je rekurzivní akronym pro větu "GNU is not Unix" (GNU není
Unix). Gnu však také znamená pakůň hřivnatý. Ostatně logo to
dokazuje skvěle.
Výhody GNU/LINUX
●
Moderní operační systém
●
Bezpečný - bez virů a spywaru
●
Velké množství aplikací
●
Kancelářské nástroje (Office)
●
Variabilní a přizpůsobitelný
●
Víceuživatelský a víceúlohový
●
Vzdálená správa a použití
●
Kvalifikovaná podpora a dokumentace
●
Dostupný v češtině
●
Pro všechny zdarma
GPL
●
●
Linux
GPL - General Public License ( „všeobecná veřejná licence “)
–
●
GNU
licence pro svobodný software
–
zdrojové kódy software pod GPL mohou být svobodně upravovány a
používány, šířeny však musí být opět pod GPL
–
tvoří základ projektu GNU
GNU – akronym GNU is not UNIX
–
projekt zaměřený na svobodný software, inspirovaný operačními
systémy unixového typu
–
původní cíl byl vyvinout operační systém se svobodnou licencí, který
však neobsahuje žádný kód původního UNIXu
–
vývoj od r. 1982 , projekt úspěšně dokončen v roce 1992 přídáním jádra
LINUX
LINUX – jádro (kernel) operačních systémů UNIXového typu GNU/Linux
–
jeho zdrojový kód volně k dispozici pro veřejnost a kdokoli jej
může svobodně používat, upravovat a dále distribuovat.
GNU/Linux , distribuce
●
GNU/Linux -unixový operační systém složen z linuxového jádra a
zároveň z knihoven a nástrojů z projektu GNU + další zdroje.
●
GNU/Linuxová distribuce - zkráceně distribuce
–
–
–
Distribuce je spojením systému GNU, Linuxového jádra a
řady dalšího, převážně svobodného software.
linuxové jádro + další aplikace
GNU/Linux může dodávat každý => existuje spousta
profesionálních nebo amatérských distribucí
●
●
Všechny distribuce mají stejný základ - jádro OS, knihovny a
nástroje od GNU.
Liší se “obalem“ (tzn. instalátorem) a “složením“ (tzn.
software, unikátní úpravy)
Seznam distribucí
●
●
●
Debian – Jejím zakladatelem je Ian Murdock. Distribuce je pojmenována po
jeho ženě (Debra). Je to přísná open-source distribuce, ktrerá je
vyvíjena dobrovolníky z celého světa. Debian nabízí on-line repozitář
(server, kde jsou uloženy zdrojové kódy) softwarových balíků.
Fedora – Jedná se o distribuci, za kterou stojí (sponzoruje) Red Hat,
protože je na tomto systému založena. Je to volná distribuce, která vzniká
podobně jako Debian. Klade důraz na otevřenost a bezpečnost.
Red Hat – Jedna z nejstarších distribucí. Dnes velmi komerční, hlavně díky
Red Hat Enterprise Linuxu. V Red Hatu vznikl balíčkovací systém RPM. Na
desktopech se již moc nepoužívá.
●
Slackware – pro pokročilejší uživatele.
●
Mandriva (dříve Mandrakelinux) – vhodná pro začátečníky
●
SUSE – Původně samostatná distrbuce, později koupena firmou Novell. .
●
Ubuntu – distribuce vhodná pro začátečníky vychází z Debianu
Start systému GNU/Linux
na architektuře Intel ix86
●
●
Po zapnutí počítače s procesorem Intel se jako první provede
program zvaný BIOS
– BIOS je zkratkou pro Basic Input/Output System. Tento program
je trvale uložen ve zvláštní paměti počítače. Realizuje některé
základní testy a identifikuje technické vybavení, jako je pevný disk
či disketová jednotka. Po identifikaci disku najde tzv. zaváděcí
sektor (boot sector) a spustí kód, který v něm nalezne. Jestliže byl
nalezen disk, ale žádný zaváděcí sektor, vypíše BIOS následující
hlášení:
Non-system disk or disk error
BIOS vyhledá hlavní zaváděcí záznam MBR (master boot record)
na pevném disku (závisí na nastavení BIOSu). Ten obsahuje kód
(zaváděcí program), jehož úkolem je zavést operační systém. Pro
operační systém Linux se tento program jmenuje
–
LILO (LInux LOader)
–
GRUB Loader
Jak Linux přebírá kontrolu nad počítačem
●
●
●
●
Nejdříve předá BIOS kontrolu zaváděcímu programu GRUB (LILO) a ten
pak předá kontrolu jádru operačního systému Linux (Linux kernel).
Jádro je centrálním programem celého systému a řídí všechny ostatní
programy.
V dalším kroku se Linux pokouší identifikovat technické vybavení
počítače, na kterém běží. Musí znát informace o pevném disku, zda je
nebo není k dispozici myš, zda je nebo není váš počítač připojen k
počítačové síti a podobně.
Jestliže tedy úspěš ně identifikuje veš keré technické vybavení počítače,
spus tí jiný program, který již začne dělat něco užitečného. Proces init
Proces init
●
●
●
●
Zařizuje připojení ("mountování" - mount) a případnou kontrolu
souborových systémů a swapovacích oblastí, nastavení hodin,
jména systému, startuje systémové démony, síťové služby a
procesy pro přihlášení do systémů
Linux při kontrole souborového systému zjišuje, které části disku jsou
již použity a které jsou volné
– Proces init spouští další program označený jako fsck, jenž se
pokouší vadné soubory a konfliktně obsazené části pevného disku
opravit.
Pokud je váš počítač připojen k síti, spustí se několik speciálních
programů, jež zajišují komunikaci vašeho počítače s jinými počítači.
Základním konfiguračním souborem programu init je /etc/inittab
–
Tento soubor popisuje, které procesy jsou startovány během
zavedení systému a během normální činnosti.
Příklad souboru /etc/inittab
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
# Things to run in every runlevel.
Úrovně běhu systému - runlevel
●
runlevel 0 - zastavení systému
halt
●
runlevel 1 - jednouživatelský režim
●
runlevel 2 - víceuživatelský režim bez podpory sítě Multiuser, without NFS
●
runlevel 3 - víceuživatelský režim s podporou sítě
●
runlevel 4 - není použit
●
runlevel 5 - víceuživatelský režim s podporou sítě a XFree X11
●
runlevel 6 - restart systému
Single user mode
Full multiuser mode
unused
reboot
Proces logování událostí systému
(systém logger)
●
Jedny z prvních služeb, které jsou startovány procesem init, jsou
démoni syslogd a klogd.
–
–
Zapisují zprávy do systémových logů - zprávy jádra jsou
obsluhovány démonem klogd, zatímco syslogd provádí logování
zpráv z jiných procesů, a případně přes síť i z jiných systémů.
Hlavní logovací soubor bývá /var/log/messages
Getty a Login
●
●
●
Getty je program který umožňuje připojit se přes sériové zařízení jako
je virtuální terminál, textový terminál, nebo modem.
–
Zobrazí přihlašovací prompt a když zadáte vaše uživatelské
jméno, getty jej předá programu login, který se zeptá na heslo,
ověří to a spustí shell.
–
Je dostupných několik variant programu getty. Některé distribuce,
včetně RedHat používají velmi malou verzi zvanou mingetty, která
pracuje pouze s virtuálními terminály
Getty jsou obyčejně startovány v /etc/inittab procesem init.
Zpráva která se vypíše na vrchu obrazovky před přihlašovacím
promptem je ze souboru /etc/issue. Login kontroluje detaily ohledně
přihlášení uživatele v /etc/passwd
Bash
●
●
●
Po zadání správné kombinace přihlašovacího jména a hesla úloha
login ověří v /etc/passwd který shell má spustit.
Ve většině případů to na Linuxových systémech bude bash (Bourne
Again SHell - vylepšený sh). Jeho úkolem je čtení uživatelských
příkazů a jejich provádění.
Bash je zároveň uživatelské rozhraní a interpret programovacího
jazyka:
Systém souborů, adresářová
struktura GNU/Linux
Základem systému souborů je kořenový adresář (root directory),
který se značí /
●
V Linuxu jen jeden kořenový adresář, označený '/'.
●
Všechny další souborové systémy se připojují do jednoho stromu
●
●
●
takže když chceme například přistupovat k souborům na disketě, tak ji
připojíme do adresáře /mnt/floppy a pokud máme oddělený diskový oddíl
pro adresáře uživatelů, tak jej připojíme do adresáře /home.
Souborové systémy se připojují příkazem mount a odpojují příkazem
umount.
Soubor /etc/fstab uvedeny všechny disky a souborové systémy,
které se při startu automaticky připojí
●
nemusíme ručně připojovat při každém spuštění systému všechny disky
●
příkaz df
zobrazí kapacitu, obsazení a volné místo všech
připojených jednotek (pevné disky, CD-ROMy)
LINUX - Adresářová struktura
●
/ - kořen souborového systému, začátek stromové struktury
●
/bin - základní spustitelné soubory pro použití všemi uživateli
●
●
/boot - zde je umístěno jádro (kernel) systému + soubory zavaděče
(boot loader) GRUB nebo LILO
/dev - soubory v tomto adresáři reprezentují jednotlivá fyzická
zařízení nebo psedozařízení systému.
●
/etc - globální konfigurační soubory systému
●
/home - domovské adresáře uživatelů
●
/lib - základní sdílené knihovny systému
●
/lost+found - ztracené a opravené soubory po chybách FS
●
●
●
●
●
●
●
/mnt - do místních podadresářů se připojují další souborová
zařízení, např. do "/mnt/floppy" disketa, do "/mnt/cdrom" CD
/opt - zde bývají SW aplikace, které nejsou standardní součástí
distribuce
/proc - soubory nastavení a stavu systému a jednotlivých
procesů - dalo by se říci, že je to mapa stavu paměti RAM
/root - domovský adresář superuživatele (root)
/sbin - systémové privilegované spustitelné soubory, používané
uživatelem root
/tmp - adresář pro odkládací a pomocné soubory
/usr - další stromová struktura, obsahuje velké množství
informací, jako knihovny, zdrojové kódy, spustitelné soubory,
konfigurační soubory a další.
Souborový systém (filesystem)
●
●
●
●
způsob organizace informací (souborů) tak, aby bylo možné je
snadné najít a přistupovat k nim
Souborový systém umožňuje ukládat data do souborů, které jsou
označeny názvy. Obvykle také umožňuje vytvářet adresáře, pomocí
kterých lze soubory organizovat do stromové struktury.
Žurnálovací systém souborů - zapisuje změny, které mají být v
počítačovém systému souborů provedeny, do speciálního záznamu
nazývaného žurnál (anglicky journal).
– účel - ochránit data na pevném disku před ztrátou integrity v
případě neočekávaných havárií (výpadek napájení, neočekávané
přerušení vykonávaného programu, pád systému apod.).
Windows: NTFS … používá žurnálovací systém souborů
FAT16, FAT32 … nepoužívá
Souborové systémy
●
ext2
- open source souborový systém
–
–
umožňuje nastavit práva UGO (uživatele, skupiny,ostatních)
poskytuje pevné odkazy, symbolické odkazy, zařízení,
adresáře, pojmenované roury, …
–
●
ext3
- navazuje na ext2
–
–
●
zpětně kompatibilní
žurnálovací filesystem
ReiserFS - nevýhoda - dlouhá doba „mountování“ a dlouhé prodlevy
čtení/zápis u velkých datových kapacit
Typy souborů
●
-
●
d directory (adresář, seznam jmen souborů)
●
l
plain file (obyčejný soubor)
symbolic link (symbolický odkaz)
I-node
●
●
●
(česky I-uzel)
datová struktura uchovávající metadata o souborech a adresářích
(metadata - strukturovaná data o datech.)
Nese informace o tom, jaké jsou přístupové práva k danému
souboru, kdy došlo k poslední změně či prístupu k souboru, kdo je
jeho vlastníkem, počet hardlinku a především informace o tom, kde
se nachází obsah souboru ve filesystemu.
V adresářích jsou pak dvojice název souboru a I-uzel, které definují
soubory a adresáře
●
Výpis názvů spolu s čísly I-uzlů v adresáři: ls -i
●
Výpis obsazeného datového prostoru: df
●
Výpis počtu obsazených I-uzlů: df -i
Linky - odkazy
●
hard link (pevný link – odkaz)
–
jedno číslo i-nodu má více jmen souborů
–
neexistuje originál či kopie - dva soubory mají společný I-node
–
pevný odkaz vytvoříme příkazem:
ln jméno_cíle [jméno_pev_odkazu]
Pro zjištění, kolik jmen souborů ukazuje na daný soubor, můžeme použít
příkaz stat nebo se podívat na číslo v druhém sloupci ve výpisu
adresáře příkazem ls -l
●
–
●
symlink (soft link, symbolický odkaz)
–
soubor typu l, ve kterém je napsána cesta směřující k
odkazovanému souboru (Obdoba zástupce v OS MS Windows)
–
může odkazovat i na adresáře
–
Symbolický odkaz vytvoříme příkazem:
●
ln -s jméno_cíle [jméno_sym_odkazu]
Vyhledávání souborů
●
●
●
which
používán k rychlému zjištění umístění nějakého programu.
Prohledává jen adresáře uvedené "v cestě" PATH a jako výsledek vrací
první výskyt hledaného souboru a adresářovou cestu k němu
$ which bash
/bin/bash
whereis
podobně jako which, ale navíc může vyhledávat man
stránky a zdrojové soubory
$ whereis bash
bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz
find
prohledává celý souborový systém
$ find / -name xinitrc
●
locate prohledává celý souborový systém stejně, jako to dělá příkaz find,
ale namísto skutečného souborového systému prohledává svoji databázi,
která se aktualizuje jednou denně. Ručně lze databázi aktualizovat pomocí
příkazu updatedb
Základní příkazy OS Linux
●
ls
vypíše obsah aktuálního nebo zadaného adresáře
●
cd [ADRESÁŘ]
●
pwd zobrazí aktuální adresář
●
cp
zkopíruje soubor do jiného souboru, nebo zkopíruje několik
souborů do zadaného adresáře
●
mv
přesouvá soubory do jiného adresáře , nebo je přejmenuje
●
mkdir
vytvoří nový adresář
●
rmdir
zruší prázdný adresář
●
rm
smaže jeden nebo více souborů
●
chmod
mění atributy souborů
změní aktuální adresář
Základní příkazy OS Linux
●
cat , less
vypíše obsah souboru na obrazovku
●
df
zobrazí kapacitu, obsazení a volné místo všech
připojených jednotek (pevné disky, CD-ROMy)
●
du
zobrazí velikosti adresářů
●
free
zobrazí kolik je obsazené a volné paměti ram a místa v
odkládacím prostoru (swap)
●
passwd změna hesla
Zabezpečení souborového systému,
přístupová práva
●
●
Přístupová práva jsou atributy (parametry) souboru nebo složky, které
říkají, jaká práva k nim mají určití uživatelé či skupiny uživatelů
Oprávnění se dělí do tří skupin podle:
–
Vlastníka (číselné UID)
–
Skupiny (do které patří vlastník, číselné GID)
–
Ostatní
●
Vlastník je ten, kdo soubor vytvořil a jehož UID číslo je zapsáno v i-uzlu
●
Aktuální skupina toho, kdo vytvořil soubor
Typ práva
Symbolické
vyjádření
Oktalové
vyjádření
Čtení
Zápis
Spuštění
r (Read)
w (Write)
x (eXecute)
4
2
1
●
●
Pro práci více osob na jednom projektu je nutné sdělování práv, tj. dát
ostatním osobám (uživatelům) práva k práci se soubory.
Práva uživatelů jsou:
●
Právo na čtení – r
●
Právo na zápis - w
Právo na spuštění souboru - x
Tato práva se určují zvlášť pro majitele souboru, skupinu a ostatní.
●
–
–
Stejná přístupová práva se dají nastavit i adresáři, ale znamenají
něco trochu jiného.
●
●
●
Právo čtení povoluje přečíst, co je uloženo v adresáři.
Právo zápisu dává možnost měnit obsah adresáře (nové nebo
mazat)
Právo spuštění povoluje, aby bylo možno vstoupit do adresáře
Změna přístupových práv
●
●
●
●
pomocí příkazu chmod
Komu práva přiřadit:
u
- user (vlastník)
g
- group (skupina)
o
- others (ostatní)
Jaká práva přiřadit:
r
- read (čtení)
w - write (zápis)
x
- execute (spouštění)
Jakou operaci použít:
=
- nastavit
+
- přidat
- odebrat
●
Příklady:
●
chmod u+w jméno_soubor
–
●
chmod o+x jméno_soubor
–
●
přídá právo zápisu pro
vlastníka souboru
přídá právo spouštění pro
ostatní uživatele
chmod g-r jméno_soubor
–
odebere právo čtení pro
primární skupinu uživatele
Rozšířená (speciální) práva
●
Standardně dědí potomek (nový proces) oprávnění svého rodiče. Někdy je
však nutné, aby měl spuštěný program jiná (vyšší) oprávnění
Symbolické
vyjádření
s
s
t
●
uživatel
skupina
ostatni
setuid
setgid
sticky
Používá se hlavně v případech, kdy chceme dočasně zvýšit
poskytnutá práva
setgid - podobně jako setuid - mění skupinu
–
●
Právo
setuid - Program s nastaveným setuid bitem má při běhu práva svého
vlastníka.
–
●
Kategorie
Používán je hlavně u adresářů, kdy po provedení příkazu patří
všechny nově vytvořené soubory do určené skupiny a ne do hlavní
skupiny uživatele.
sticky bit - ve starších verzích Unixu – zamezení odtranění programu z paměti
– Použití při práci s adresáři - při nastavení tohoto příznaku
smí soubory v tomto adresáři přejmenovat či smazat pouze
jejich vlastník
ACL (Access Conrol List )
●
●
ACL - seznam oprávnění připojený k nějakému objektu ( souboru).
Seznam určuje, kdo nebo co má povolení přistupovat k objektu a jaké
operace s ním může provádět. V typickém ACL specifikuje každý
záznam v seznamu uživatele a operaci.
ACL v Linuxu - rozšiřuje práva souboru
–
může nastavit, který konkrétní uživatel do toho kterého souboru
může zapisovat, číst atd..
–
Pro práci s ACL slouží příkazy getfacl a setfacl.
–
setfacl - nastavování práv
–
getfacl - výpis práv
Příkazový interpret Shell,
systémové prostředí
●
●
●
●
Příkazový řádek je zobrazován speciálním programem, který se
nazývá příkazový interpret - shell
Shell - interpret programovacího jazyka.
● Čte příkazy z terminálu nebo ze souboru a provádí je
Příkazové interprety mají svůj vlastní programovací jazyk a
programy napsané v tomto jazyce se nazývají skripty příkazového
interpretu - shell scripts
Různé Unixovské shelly:
–
–
–
–
●
Bourne shell
C-shell
Korn shell
Bourn again shell
sh
csh
ksh
vychází z Bourne shellu
- bash
představitel GNU, vychází z
Bourne shellu
bash je implicitním příkazovým interpretem používaným v
operačním systému GNU/Linux
http://cs.wikipedia.org/wiki/Bourne-Again_shell
Shell - spuštění a ukončení
●
Po přihlášení se uživateli spustí shell, který má uvedený v souboru
/etc/passwd
– Pro spuštění bash shellu je uvedeno
/bin/bash
–
Tento první spuštěný shell se nazývá login shell.
● Provádí soubor /etc/profile - login script pro všechny uživatele
při přihlášení do systému
● Dále provádí tyto skripty (pokud existují) v domovském adr.
uživatele:
.bash_profile
– .bash_login
– .profile
Při odhlašování provádí skript v domovském adresáři:
–
●
–
.bash_logout
Systémové proměnné
●
Každý program běžící v Linuxu ma přiřazeno jisté prostředí –enviroment
●
Prostředí je množina dvojic [systémová proměnná, hodnota].
●
Systémové proměnné jsou znakové řetězce - píší se velkými písmeny.
Proměnné se vytvářejí v shellu zápisem PROMENNA=hodnota,
●
exportují se příkazem export PROMENNA.
●
●
zjištění hodnoty proměnné - příkaz: echo $PROMENNA.
vypsat prostředí shellu (všechny proměnné)
●
●
●
příkazy: printenv
nebo env
Znak dolaru se používá k vyhodnocení systémové proměnné, avšak pouze v kontextu s
příkazovým procesorem – přesněji s příkazovým procesorem, jenž realizuje interpretaci
příkazu.
http://www.abclinuxu.cz/clanky/navody/bash-i
Některé důležité systémové proměnné
Proměnná
HOME
TERM
SHELL
USER
PATH
Obsahuje
Příklad
Domovský adresář
/home/novacek
Typ terminálu
xterm,vt100,console
Cesta k příkazovému procesoru
/bin/bash
Jméno účtu
novacek
Seznam adresářů, ve kterých se
automaticky vyhledávají programy
ke spuštění
/bin:/usr/local/bin:/usr/bin/X11
Proměnná PATH
●
●
Systémová proměnná PATH obsahuje seznam adresářů
oddělených dvojtečkou, ve kterých systém automaticky
vyhledává spustitelné programy.
Když například zadám příkaz ls bude příkazový procesor bash hledat
program ls nejdříve v adresáři /home/larry/bin, který jsem vytvořil pro
ukládání mých vlastních programů. Program ls jsem však nenapsal
já, proto zde příkazový procesor tento příkaz nenašel. Jako další
prohledává příkazový procesor adresář /bin. A zde program ls našel.
Protože soubor ls je spustitelný program, přestane příkazový
procesor dále hledat a spustí jej. Může se stát, že v jiném adresáři
bude také uložen spustitelný program ls (například v adresáři
/usr/bin), ale příkazový procesor jej nespustí, pokud mu to výslovně
nepřikážete:
Přesměrování vstupů a výstupů
●
●
●
●
Jako standardní vstup bývá nejčastěji chápán vstup z klávesnice,
standarní výstup je nejčastěji veden na obrazovku (zrovna tak
standardní chybový výstup)
LINUX však umožnňuje přeměrování standardního vstupu nebo výstupu ze/do
souboru. To například umožňuje načítat vstupní data ze souboru místo klávesnice,
nebo vypisovat výstupní data do souboru (místo na obrazovku).
Přesměrování standardního výstupu
– Přesměrování lze provést pomocí znaku '>' následovaným
jménem souboru, do kterého se má výstup přesměrovat, např:
– ls -l > vystup.1
– ls -l >> vystup.1
Přesměrování standardního vstupu
–
–
–
Přesměrování lze provést pomocí znaku '<', například příkaz
cat < vstup.1
Kolony (pipeline)
●
●
V Unixu se programy, které čtou data ze standarního vstupu a
vypisují je na standardní vstup někdy označují jako tzv. filtry. Jedná
se například o programy cat, more, grep ...
Takovéto programy lze pomocí mechanismu, který se označuje jako
roura (pipe), spojovat do tzv. kolon (pipeline).
–
–
–
Princip spočívá v tom, že standardní výstup z jednoho programu
je přeměrován na standardní vstup jiného programu.
To lze na příkazové řádce zajistit pomocí znaku '|'.
Například výpis souboru 'file1' na obrazovku lze zajistit pomocí
příkazu cat file1. Když je soubor příliš dlouhý, uteče nám text za
horní okraj obrazovky. Tomu se dá zabránit buď tak, že místo
příkazu cat použijeme příkaz more, a nebo příkaz more použijeme
jako filtr:
●
cat file1 | more
Expanze jmen (souborů) tzv. "žolíkové znaky"
*
libovolná posloupnost znaků (i nulové délky), nezastupuje řetězec
?
právě jeden libovolný znak
znaků začínající tečkou
[]
právě jeden znak z množiny znaků uvedených v těchto
závorkách, při specifikaci lze použít následující dva speciální znaky:
–
používa se pro označení intervalů znaků z množiny ASCII (např.
a-z, 0-9),
–
! negace výčtu znaků
Programování v shellu – skripty, spouštění
scriptu, strukturované příkazy
●
●
●
●
●
●
●
BASH není pouze příkazovou řádkou, ale zároveň také
plnohodnotným skriptovacím jazykem
rozdíl mezi skriptovacím a kompilovaným jazykem
Skriptovací jazyky začínají psaním zdrojového kódu, ale nejsou
kompilovány. Místo toho interpreter jazyka čte instrukce ze
zdrojového kódu a podle obsahu tyto instrukce vykonává
Shell umí interpretovat scripty ( textové příkazové soubory)
Script se často používá v situacích, které se opakují a je výhodné je
zautomatizovat - např. boot systému, přihlášení uživatele apod.
Hlavní výhodou scriptu je jeho čitelnost a snadná úprava.
Nevýhodou je pomalé zpracování.
Script lze spustit stejně, jako binární program. Soubor by měl být
umístěn v adresáři uvedeném v proměnné PATH, uživatel musí mít
právo x
http://docs.linux.cz/programming/interpreted/bashdoc-1.4/
Proměnné
●
●
Proměnné jsou "krabičky" do kterých se ukládají hodnoty (laicky
řečeno).
Místa v paměti označená identifikátorem (názvem proměnné).
V bash se proměnné deklarují např takto:
#!/bin/bash
x=5
echo "Hodnota proměnné x je $x"
●
k proměnné se přistupuje pomocí znaku symbolu dolaru ($)
uvedeného před názvem proměnné
Hlavní systémové proměnné
●
$$ - obsahuje pid aktuálního procesu (ať víte co zabíjet :-)
●
$0 - obsahuje jméno právě prováděného skriptu: mujskript.sh
●
$1 - obsahuje první argument, předaný vašemu skriptu, na příkazové
řádce: parametr1
●
$9 - obsahuje 9-tý argument z příkazové řádky: parametr9
●
$# - obsahuje počet argumentů z příkazové řádky
–
mujskript.sh parametr1 parametr2 parametr3 ... parametr9
Vstup/výstup
●
●
Skript může získat od uživatele data příkazem read promenna.
Tímto se načte do proměnné promenna vše až do stisku klávesy
enter.
–
Pokud uvedeme více proměnných, uloží se do každé proměnné
jedno slovo.
–
read promenna1 promenna2 .... promennaN
výstup programu zajišťuje příkaz echo
–
echo “ Ahoj, ja jsem bash skript a jmenuju se $0. Co jsi ty?“
echo -n “ Zadej svuj plat:“
read plat
echo “ Nevypadas jako bys vydelaval $plat korun.“
SHELL - Řídící struktury
●
●
●
●
Řídící struktury můžou váš program řídit a tím ho udělat mnohem
více užitečný a efektivnější. Velmi důležitá je například detekce chyb
Řídící struktury jsou: if , case
while , until , for ,
Každá tato struktura je tzv. párová. To znamená, že začíná jako
"návěst" a končí taky "návěst".
Například struktura podmínky začíná if a končí fi
–
If ... else ... elif ... fi
–
Case ... in ... esac
–
–
While ... do ... done
–
Until ... do ... done
–
For ... in ... do ... done
IF
●
struktura pro rizeni pomoci podminek
if [ podminka ]
then
prikazy
else
prikazy
fi
Pokud je podminka splnena vykonaji se prikazy za slovem then, pokud
podminka neni splnena provedou se prikazy za slovem else, fi urcuje
konec
CASE
●
case – struktura podobná funkci if, ale zde můžeme testovat více
hodnot
case vyraz in
hodnota1)
prikazy;;
hodnota2)
prikazy;;
hodnota3)
prikazy;;
esac
Pokud je promenna vyraz rovna hodnote1, tak se vykonaji
prikazy(ukoncene jsou ;;). Konec funkce se ukonci slovem esac.
WHILE
●
while - cyklus se provádí dokud je podmínka splněna
while [ logicky_vyraz ]
do
prikazy
done
UNTIL
●
until -příkaz je podobný přikazu while, ale je opačná podminka.
cyklus trvá tak dlouho, dokud neni splněna podmínka
until [ logicky_vyraz ]
do
prikazy
done
FOR
●
tento cyklus je vhodny pro pripady, kdy vime, kolikrat se bude cyklus
opakovat
for promenna in seznam
do
prikazy
done
Příklad:
for i in 'ls *.txt'
do
cp $i ${i}.bak
done
Program vyhleda v aktualnim adresari vsechny soubory s priponou
*.txt a zalohuje je na soubory s priponiu *.bak.
Logické výrazy
●
K vyhodnocováni logických výrazů se používá
–
Příkaz test
–
nebo hranatá závorka
[ výraz ]
If test -f /etc/foo
then #Soubor existuje. Zkopíruj tedy soubor
cp /etc/foo .
echo "Hotovo!"
else
# Soubor neexistuje. Vypiš tedy chybu
echo "Soubor neexistuje!"
exit
fi
if test -f /etc/foo
then
# se dá také zapsat takto:
if [ -f /etc/foo ]; then
Správa procesů - manipulace s procesy,
signály
●
●
●
●
●
Program - soubor na disku, který můžete spustit a on bude
vykonávat nějakou činnost
Proces – program, který je spuštěn a běží.
● Synonymum = úloha (task)
Linux – víceúlohový systém -> může současně běžet více
procesů
V Linuxu (obecně i Unixu) sestává každý běžící program z
nejméně jednoho procesu. Z hlediska operačního systému jsou
jednotlivé procesy navzájem nezávislé.
Procesy, které přestoupí svoji vymezenou oblast, jsou okamžitě
ukončeny – tato vlastnost vede k velké stabilitě unixových
systémů
PID – identifikační číslo procesu
●
●
●
●
Na uživatelské úrovni jsou soubory identifikovány svým jménem, které
odpovídá jménu spustitelného souboru
Systém jednoznačně identifikuje procesy pomocí čísla - PID
Každá úloha běžící v systému má svoje unikátní identifikační číslo
procesu. Dva různí uživatelé mohou k odkazu na proces použít totéž
identifikační číslo a pak mají jistotu, že se jedná o tentýž proces
(samozřejmě za předpokladu, že jsou přihlášeni k témuž systému).
Výpis příkazu top:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13743 root 15 0 98.4m 21m 1660 S 12.3 8.5 1:52.07 X
14057 misak 15 0 61884 45m 19m S 4.3 9.0 0:59.27 konqueror
14047 misak 15 0 80420 36m 22m S 2.3 7.5 1:14.01 amarokapp
Příkaz ps – vypsání běžících procesů
●
příkazem ps je možno zobrazit přehled všech spuštěných
procesů, včetně informací o jejich stavu, velikosti a jménu,
využití CPU, doby běhu
PID – identfikační číslo procesu
USER – vlastník procesu
%CPU – Informace o velikosti oblasti CPU, kterou proces zabírá
%MEM – Informace o velikosti paměti, kterou proces zabírá
TIME – doba, po kterou byl proces zpracováván procesorem
COMMAND – Název procesu (programu)
S je process status (stav konkrétního procesu)
●
●
●
●
R = běžící
S = spící
T = traceovaný nebo zastavený
Z = zombie
PPID (parent process identification),
●
●
●
PID rodičovského procesu. (číslo procesu, který
aktuální proces spustil )
"řídící" proces, který vyvolal spuštění svého takzvaného
dceřiného procesu
procesy tvoří strom (hierarchie) ---> každý process má
svého rodiče (parent) a potomky (child)
Proces
●
●
●
●
init
Prvním procesem, který je spuštěn a má pořadové číslo 1 je init.
Všechny další procesy jsou jeho potomky a jeho zabití vede k
ukončení celého systému.
Další proces má přiřazeno číslo 2, 3, ..., až´po jisté číslo n. Jeho
hodnota bývá nejčastěji 32768.
Skutečná hodnota na vašem systému je uložena v souboru
/proc/sys/kernel/pid_max.
Pokud systém dosáhne maxima, začne přidělovat volná čísla zase od
začátku.
Procesy – nejčastější příkazy
●
ps
●
ps aux
●
- výpis všech spuštěných programů
- podrobný výpis procesů všech uživatelů
top - interaktivní program, který slouží k výpisu procesů,
které jsou řazeny podle určitého klíče např: CPU
●
kill PID
- ukončí (odstřelí, zabije) proces jednoznačně
identifikovný PID
●
kill -9 PID
●
spuštění procesu na pozadí # <příkaz> &
●
bg
přesun procesu na pozadí
●
fg
přesun procesu na popředí
- ukončí proces bez varování
http://www.linuxsoft.cz/article.php?id_article=409
Procesy - signály
●
●
●
Signál je jedním ze základních prostředků meziprocesové
komunikace
Poslání signálu běžícímu procesu vyvolá asynchronní reakci - proces
přestane vykonávat běžný kód a přednostně reaguje na signál
Nejčastější signály:
–
SIGTERM - standardní ukončení programu
–
SIGKILL - násilné ukončení programu
–
SIGSTOP - pozastavení běhu procesu
–
SIGCONT - znovuspuštění pozastaveného procesu
–
SIGHUP - ukončování terminálu (odhlášení)
–
SIGINT - přerušení programu klávesovou zkratkou Ctrl-C
démon (daemon)
●
proces, který neustále běží „na pozadí“, kde průběžně vykonává
nějakou činnost a není (za běžných okolností) ukončován.
●
démon obvykle nijak nekomunikuje s uživatelem, pracuje samostatně
●
proces , který běží v systému a poskytuje nějaké služby
●
používá se také termín služba (service).
●
běží nezávisle na tom, jestli je k systému někdo přihlášen nebo ne,
spouští se obvykle hned po startu systému
–
web server
–
dns server
–
dhcp server
–
sendmail, ....
Plánování procesů - cron , at
●
●
●
●
●
●
Uživatelé i správci systému často potřebují spouštět některé
programy pravidelně. Například administrátor systému, který musí
sledovat zaplněnost disku, by mohl chtít pravidelně spouštět příkaz,
jenž by „vyčistil“ adresáře dočasných souborů (/tmp a /var/tmp).
Program by odstranil starší dočasné soubory, které po sobě programy
z různých důvodů korektně nesmazaly.
Takovéto služby nabízí program cron.
Každý uživatel má vlastní soubor crontab, jenž obsahuje seznam
příkazů, které chce vlastník spustit, a časy, kdy se mají tyto příkazy
provést. Démon cron má na starosti spouštění těchto příkazů v
požadovaném čase.
Služba at je podobná službě cron, provede se ale jenom jednou.
Příkaz je vykonán v určeném čase, ale jeho spouštění se neopakuje.
Podrobnější informace viz manuálové stránky cron(1), crontab(1),
crontab(5), at(1) a atd(8).
http://cs.wikibooks.org/wiki/Plánování_spouštění_úloh
Nástroje pro práci s textem,
význam textového formátu dat
●
základní uživatelské rozhraní (ve smyslu komunikace uživatele se
sytémem) je textové rozhraní a příkazový řádek
–
●
●
●
●
grafické rozhraní je něco „navíc“, jenom jakási nadstavba
cokoliv se v Linuxu prezentuje jako soubor, s kterými se na
příkazovém řádku snadno pracuje
Linux je založen na textových souborech, s kterými uživatel přímo
pracuje (prohlížení,editace,další zpracování,...)
Aplikace v Linuxu ukládají konfigurace do konfiguračních souborů
–
jednoduchá editace
–
jednoduchá záloha
Propracované logování – vše se zapisuje do logů
–
možnost dohledat chyby, útoky, ...
Textové editory
●
nejrozšířenější textové editory v GNU/Linuxu Vim a Emacs
●
další editory mcedit, joe
●
●
používají regulární výrazy k vyhledávání textu a také k jeho
nahrazování
Editor Vim (vi)
–
Spuštění - vi soubor
–
Režimy - editační , příkazový , řádkový
–
Základní příkazy
–
Pohyb v textu
–
Hledání vzorků
–
Filtry
●
●
jsou to programy, které jako vstup přijímají text, provedou
s nim nějaké operace a pak upravený text vypíšou na
obrazovku
cat - tento příkaz čte data ze standardního vstupu a zobrazuje je na
standardním výstupu (načte text a zobrazí jej)
●
more - používá se k dokonalejšímu vypsání souborů, interaktivní
●
less - vylepšení příkazu more
●
sort - příkaz načte vstupní soubor a setřídí ho
●
cut - vypíše na obrazovku zadané sloupce ze vstupních souboru
●
●
●
head - příkaz zobrazí prvních 10 řádků ze souboru (počet řádků lze
měnit pomocí parametru)
tail - příkaz zobrazí posledních 10 řádků ze souboru (počet řádků lze
měnit pomocí parametru)
grep
Příkaz grep
Příkaz grep čte data (text) ze standardního vstupu a na výstup vypisuje
řádky odpovídající jistému vzoru.
Příkaz ls -l /dev | grep petera
vezme z výstupu příkazu ls pouze řádky se soubory, na
nichž se vyskytuje slovo 'petera', což budou
pravděpodobně soubory, jejichž vlastníkem je uživatel
'petera'.
Pokud lze předpokládat, že řádku bude mnoho, lze ještě
použít filtr more, např:
ls -l /dev | grep root | more
Regulární výrazy
●
●
●
●
zkráceně označovaný regexp či regex
je to předpis pro porovnávání textových řetězců podle určitých vzorků
univerzální pomocník při práci s textem
sestávají z "normálních" znaků a z metaznaků
Jejich prostřednictvím můžete:
●
vytahovat z textových dat údaje, které vás zajímají
●
přetvářet je do podoby, kterou potřebujete
●
vyhledávat a nahrazovat v textových editorech a dalších
programech
●
regulární výrazy – wikipedia
●
http://www.root.cz/serialy/regularni-vyrazy/
●
http://www.regularnivyrazy.info/
Regulární výrazy
●
●
●
●
Je to předpis pro porovnávání textových řetězců podle určitých
vzorů sestávajících z "normálních" znaků a z metaznaků - znaků
majících zvláštní význam, viz dále.
Rozlišují se malá a velká písmena (většina implementací umožňuje
jejich rozlišení potlačit, pokud je to žádoucí).
Regulární výrazy jsou "žravé". To znamená, že se každá část výrazu
snaží vždy "spolknout" co nejvíce vyhovujících znaků, teprve pak se
pokračuje ve zkoumání dalších částí výrazu. Mají paměť - můžete si
zapamatovat část vyhovujícího řetězce a použít ji později.
Používají se mj. v textových editorech (vi, ed,..), skriptovacích
programech (awk, perl, Tcl,..), prostředcích pro práci s textem (grep,
sed,..). Knihovnou pro práci s regulárními výrazy dnes disponuje řada
programovacích jazyků.
Regulární výrazy - použití
●
●
Používá celá řada programů v Unixu.
Umožňují prohledávat soubory (grep, egrep), editovat je (sed,
vi), analyzovat a vypočítávát zajímavé údaje (awk) či nabízejí
plnohodnotný programovací jazyk, kde si můžete dělat, co vás
napadne (Perl, Tk).
GREP a spol.
●
●
●
●
slouží k vyhledávání v souborech
Typické použití: hledáme určitý identifikátor ve zdrojových
kódech nebo chceme zjistit, odkud se spouští určitý program.
Spuštění: grep vzor seznam_souborů
–
Vzorem je regulární výraz.
–
Výstup programu tvoří řádky, které vyhovují zadanému vzoru
Pokud program zkoumá více než jeden soubor, vypíše
zároveň před každý řádek název souboru, ze kterého
pochází.
grep , egrep , fgrep
SED
●
Program sed je neinteraktivní editor
●
Zadáte mu sadu příkazů a on podle nich zpracuje vstupní text
Regulární výrazy se v sedu vyskytují hned ve dvojí roli:
●
●
Lze je použít k vyhledání řádků, na které se má vztahovat určitý
příkaz.
Druhým místem výskytu regulárních výrazů je příkaz pro
nahrazování, který má tvar s/vzor/náhrada/.
●
Vyhledává regulárním výrazem zadaný vzor a pokud jej
najde, vloží na jeho místo náhradu
AWK
●
●
●
Program awk realizuje specializovaný programovací jazyk, který
umožňuje zpracovávat textové soubory s pevnou strukturou
(např. /etc/passwd, výstup příkazu ls -l a podobně).
Regulární výrazy opět vystupují ve dvou známých rolích: určují řádky,
kterých se operace týká, a vyskytují se v nahrazování.
Základním problémem awku je jeho jednostrannost. Syntaktický tvar
programů je velmi nezvyklý a držet jej v hlavě kvůli úzce vymezené
skupině úloh, které dokáže řešit, se podle mého soudu nevyplatí.
●
http://cs.wikipedia.org/wiki/AWK
●
http://www.ucw.cz/~hubicka/skolicky/skolicka20.html
●
http://www.ics.muni.cz/zpravodaj/articles/33.html
Základy práce v systému - základní příkazy,
archivace, vyhledávání souborů, instalace a aktualizace SW
●
ls
vypíše obsah aktuálního nebo zadaného adresáře
●
cd [ADRESÁŘ]
●
pwd zobrazí aktuální adresář
●
cp
zkopíruje soubor do jiného souboru, nebo zkopíruje několik
souborů do zadaného adresáře
●
mv
přesouvá soubory do jiného adresáře , nebo je přejmenuje
●
mkdir
vytvoří nový adresář
●
rmdir
zruší prázdný adresář
●
rm
smaže jeden nebo více souborů
●
chmod
mění atributy souborů
změní aktuální adresář
Základní příkazy OS Linux - pokračování
●
cat , less
vypíše obsah souboru na obrazovku
●
df
zobrazí kapacitu, obsazení a volné místo všech
připojených jednotek (pevné disky, CD-ROMy)
●
du
zobrazí velikosti adresářů
●
free
zobrazí kolik je obsazené a volné paměti ram a místa v
odkládacím prostoru (swap)
●
passwd změna hesla
Archivace - program tar
●
K archivaci dat slouží program tar (tape archiver)
–
–
●
●
●
●
Původně byl určen k archivaci na magnetickou pásku
Vytvoření archivu znamená, že několik souborů spojíme do jednoho a
jsme schopni tento celistvý soubor zase následně rozdělit do původních
souborů anebo přidat/ubrat soubory do/z tohoto archivu
Program tar pracuje ve čtyřech různých módech,
– x - rozbalení existujícího archivu (extract),
– c - vytvoření nového(create),
– t - výpis obsahu
– r - přidání souboru do archivu.
Vytvoření archivu: tar cvf home.tar /home/kmartin
– f (file) - říká, že tar má zapisovat do souboru , v - verbose
Rozbalení archivu: tar xvf home.tar
Komprimace
●
●
●
●
●
●
Komprimace - zmenšení velikosti souboru
V GNU/Linuxu nemůžeme vzít adresář a ten celý zkomprimovat do
jednoho souboru. Nejprve si vytvoříme archiv, který bude tyto soubory
obsahovat a ten následně zkomprimujeme.
gzip - používá pro kompresi kompresní metodu LZ77
–
Defaultní přípona gzip archivu je .gz.
–
Balení (komprimace):
–
Rozbalování (dekomprimace): gzip -d jmeno_gzip_archivu
gzip jmeno_souboru ...
Bzip2 - komprimuje pomocí Burrows-Wheeler block sorting text compression algorithm
–
Defaultní přípona bzip2 archivu je .bz2.
–
Balení (komprimace):
–
Rozbalování (dekomprimace): bzip2 -d jmeno_bzip2_archivu
bzip2 jmeno_souboru ...
compress , uncompress – přípona .Z (starší, už se nepužívají)
Shrnutí - archivace
●
●
●
Archivace + komprimace
➢ tar cf archiv.tar soubory ; bzip2 archiv.tar
➢ tar cf - soubory | bzip2 > archiv.tar.bz2
➢ tar cfz archiv.tar.gz soubory
Dekomprimace
–
bzip2 -d archiv.tar.bz2 ; tar xf archiv.tar
–
bzip2 -cd archiv.tar.bz2 | tar xf -
–
tar xfz archiv.tar.gz
souborový manažer Midnight Commander zvládá rozbalování
archivů tar, gz, bz2, tar.gz, tar.bz2 .....
–
Na takovém archivu jen stačí zmáčknout [enter], tím se z archivu
stane readonly adresář a zabalené soubory lze prohlížet a
vybalovat (kopírovat z archivu).
Vyhledávání souborů
●
which - prohledává jen adresáře uvedené "v cestě" PATH a jako výsledek
vrací první výskyt hledaného souboru a adresářovou cestu k němu
●
●
whereis - pracuje podobně jako which, ale navíc může vyhledávat
manuálové stránky a zdrojové soubory
find - příkaz find umí hledat cokoliv a kdekoliv
–
●
Práce příkazu find trvá trochu déle, protože musí prohledat celý adresářový
strom. Navíc, pokud jej spouštíte jako normální uživatel, obdržíte nejspíš
spoustu chybových hlášení o odmítnutém přístupu do adresářů, které
smí prohlížet jenom root
locate - příkaz prohledává celý souborový systém stejně, jako to dělá
příkaz find, ale namísto skutečného souborového systéu prohledává svoji
databázi. Databáze je nastavena tak, aby se automaticky updatovala
Instalace a aktualizace software
●
●
●
●
K instalaci, odinstalaci a aktualizaci softwarového vybavení slouží v
GNU/Linuxu primárně správce balíčků (package manager)
Balíček může být knihovna, datové soubory k programu, program
samotný, dokumentace k programu nebo jiná komponenta
Balíčky mají mezi sebou závislostní vazby, které určují, co vše je
potřeba mít nainstalované, aby fungoval náš program
Chce-li uživatel nainstalovat, odstranit či aktualizovat balíčky, použije
za tímto účelem správce balíčků. Správce balíčků se podívá do
databáze, vyřeší závislostní vazby a vyžádá si potvrzení od uživatele,
je-li s vyřešením závislostí spokojen. Následně stáhne pomocí svých
nástrojů sám všechny potřebné balíčky a ty nainstaluje, balíčky
označené pro odinstalaci ze systému odstraní.
●
Redhat , Fedora - RPM Package Manager
http://www.rpm.org/
●
Debian - Advanced Packaging Tool – APT http://www.debian.org/
●
●
●
Nové balíčky se instalují pomocí přepínače -i a upgrade se pak
provádí buď parametrem -U (upgrade) nebo -F (freshen).
Podstatné je, že -U nainstaluje i balíček, který zatím v systému nemáte (takže jej lze
používat bez obav místo -i), zatímco -F jej přeskočí. To je praktické například když si
stáhnete větší množství balíčků, ale chcete upgradovat jenom ty, co už instalované
máte. Rpm umí instalovat i balíčky přímo přes FTP nebo HTTP protokol, takže je
nemusíte ani před instalací či upgradem stahovat.
Instalace balíčku:
–
●
Upgrade balíčku z anonymního FTP serveru:
–
●
●
●
rpm -U ftp://nekde.cz/pub/RPMS/balicek-1.0-2.i386.rpm
Upgrade pouze instalovaných balíčků:
–
●
rpm -i balicek-1.0-2.i386.rpm
rpm -F *.rpm
Všechny tři zmiňované volby (-i, -U, -F) lze doplnit o volby -v a -h, které způsobí, že
rpm bude informovat o tom, co právě provádí a navíc doplní instalaci (či upgrade) o
"teploměr" ukazující průběh práce. Celý povel pak může vypadat třeba takto:
rpm -Uvh balicek-1.0-2.i386.rpmPříklady
Balíčkovací systém distribuce Debian APT
●
Balíčky mají koncovku .deb
●
používá také distribuce Ubuntu
●
apt-get update ...
●
apt-get install balicek ...
●
apt-get remove balicek ... Odebere ze systému zadaný balíček
●
apt-get upgrade ... Aktualizuje všechny balíčky nainstalované v systému
●
apt-cache search vyraz ... Vyhledá balíčky související s daným výrazem
●
Aktualizuje seznam balíčků
Nainstaluje do systému zadaný balíček
Instalace ze zdrojového kódu
●
Postup
–
Rozbalit archiv
tar , unzip ,...
–
Zjišťování závislostí, chyb
./configure
–
Kompilace programu
make
–
Instalace programu
make install
Správa uživatelů v OS GNU/Linux
●
●
Uživatelský účet - pojmem uživatelský účet se označují všechny
soubory, zdroje a informace, které se vztahují k danému uživateli
Vytváření uživatelského účtu
–
samotné jádro OS Linux považuje uživatele za pouhé číslo tzv. UID
(User ID)
–
informace o uživateli se udržují ve zvláštní databázi mimo jádro
systému
–
vytváření nového uživatele se přidají informace o něm do uživatelské
databáze a vytvoří se pro něj domovský adresář
–
základní databází uživatelů je soubor /etc/passwd
soubor /etc/passwd
●
●
●
každému uživateli odpovídá jeden řádek
každý uživatel může číst tento soubor
řádek je rozdělen na 7 polí, která jsou oddělena dvojtečkou (:)
–
uživatelské jméno : heslo : ID uživatele :
ID pracovní skupiny (GID – Group ID) : skutečné
jméno uživatele : domovský adresář : příkazový
interpret, který se spustí po přihlášení
–
ID uživatele: 0 – 500 je vyhrazeno pro systém
–
ID = 0 uživatel bude mít práva roota
v současnosti se používá systém stínových hesel (shadow password)
– zakódovaná hesla se ukládají do souboru /etc/shadow, který
může číst pouze superuživatel
–
každému uživateli odpovídá jeden řádek, jednotilivá pole jsou
rozdělena dvojtečkou (:)
● uživatelské jméno : heslo :
Vytváření uživatelských účtů
●
Příkaz useradd / adduser
●
parametry příkazu:
–d home_directory : název domovského adresáře, defaultně
se vytvoří podle uživ. jména
–g ID_základní skupiny : ID základní skupiny, lze zadat jako
řetězec nebo číslo
–G ostatní_skupiny : členství v dalších skupinách
–m : do domovského adresáře zkopíruje soubory z /etc/skel
–u UID : definice ID uživatele
Nastavení uživatelského prostředí
● po vytvoření domovského adresáře uživatele se zkopírují soubory z
adresáře /etc/skel
● adresář /etc/skel obsahuje základní konfigurační soubory
Smazání uživatelského účtu
●
příkaz userdel
–
parametry příkazu:
–
– r : vymaže i domovský adresář
příklad:
–
●
●
userdel Petra // smazání pouze uživatele
userdel –r Petra // vymazání uživatele i domovského
adresáře
Modifikace uživatelského účtu
●
●
po vytvoření uživatelského účtu můžeme změnit některé parametry
(domovský adresář, členství ve skupinách, přihlašovací jméno, …)
příkaz usermod
–
parametry příkazu:
●
●
●
●
–d home_directory : název domovského adresáře, defaultně
se vytvoří podle uživ. jména
–g ID_základní skupiny : ID základní skupiny, lze zadat jako
řetězec nebo číslo
–G ostatní_skupiny : členství v dalších skupinách
–u UID : definice ID uživatele
●
příklad:
usermod Petra –d petra2
// změní domovský aresář
Správa skupin soubor /etc/group
●
seznam všech skupin je uložen v souboru /etc/group
●
●
●
každé skupině odpovídá jeden řádek
název skupiny : x : ID skupiny : členové této
skupiny, kteří jsou odděleni čárkou
Základní skupina (–g) x Ostatní skupiny (-G)
–
základní skupina = hlavní skupina daného uživatele
–
ostatní skupiny = seznam všech skupin, ve kterých se daný
uživatel nachází
Správa skupin vytvoření/smazání
●
Vytvoření skupiny:
–
příkaz groupadd
–
parametry příkazu:
– – g ID skupiny : ID skupiny
příklad:
–
groupadd studenti
groupadd ucitele –g 800
// vytvoří skupinu studenti
●
// vytvoří skupinu
ucitele s ID 800
Smazání skupiny
–
příkaz groupdelp
–
příklad:
groupdel studenti
Správa uživ. účtů – další příkazy
●
Změna hesla uživatele
–
●
passwd přihlašovací_jméno
Změna vlastníka adresáře
–
příkaz chown
–
použití: chown vlastník:skupina adresář
●
●
příklad: chown baloun:studenti /home/baloun
Změna přístupových práv k vytvořenému domovskému adresáři
–
pomocí příkazu chmod
Konfigurace síťového rozhraní
●
ifconfig -a .... zobrazí všechna zařízení
●
Standardní zařízení:
–
lo
loopback (smyčka) , IP: 127.0.0.1
–
speciální zařízení, které je schopno posílat pakety samo
sobě
– používáno za účelem testování, existuje vždy pouze jedno
– slouží pro komunikaci počítače sám se sebou
eth0 , eth1 , …
–
ethernetová síťová karta
Konfigurace pomocí příkazu ifconfig
–
●
–
–
nebo editací souborů
●
/etc/sysconfig/network–scripts/ifcfg–eth0
● /etc/sysconfig/network–scripts/ifcfg–eth1
Statická a dynamická konfigurace
●
Statická konfigurace
Ruční (manuální) nastavení síťové konfigurace
● IP adresa
● maska
● brána (default gateway)
● name server
Dynamická konfigurace
– získává potřebné údaje přes DHCP
– efektivnější při správě více počítačů
–
●
Příklady nastavení karet
●
●
informace o nastavení:
– ifconfig -a
–
ip link show
–
ip addr show
–
route
–
ip route show
jednoduché přidělení adresy:
–
ifconfig eth0 192.168.2.3 netmask 255.255.255.0
–
ip addr add 192.168.2.3/24 brd + dev eth0
Nastavení směrování - Linux
●
●
●
●
●
●
příkaz[root@2202-xx]# route -n ... výpis směrovací tabulky
příkaz[root@2202-xx]# route add -net 192.168.1.0/24 gw 172.16.1.11
přidá do směrovací tabulky informaci o cestě do sítě 192.168.1.0
příkaz[root@2202-xx]# route add default gw 172.16.1.1 ... nastaví defaultní
cestu
soubor /etc/sysconfig/network-scripts/route-xxx ... statické routy pro
rozhraní xxx
soubor
/etc/sysctl.conf ... povolení či zákaz směrování
soubor /proc/sys/net/ipv4/ip_forward ... povolení směrování - aktuální
stav
NAT - Network address translation
●
●
funkce síťového routeru pro změnu IP adres packetů procházejících
zařízením, kdy se zdrojová nebo cílová IP adresa převádí mezi
různými rozsahy.
Nejběžnější formou je tzv. maškaráda (maskování), kdy router IP
adresy z nějakého rozsahu mění na svoji IP adresu a naopak - tím
umožňuje, aby počítače ve vnitřní síti (LAN) vystupovaly v
Internetu pod jedinou IP adresou. Router si drží po celou dobu
spojení v paměti tabulku překladu adres. Tuto funkci podporují téměř
všechna současná síťová zařízení.
IP masquerade (maškaráda)
●
●
●
●
●
●
IP masquerade je síťová služba OS Linux.
Pokud je počítač s OS Linux s běžící službou IP masquerade připojen
k Internetu, pak další počítače propojené s touto stanicí lokální sítí či
modemem mohou pracovat s Internetem, i když nemají přiděleny
jedinečné IP adresy.
Tento způsob připojení dovoluje stanicím ukrytým za vstupním
bodem ”neviditelně” přistupovat k službám Internetu.
Celý systém pak vystupuje jako jediná k Internetu připojená
stanice.
Vedlejší ale velmi příjemný efekt této metody je (při správném
nastavení) získání bezpečného připojení
Paketové filtry na Linuxu - Netfilter
●
●
●
●
●
je součástí jádra
firewall, který kromě základního paketového filtru podporuje také
stavové filtrování a NAT
iptables slouží k nastavení a správě tabulek (= tables) filtrovacích
pravidel v jádře Linuxu
Tabulky obsahují řetězce (= chains) pravidel
3 typy tabulek:
– filter - zde se definuje filtrování paketů. Implicitní tabulka pokud žádnou neuvedeme, použije se tato.
– nat - slouží k překladu adres (NAT)
– mangle - slouží ke změně příznaků paketu (např. ke změně
TOS, či TTL, nebo k označení paketů)
IPTABLES
Vzdálené připojení
protokol telnet
●
●
●
●
●
●
klient/server protokol přenosové architektury TCP
Tento protokol dovoluje uživateli klientského terminálu se připojit ke
vzdálené stanici či síťového uzlu pomocí TCP/IP
Pracuje na portu 23
Po navázání spojení, uživatel může zadávat příkazy, které budou
prováděny jako kdyby byly napsány přímo na klávesnici vzdáleného
počítače.Telnet není ve srovnání s ostatními protokoly moc
propracovaný, stále je však využíván pro vzdálenou administraci a
jako nástroj pro odstraňování daných problémů.
Není zabezpečený
Telnet standardně nešifroval žádná data odesílaná do internetu
(včetně hesel), často se také dala komunikace přímo odposlouchávat
a dále takto odposlechnutá hesla zneužít; kdokoliv kdo měl přístup do
routeru, switche nebo hubu umístěného na síti mezi dvěma
zařízeními
SSH - Secure Shell
●
klient/server protokol v síti TCP/IP, který umožňuje bezpečnou
komunikaci mezi dvěma počítači pomocí transparentního šifrování
přenášených dat
●
Pracuje na portu 22
●
program pro OS Windows - PuTTY
●
SSH program je dnes běžně používán při vzdálené práci a pro
vzdálenou správu. Většinou se spojuje s SSH démonem (SSH
daemon, sshd) pro navázání spojení. SSH démon rozhoduje podle
svého nastavení, zda spojení přijme, jakou formu autentizace bude
požadovat, případně na kterém portu naslouchá. Implementace SSH
klientů i serverů (SSH démon) je dostupná na téměř jakékoli
platformě
●
SCP (Secure File Copy) – bezpečné (šifrované) přenášení souborů
●
program pro OS Windows - WinSCP
SSH - Autentizace pomocí klíčů
●
Vygenerování dvojice ssh klíčů na stanici, ze které se budu připojovat na
vzdálený server
–
●
ssh-keygen -t dsa
Kopie public klíče na vzdálený server
–
cat ~/.ssh/id_dsa.pub | ssh uzivatel@server 'cat >> ~/.ssh/authorized_keys'
FTP protokol
●
FTP = File Transfer Protocol
●
Určen pro přenos souborů mezi počítači
●
●
Zajišťuje přenos souborů mezi rozdílnými operačními
systémy
Potřebné dva počítače
1. Na jednom počítači server FTP
2. Na druhém počítači ftp klient
●
●
●
●
FTP server naslouchá na portu 21. Na tomto portu běží
pouze příkazy.
Na portu 20 se přenáší pouze data.
FTP protokol – připojení
Pomocí ftp klienta
●
●
●
OS windows – integrovaný řádkový klient
přes příkazovou řádku vložte ftp
Příkazy: open, get, put, …, help
Grafický klient – např. Total Commander,
Anonymní připojení
servery na Internetu podporují tzv. anonymní připojení
user: anonymous
password: e-mail adresa
umožňuje pouze čtení dat
FTP protokol – nevýhody
●
Hesla a soubory jsou zasílány jako běžný text (nejsou šifrovaná)
Při běžném připojování pomocí protokolu FTP jsou přihlašovací údaje (jméno a heslo)
přenášeny v textové podobě a je technicky možné je odchytit Následně mohou být naše data
zcizena nebo upravena. Často slyšíme a čteme, jak se hackeři nabourali do serverů a
nezřídka jim k tomu stačil tak triviální úkon, jakým je zachycení nešifrovaného FTP hesla.
Firewall může blokovat stahování, problémy mohou také nastat
při stahování velkých souborů nebo při stahování trvající dlouhou
dobu.
●Je možné zachytávat data třetím počítačem, proto se
nedoporučuje používat FTP pro důležitá data.
●FTP má poměrně dlouhou dobu odezvy, proto není vhodné
stahovat velké množství malých souborů.
●
●
Secure FTP - automatické šifrování dat
- odstraňuje nevýhodu bezpečnosti protokolu FTP
Linux jako server
instalace a konfigurace služeb na OS LINUX
●
OS Linux můžeme použít jako server:
–
DHCP
–
DNS
–
Web server
–
Fileserver (NFS, Samba)
–
Poštovní server
–
Firewall
–
Proxy server
–
Služby pro vzdálenou správu
Protokol DHCP
●
●
aplikační protokol pro dynamické nastavení parametrů sítě:
– IP adresa, maska sítě, výchozí brána, DNS servery
Funguje na principu klient-server.
–
●
DHCP server "propůjčí" tyto parametry sítě síťové stanici na
určitou dobu. Po této době musí stanice žádat o adresu
znovu. DHCP server u každého klienta eviduje IP adresu a
čas, do kdy ji klient smí používat (doba zapůjčení, lease time)
DHCP využívá transportního protokolu UDP, klient komunikuje na UDP
portu 68, server naslouchá na UDP portu 67
Výhody dynamické konfigurace
parametrů sítě prostřednictvím DHCP
●
●
●
●
Jednodušší správa a šetření adresního prostoru
zaručuje, že se na síti nevyskytnou dvě stejné IP adresy (tzv. konflikt
IP adres), což např. u ruční konfigurace parametrů sítě na každé
stanici nelze snadno zaručit
správce sítě může snadno "přečíslovat" celou síť nebo změnit
vlastnosti sítě s minimálním zásahem do práce uživatelů
uživatelé si na počítači v souvislosti s připojením k síti nemusí nic
nastavovat, pouze musí mít povolené využití služeb DHCP.
DHCP server
●
DHCP Server slouží pro dynamické přiřazování IP adres a
dalších síťových parametrů klientům.
●
●
●
DHCP server je aplikace, která běží jako démon na portu 67 nad UDP
protokolem. Čte na stanoveném rozhraní broadcasty.
DHCP server od ISC
–
Konfigurace /etc/dhcpd.conf
–
Při startu je načten tento soubor a možné adresy jsou uloženy v
paměti. Požádá-li klient o IP adresu, server rezervuje pro tohoto
klienta adresu (pronájem adres). Každý pronájem adresy je jen na
určitou dobu, nastavené v konfiguračním souboru. Předtím, než
uplyne doba ukončení pronájmu adresy, musí klient znovu žádat o
prodloužení (renew ) doby pronájmu adresy. Po vypršrní této lhůty
již může přidělit server danou adresu jiné stanici.
Konfigurace DHCP - dhcp.conf
●
subnet 192.168.1.0 netmask 255.255.255.0
●
range 192.168.1.201 192.168.1.220;
●
default-lease-time 86400;
●
Max-lease-time 86400;
●
option routers 192.168.1.1;
●
option broadcast-address 192.168.1.255;
●
option subnet-mask 255.255.255.0;
●
option domain-name-servers 192.168.1.100;
●
option nntp-server 192.168.1.100;
# You can also assign specific IP addresses based on the clients'
# ethernet MAC address as follows (Host's name is "smallfry":
host smallfry {
hardware ethernet 08:00:2b:4c:59:23; fixed-address 192.168.1.222;}
Protokol - DNS
●
DNS = Domain Name system
●
Služba, která zajišťuje převod názvů na IP adresy
Každá IP-adresa má přiřazeno doménové jméno (může mít
přřazeno i několik)
●
●
Vazba mezi jménem počítače a IP adresou je definována v
DNS databázi <– uložena na DNS server (name server)
●
protokol používá porty TCP/53 i UDP/53
Všechny aplikace, které zajišují komunikaci mezi počítači používají k identifikaci
komunikujících uzlů IP-adresu. Pro člověka jako uživatele jsou však IP-adresy
těžko zapamatovatelné. Proto se používá místo IP-adresy název síťového
rozhraní.
DNS server (name server)
●
●
●
udržuje informace pro překlad jmen počítačů na IP-adresy
Name server obhospodařuje nějakou část z prostoru jmen
všech počítačů <- tato část se nazývá zóna.
Primární server je ten, na němž data vznikají. Pokud je třeba
provést v doméně změnu, musí se editovat data na jejím primárním
serveru. Každá doména má právě jeden primární server.
●
Sekundární server je automatickou kopií primárního.
Průběžně si aktualizuje data a slouží jednak jako záloha pro případ
výpadku primárního serveru, jednak pro rozkládání záteže u
frekventovaných domén.
●
Pomocný (caching only) server slouží jako vyrovnávací
paměť pro snížení záteže celého systému. Uchovává si odpovědi
a poskytuje je při opakování dotazů, dokud nevyprší jejich životnost.
DNS server BIND
●
nejpoužívanějším DNS server na platformě Unix
●
Konfigurace v /etc/named.conf
–
–
–
–
Definice zón – primární / sekundární nameserver
Zóna - doména (většinou)
/var/named – zónové soubory = seznam záznamů
Doménové záznamy:
● SOA
hlavička zóny sériové číslo změny
intervaly aktualizací a expirací e-mail na
hostmastera autoritativní (primární) nameserver
● A
přiřazení IP adresy jménu
● NS
odkaz na doménové nameservery
● MX
odkaz na doménové mailservery
● CNAME definice aliasu ke kanonickému jménu
●
●
PTR
pro
reverzní záznamy v doménách in-addr.arpa
převod z IP adresy na jméno
DNS - resolver
●
●
●
Pro konfiguraci klienta DNS používáme nástroj resolver
Resolver implementuje funkce pro převod doménových jmen na IP adresy a
naopak, funkce pro dotazování jmenného serveru apod.
Konfigurace:
–
/etc/resolv.conf - seznam jmenných serverů služby DNS
–
/etc/hosts - obsahuje statický seznam doménových jmen a IP adres
–
/etc/nsswitch.conf
●
/etc/host.conf
Zde je nastaveno, jaký způsob převodu jmen na IP adresy a
naopak se použije: jestli pouze statický seznam, služba DNS,
obojí a jestliže obojí, pak v jakém pořadí
●
●
Nejznámější a nejrozšířenější implementací je OpenSSH pocházející
z OpenBSD systému
V Linuxu používáme balík OpenSSH obsahující jak SSH server
(sshd), tak i klient (ssh)
●
●
●
Tato implementace používá asymetrické šifrování RSA pro výměnu
komunikačních klíčů a dále symetrické šifry 3DES, Blowfish, AES a
Arcfour pro vlastní přenos (RSA je výpočetně náročná šifra, pro
vlastní přenos dat jsou vhodnější symetrické šifry). Vše je naprosto
transparentní
http://pcblog.cz/clanek/117/openssh-popis-konfiguracniho-souboru/
Webový server
Webový server - počítač, který je odpovědný za vyřizování
požadavků HTTP od klientů ( webový prohlížeč ). Vyřízením
požadavků se rozumí odeslání webové stránky.
●
Každý webový server je připojen k počítačové síti a přijímá
požadavky ve tvaru HTTP. Tyto požadavky vyřizuje a počítači, který
požadavek vznesl, vrací odpověď. Odpověď obvykle představuje
nějaký HTML dokument. Může to být ale i dokument v jiném formátu
- text, obrázek apod.
●
●
Součástí odpovědi je i tzv. Stavový kód odpovědi. Ten udává, zda
byl požadavek vyřízen v pořádku, či zda došlo k nějakým obtížím.
Bežným stavovým kódem, označující stav OK je 200. Dále jsou to
řády:
•
3xx - problémy spojené s přesměrováním
•
4xx - chyby související s vyřízením požadavku (stránka není
dostupná, apod.)
•
5xx - interní chyby serveru
●
Obvykle server nějakým způsobem protokoluje přijímané požadavky. To pomáhá
správci webového serveru vytvářet statistiky a podle typu a množství požadavků
optimalizovat obsah, způsob uložení i způsob prezentace požadovaných dat.
Apache server
●
●
●
●
Apache HTTP Server je softwarový webový server s otevřeným
kódem pro Linux, BSD, Microsoft Windows a další platformy.
V současné době dodává prohlížečům na celém světě většinu
internetových stránek.
Vývoj Apache začal v roce 1993 v NCSA (National Center for
Supercomputing Aplications) na Illinoiské univerzitě.
Od dubna 1996 byl Apache nejpopulárnější server na internetu. V
květnu 1999 běžel na 57 % všech serverů a v listopadu 2005 jeho
používanost dosáhla 69 % (výsledky měření Netcraft).
Název vznikl z anglického slovního spojení „A patchy server“
(záplatovaný server). Jako indiánský symbol je ve znaku ptačí pero.
Apache – konfigurace – soubor httpd.conf
●
●
●
●
●
DocumentRoot / var /www
– Velice důležité nastavení, které ukazuje, ve které složce jsou
umístěny dokumentypro zobrazení serverem (typicky www
stránky - html, php scripty atp.).
Listen 192 . 168.16. 2 : 80
– Tímto nastavíme IP a port, kde bude Apache čekat na příchozí připojení
Port 80
– Opět nastavení naslouchajícího portu
BindAddress server.root.cz
– Hostname serveru (dle DNS z´aznamu)
ServerAdmin [email protected]
– E-mailová adresa administrátora serveru. Zobrazuje se uživateli
zejména při chybových hláškách serveru.
●
●
Podpora CGI scriptů
– <Directory "/var/www/cgi-bin">
NFS - Network File System
●
●
●
●
●
●
NFS je obvykle používán ke sdílení souborů mezi různými počítači na
síti
internetový protokol pro vzdálený přístup k souborům přes
počítačovou síť
V prostředí Linuxu se jedná asi o nejpoužívanější protokol pro tyto
účely
V praxi si můžete prostřednictvím NFS klienta připojit disk ze vzdáleného
serveru a pracovat s ním jako s lokálním.
NFS (Network File System) umožňuje sdílení adresářů na straně serveru.
Klient si adresář jednoduše přimountuje a pracuje s ním, jako by byl u něj na
počítači
Konfigurace NFS serveru
●
konfigurační soubor /etc/exports
●
na jednotlivých řádcích obsahuje definice sdílených adresářů. Jako první je název
adresáře a pak seznam povolených klientů (zde jsou uvedeny názvy server, stanice
a IP adresa) s přidanými volitelnými parametry
●
/usr
●
/home
10.1.2.3(ro)
stanice(ro)
10.1.2.3(rw,no_root_squash)
stanice(rw)
Parametry:
* ro (read-only) – pouze pro čtení
* rw (read-write) – povoleno čtení i zápis
* no_root_squash – mapovat požadavky uživatele root na
běžného uživatele (obvykle nobody)
Po nastavení konfiguračního souboru je třeba provést příkaz exportfs -a,
který provede načtení konfigurace do NFS
Kontrolu nastavení NFS lze provést příkazem showmount -e
Kontrolu spuštění NFS lze provést příkazem rpcinfo -p
Konfigurace klienta
●
Klient připojuje adresář ze serveru do svého adresářového stromu stejným
způsobem, jako jsou připojovány jednotlivé systémy souborů
●
mount -t nfs server:/home /home
●
mount -t nfs server:/usr /mnt/usr-from-server
●
●
Od této chvíle může klient s daty v adresáři /home a /mnt/usr-from-server pracovat
stejně, jako kdyby byly umístěny na lokálním počítači.
Připojení po startu:
●
●
●
Přidat řádky do souboru /etc/fstab
server:/home /home nfs rw 0 0
SAMBA
●
●
●
balíček aplikací, které dokáží komunikovat pomocí SMB (server
message block) protokolu
umožňuje začlenit PC s Linuxem do sítě s operačním systémem
Windows
Samba umožňuje:
* sdílet souborové systémy
* sdílet tiskárny připojené jak k serveru, tak ke klientským stanicím
* podporuje procházení sdílených zdrojů klientů
* autentizaci klientů, kteří se chtějí přihlásit do domény Windows
SAMBA - Konfigurace pomocí příkazové řádky
●
Noví uživatelé Samby jsou mapováni na již existující systémové uživatele
Fedory. Tato vazba je definována v souboru
●
/etc/samba/smbusers
●
●
Vytvoří nového uživatele:
●
●
Smaže uživatele:
●
●
smbpasswd -a samba_uzivatel1
smbpasswd -x samba_uzivatel1
Konfigurační soubor:
●
etc/samba/smb.conf
Proxy server
●
●
umožňuje klientům nepřímé připojení k jinému serveru
Proxy server funguje jako prostředník mezi klientem a cílovým
serverem, překládá klientské požadavky a vůči cílovému serveru
vystupuje jako klient. Přijatou odpověď následně odesílá zpět na klienta.
Může se jednat jak o specializovaný hardware, tak o software.
●
●
●
Aplikační proxy server je server speciálně určený pro určitý protokol resp.
aplikaci. Za pomocí něj lze analyzovat obsah komunikace, případně ji
pozměňovat (např. odstraňování reklam z http požadavků, blokování
webových stránek podle obsahu,…) nebo ukládat požadavky do
vyrovnávací paměti (cache), a tak zefektivnit komunikaci.
proxy server se často používá pro oddělení intranetu od Internetu a přitom
zároveň umožnění uživatelům intranetu používat služeb z Internetu.
Proxy server Squid
●
●
●
●
●
Proxy server samotný většinou slouží jako relativně bezpečné
spojení dvou sítí, které mezi nimi umožňuje jen přesně definovanou
komunikaci. Můžete například povolit HTTP/FTP přístup jen vybrané
skupině lidí nebo počítačů k vybraným zdrojům.
Počítače nemusí být schopné samy komunikovat s druhou sítí.
Přínosem proxy serveru je především možnost oddělení sítí a
umožnění jen vybrané komunikace.
S kešujícím proxy serverem navíc můžete výrazně ušetřit provoz,
který mezi sítěmi vzniká při opakovaném požadavku na stejný
dokument.
Velkým problémem kešování WWW je možná ztráta aktuálnosti
poskytovaných dat - v keši je uložena starší verze dokumentu než na
původním serveru. Při konfiguraci musíme najít kompromis mezi
aktuálností dat a úsporou datového provozu.
VSFTP – bezpečný FTP server
●
●
●
Vsftpd je FTP server pro unixové systémy distribuovaný pod licencí
GNU GPL
Zkratka Vsfptd znamená Very Secure FTP Daemon a v současné
době je to jeden z nejbezpečnějších a nejstabilnějších FTP serverů.
Je používán v distribucích a na serverech Red Hat, SUSE, Debian,
OpenBSD
Konfigurace v adresáři: /etc/vsftpd
–
soubor vsftpd.conf
●
anonymous_enable=YES/NO
●
ascii_upload_enable=YES/NO
●
userlist_enable=YES/NO
●
●

Podobné dokumenty

Diplomová práce Systém pro usnadnění správy SW a řízený výběr

Diplomová práce Systém pro usnadnění správy SW a řízený výběr po startu počítače a obsahovaly funkce spouštění programů a úklid po skončení programu. Později, ve spolupráci s běžícím programem, dokázaly přepínat mezi více úlohami. Takovým programům se říkalo ...

Více

GNU/Linux

GNU/Linux Je možné stáhnout program ze stránek a pak ho nainstalovat, ale proč to dělat složitě, když to jde jednoduše. Snad ve všech běžně používaných distribucích najdete jeden program nazývající se správc...

Více

Analýza politik nulové tolerance v Litvínově a Duchcově

Analýza politik nulové tolerance v Litvínově a Duchcově místech České republiky ve vztahu k hledání odpovědi na problémy v sociální oblasti, otázky bezpečnosti a zajišťování veřejného pořádku. Konkrétní opatření aplikovaná pod pojmem nulová tolerance ni...

Více

Používání aplikace Acrobat 9 Standard

Používání aplikace Acrobat 9 Standard Použití Adobe® Acrobat® 9 Standard pro Windows® If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described in it, is furnished und...

Více

Skript teXmake Hledá se kroužek pro stupně

Skript teXmake Hledá se kroužek pro stupně První se tedy uloží do registru hodnota 18, ta se dále přepíše hodnotou 15 a jako poslední se do registru zapíše hodnota 20, která je ale uzavřena ve skupinových závorkách, a proto bude její působn...

Více