Na tejto stránke nájdete niekoľko základných teoretických a praktických
postrehov pri práci s Linuxom. Tieto postrehy vychádzajú z praktických
skúseností
získaných pri práci hlavne s distribúciami RedHat. Neznamená to však, že by
neplatili
všeobecne, akurát sa iné distribúcie môžu máličko líšiť umiestnením niektorých
súborov a rôznymi konfiguračnými utilitami. Preto som sa snažil z nasledujúceho
textu vynechať záležitosti, ktoré sú špecifické pre tú ktorú distribúciu,
a preto som sa sústredil hlavne na štandardné programy, ktoré sú obsahom väčšiny distribúcií.
Na začiatok som zaradil trocha podrobnejší rozbor distribúcie
Monkey, a to hlavne preto, lebo táto distribúcia nevyžaduje inštaláciu, iba sa rozbalí na DOS-ovský disk, ale napriek tomu, môže plnohodnotne poslúžiť, ako pokusná distribúcia na prvé spoznávanie linuxu. Pokusmi s touto distribúciou nemôžete nič pokaziť,
naopak sa môžete
v linuxe slušne zorientovať a mohla by byť pre Vás odrazovým mostíkom do
sveta
veľkých a známych distribúcií. Ak by niekto z Vás, čitateľov mal chuť
prispieť svojimi
postrehmi, veľmi rád ich sem pripojím.
Výhody: Nepotrebuje inštaláciu, len sa rozbalí
Linuxové súbory sú prístupné aj z DOS-u, takže pri nesprávnom
prepísaní niektorého súboru si to z DOS-u opravíte
Ak sa to celé rozbabre, znovu rozbaliť a je to !
Správa sa ako plnohodnotný linux, aj keď sa ako plnohodnotný server
nehodí, je pomalší, neloguje niektoré aktivity, a je starší
Bez obáv možete robiť rôzne zmeny a testovať, jednak tým nezaťažíte
svoj server a nemusíte mať obavy o rozhodenie konfigurácie, tu si to
overíte a potom ľahko naostro konfigurujete server.
Má podporu X window pre všeobecné graf. karty ako napr: Trident
a aj pre karty S3.
V X window máte Netscape Navigator, da sa surfovať po internete
Nepotrebuje LILO (linux loader) štartuje sa DOS-ovským loadlin.exe
Potrebný HW: v podstate ľubovolná 386-ka aspoň 2MB RAM aspoň 60 MB HDD, myš
nejaká štandardná graf. karta napr: Trident 8900, Alliance Promotion DSV6422, Cirrus Logic CL-GD5428, S3 Trio 64V+, tieto mám odskúšané, na S3 ViRGE
nefunguje X window kvôli chýbajúcemu XF86S3_V X serveru, ale textový režim pracuje bez problémov.
Doproručujem: 486 50MHz, 8 MB RAM, 80 MB HDD, nejaká NE 2000 kompatibilná sieť.
karta, myš.
Samozrejme, že môže existovať aj na slabšom Pentiu spolu s Windows95, v tom prípade to ale nesmie byť PII, lebo jadro tohoto linuxu je kompilované pre i386, na PII mi to pri boote zamrzlo. V prípade použitia spolu s win, treba ale tento linux štartovať z DOS-u, teda reštartovať PC v DOS-e a potom spustiť linux.bat. No myslím že sa niečo podobné nájde u každého záujemcu o linux.
Nevýhody: Oveľa pomalší kvôli filesystému umsdos, sú vynechané niektoré bezpečnostné prvky, teda ako plnohodnotný server sa nehodí.
POZOR ! Ak sa chystáte vyskúšať tento linux pracuje IBA na FAT16. Na FAT32 nedokáže primountovať hlavný súborový systém, kvôli nekompatibilite medzi UMSDOS a FAT32
Čo sa mi na ňom podarilo rozbehať ???V podstate ho doma stále mám nainštalovaný na 486-ke, na pokusy sa vždy zíde.
Ešte jedna príhoda s týmto Monkey linuxom - to je jeho názov.
Raz sa mi stalo, že môj Red Hat, ktorý mám nainštalovaný doma na
jedinom fyzickom HDD rozdelenom na 3 partition (1. FAT 16, 2.ext2, 3.linux swap)
som si natoľko rozbabral konfiguráciu Red Hat-u, že to nešlo ani nabootovať.
Samozrejeme, z DOS-u sa za normálnych podmienok nedostanete na ext2 filesystém,
sú na to utility, ale vtedy som ich nemal pri ruke. Za 5 minút som rozbalil
Monkey Linux na voľné miesto na 1. partition (FAT16).
Rozbehol som Monkey, ktorý podporuje aj ext2 filesystém, primountoval som
Red Hat-ovský disk, opravil konfiguráciu a mohol som znova nabootovať
plnohodnotný Red Hat linux.
!!! Ak ale máte chuť nainštalovať si plnohodnotný linux, nie len niečo na
vyskúšanie, potom skúste distribúciu Mandrake, ktorá urobí pri inštalácií
všetko za Vás a dokonca dokáže rozdeliť disk bez toho, aby zlikvidoval windows,
ale vopred som Vám nútený oznámiť, že akékoľvek pokusy robíte na vlastné riziko a ja nemôžem niesť zodpovednosť za prípadnú stratu dát alebo poškodenie hardware!!!
Tak ako všetky operačné systémy, aj linux má svoje jadro, ktoré je počas behu systému v pamäti
počítača stále prítomné. Jadro je uložené najčastejšie v súbore zimage
alebo vmlinuz
Tento
súbor nájdete na CD-ROM vašej distribúcie, alebo ak máte už linux nainštalovaný, tak aj v
adresári /boot
. Jadro sa musí pri štarte systému nahrať do pamäte počítača.
V praxi sú používané dva spôsoby bootovania
Začnem tým častejšie používaným spôsobom - LILO.
Je to krátky program, ktorý sa nakopíruje najčastejšie do MBR pevného disku,
ale nemusí byť vždy v MBR. Tento program má na starosti, nahratie súboru zimage
,
ktorý sa normálne v linuxe nachádza v adresári /boot
do pamäte počítača.
Program LILO má široké možnosti konfigurácie. LILO sa konfiguruje pomocou parametrov
v súbore /etc/lilo.conf
Príklad:
Ak linux nenájde nejaké zariadenie, je možné pri štarte systému, v okamihu keď
vypíše LILO boot:
zadať parametre. Môže to byť napr. parameter
umožňujúci zaviesť ovládač k sieť. karte, SCSI zariadenia, CD-RW, pamäte.
Tieto parametre je ale potrebné zadávať pri každom štarte,
aby ich systém našiel. Aby ich nebolo potrebné pri každom štarte pridávať,
ale aby ich systém použil,
doplníme ich do súboru /etc/lilo.conf
do položky append="parameter"
Ako parameter môže byť napr. ether=...., linux mem=...., hde=ide-scsi....
Potom len spustíme /sbin/lilo
, aby sa zmeny prejavili po reštarte linuxu.
Praktický príklad:
V systéme mám fyzicky nainštalovaných 128 MB RAM. Jadro linuxu však nájde len
64 MB (Obmedzenie starších BIOS-ov). V okamihu bootovania, keď je na obrazovke text
LILO boot:
zadáme z klávesnice linux mem=128M
a stlačíme
ENTER
. Takto sme oznámili programu LILO, aby sa túto informáciu pokúsil
odovzdať jadru linuxu a ak je všetko v poriadku, potom jadro
dokáže využiť celých 128 MB RAM. Problém je ale po reštarte, treba to zadávať znova.
Aby sme nemuseli zadávať tento parameter znova, doplníme do /etc/lilo.conf
nasledovné:
Toto je príklad existujúceho /etc/lilo.conf
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 image=/boot/vmlinuz-2.0.35-2 label=linux root=/dev/hda1 read-only append="linux mem=128M" #tento riadok som doplnil,
Teraz už len spustíme /sbin/lilo
a po reštarte už nemusíme ručne zadávať
parametre pre LILO.
Na dosovskej partition musí byť nakopírované jadro vmlinuz
alebo zimage
a loader loadlin.exe
Spúšťa sa z DOSu príkazom loadlin vmlinuz root=/dev/hda1 ro
root znamená označenie partition, na ktorej je linux nainštalovaný (pozri nižšie)
ro znamená readonly
rw znamená read-write
Využitie:
1.Urobte si normálnu, klasickú DOS-ovskú bootovaciu disketu, nakopírujte na ňu
súbory vmlinuz (zimage)
a loadlin.exe
(loadlin.exe je súčasťou
každej RedHat distribúcie, ak máte záujem o loadlin, napíšte mail)
V BIOS-e PC nastavte bootovanie z diskety a normálne nabootujte do DOS-u.
V DOS-e spustite
loadlin vmlinuz root=/dev/hda1 ro
2. Máte na PC nainštalovaný DOS (WIN) v koexistencií s Linuxom.
Ak Vaše PC normálne bootuje do DOS-u, nakopírujte si na disk do nejakého adresára
súbory vmlinuz (zimage)
a loadlin.exe
. Potom si Linux spustíte normálne z DOS-u,
vyššie uvedeným spôsobom ale z pevného disku.
Pozn. Na serveroch použitých v internete som zatiaľ vždy použil LILO, ale linux,
ktorý používam doma, mám nainštalovaný na takom hardvéri, ktorého zvuk. karta je
OnBoard a teda nie je to 100%-ný SoundBlaster. Linux však túto kartu dokáže využiť, ale
len vtedy, ak ju inicializuje výrobcom dodaný ovládač, samozrejme pre DOS. Z tohoto
dôvodu môj domáci linux bootuje do DOS-u, inicializuje zvuk. kartu do režimu SoundBlaster,
a nakoniec loadlin nahrá linux do pamäte. Na serveroch ale nie je potrebné zapínať zvuk. kartu.
Linux používa pevný disk na tie isté účely ako všetky OS.
Je tam nainštalovaný systém, a uložené súbory.
Súborové systémy:
OS Filesystém DOS FAT12, FAT16 Windows95 FAT16 Windows98 FAT16,FAT32 WindowsNT,2000 NTFS MacOS HFS Linux EXT2, MINIX, MSDOS=FAT16, VFAT, XENIX, UMSDOS, EXT3 a to ich je oveľa viac ktoré dokáže linux používať.Výhody extended2 (ext2) oproti FAT16, FAT32 Filesystém si dokáže uložiť údaje o prístupových právach vlastníka súboru, skupiny vlastníkov a ostatných užívateľov. Je to filesystém ktorý rozlišuje VEĽKÉ a malé písmená (Case sensitive) a podporuje dlhé názvy súborov. Je oveľa rýchlejší ako všetky súborové systémy používané vo win. Sám si udržiava defragmentáciu. Na prvý pohľad na štruktúru adresárov v linuxe, nezainteresovaný človek len s hrôzou pozerá na spústu adresárov a podadresárov, ale má to svoju logiku.
man lynxman znamená manuál, alebo potom platí ešte jedna maličkosť, ak potrebujeme aby nám požadovaný príkaz vypísal tzv. usage (použitie) potom skúsime jednu z nasledovných kombinácií:
príkaz --help príkaz -help príkaz --h príkaz -hBýva ešte dobrým zvykom, že nainštalované programy si ukladajú do adresára
/usr/doc
rôzne readme a dokumenty týkajúce sa danej verzie programu.
Samozrejme, že vynikajúcim zdrojom informácií o Linuxe je hlavne INTERNET.
Potom je tu aj literatúra, spomeniem tú, ktorú zatiaľ mám k dispozícií a
používam ju:
Matt Welsh, Lar Kaufman: Používame Linux, Computer Press, 1997 Linux dokumentačný projektMne sa veľmi dobre osvedčila kniha:
Pavel Satrapa, Jiří Randus: Linux-Internet server (je k nej inštalačné CD)
/bin spustiteľné súbory (binárne) /boot jadro systému /dev súbory pre prístup k hardvéru (devices) /etc nastavenie skoro všetkého /home domovské adresáre užívateľov, tu má každý svoj adresár a v ňom si robí čo chce /lib knižnice systému /mnt tzv. mountpoint, adresár do ktorého sa pripája iný súborový systém /proc virtuálny adresár, nezapíše sa na disk, je len v RAM, tu sa ukladajú čísla procesov /root domovský adresár administrátora - superužívateľa /sbin spustiteľné súbory pre administraátora /tmp dočasné súbory (Temporary files) /usr priestor pre nainštalované užívateľské programy /var premenné systému ako logy, mail, fronty mailu, fronty tlačiarnePráca s adresármi: mkdir meno vytvorí adresár s názvom meno rmdir meno zmaže adresár s názvom meno Každý súbor má okrem mena a prípony priradené práva určujúce vlastníka, skupinu vlastníkov, ostatných užívateľov, teda pravidlá, kto čo môže s daným súborom vykonať. Ak si v niektorom adresári urobíte úplný výpis príkazom ls -al, obdržíte asi toto: príklad:
-rwx-r--r-- 1 root root 57 Nov 1 1997 .inputrcTeda súbor s názvom .inputrc (zaujimavé, že súbor začína bodkou, teda pre zarytých používateľov DOS a WIN to vyzerá ako súbor bez mena s dlhou príponou. V linuxe sú bodkou na začiatku pomenované všetky skryté súbory, ktoré sa príkazom
ls
nezobrazia, ale ls -al
zobrazí všetko).-rwx------tak vlastník ho môže čítať, môže doň zapisovať a aj ho spustiť, skupina ani len čítať a ostatní tiež nič
-rwxrwx---takto platí to čo hore, a všetko s ním môže robiť ale už aj skupina vlastníkov, ostatní nič
-rwxrwxrwxsúbor s takýmito právami môže každý čítať, zapisovať, zmazať a spustiť, takéto práva majú všetky súbory v DOS a win, tam totiž nič iné neexistuje, česť výnimke NTFS win NT a 2000:-),pardón v DOS-e a win je predsa archívny, skrytý, systémovy, a read only, ale v DOS-e tieto prístupové práva môže meniť ktokoľvek, v linuxe LEN VLASTNÍK súboru
Potom kombináciou práv dosiahneme požadované obmedzenia skupín a ostatných. Platí, že vlastník a root môže so súborom všetko. právo označené x býva pridelené iba spustiteľným binárnym súborom, textové ho nepotrebujú. Ostatné kombinácie si už dokážete odvodiť sami.
Ako je to s adresármi:
v podstate rovnako ako so súbormi, len je vždy na prvom mieste písmeno d,
označujúce adresár d = directory, napr:
drwxr-xr-x 2 root root 8192 May 15 2000 /bin
Ako pokus by ste si mohli v adresári /tmp vytvoriť nejaký súbor a tomuto veselo meniť práva, aj tak ho nakoniec zmažeme:
prepneme sa do /tmp
príkazom
cd /tmpvytvoríme prázdny súbor príkazom
touch pokus.txtpozrieme sa čo sme vytvorili príkazom
ls -alvýsledok:
-rw-r--r-- 1 root root 0 jan 26 12:19 pokus.txtzmeníme teraz vlastníka súboru na ftp, príkazom chown (change owner)
chown ftp pokus.txtznova
ls -al
-rw-r--r-- 1 ftp root 0 jan 26 12:19 pokus.txtteraz zmeníme skupinu vlastníkov príkazom chgrp (change group):
chgrp bin pokus.txtvypíšeme si zmeny
ls -al
-rw-r--r-- 1 ftp bin 0 jan 26 12:19 pokus.txtPokúsime sa zmeniť práva vlastníka, skupiny a ostatných, príkazom chmod (change mode)
chmod 000 pokus.txtnasleduje výpis
ls -al
---------- 1 ftp bin 0 jan 26 12:19 pokus.txtznova zmeníme práva:
chmod 700 pokus.txt ls -al
-rwx------ 1 ftp bin 0 jan 26 12:19 pokus.txtTip: skúšajte čísla 100, 110, 111, 200, 220, 222 a rôzne ich kombinácie, určite prídete na princíp číselného označovania zmien práv súborov.
Pridávam ešte tabuľku, v ktorej je číselné označenie práv súborov. Číslo, ktoré použijeme ako parameter príkazu chmod
, získame súčtom tých čísel, ktoré práva potrebujeme nastaviť, podľa nasledujúcej tabuľky
subjekt | |||||||||
právo | čítanie | zápis | spúšťanie | čítanie | zápis | spúšťanie | čítanie | zápis | spúšťanie |
značka | r | w | x | r | w | x | r | w | x |
mód | 400 | 200 | 100 | 40 | 20 | 10 | 4 | 2 | 1 |
Na vygenerovanie toho správneho čísla pre príkaz chmod
, môžete použiť aj nasledujúci JavaScript.
Po preskumaní príkazu chmod, môžeme súbor vymazať:
rm pokus.txtPozn: Všetky tieto operácie zvládneme elegantne pomocou Midnight Commander-u: (Mindnight Commander = obdoba Norton Commanderu, spúšťa sa mc) kurzor presunieme na súbor ktorý budeme meniť, zatlačíme F9, šípkou prejdeme na File, potom nasleduje šípka dole, a podľa toho či chcem meniť vlastníka a skupinu, vyberieme chown, ak práva potom chmod.
cd /tmp touch pokus.txtvytvorenie si môžeme overiť príkazom
ls -alteraz vytvoríme súbor pokus, ktorý bude ukazovať na súbor pokus.txt
ln -s pokus.txt pokusOveríme výsledok
ls -al
, mali by sme vidieť toto:
lrwxrwxrwx 1 root root 9 Jan 26 18:22 pokus -> pokus.txt -rw-r--r-- 1 root root 0 Jan 26 18:20 pokus.txtVšimnite si, na začiatku má l teda link a pri mene je šípka, ktorá ukazuje na súbor pokus.txt. Samozrejme, že toto platí aj mimo jeden adresár, ak sa mi nechce stále hľadať napr. súbor
/usr/lib/lynx/lynx.cfg
môžem si vytvoriť vo vlastnom adresári link na tento súbor:
ln -s /usr/lib/lynx/lynx.cfg lynxcfgTeraz môžeme všetky tri súbory vymazať, vymazaním linku sa NEZMAŽE súbor na ktorý ukazuje.
/dev/hda
, celý, nezávisle na
tom, či je rozdelený na partition (oddiely).
Prvý oddiel na prvom pevnom disku (normálne C:) je /dev/hda1
druhý oddiel (partition) na prvom disku je /dev/hda2
, atď.
druhý fyzický pevný disk celý je /dev/hdb
, jeho oddiely /dev/hdb1, /dev/hdb2
,
atď.
Linux pre svoju prácu vyžaduje aj swap partition, teda miesto na disku pre virtuálnu pamäť. V linuxe sa tento problém rieši samostatným diskovým oddielom typu swap, nie ako vo win, kde virtuálnu pamäť tvorí súbor na pevnom disku. Toto ale zariadil už ten, kto Váš systém inštaloval.
príkaz free
vypíše voľnú a obsadenú RAM, ale zároveň aj údaje o využití swap-u.
príkaz df
vypíše voľné miesto na primountovaných filesystémoch
Primountovanie filesystému, znamená pripojenie ďalšieho fyzického, alebo pripojenie oddielu disku do hlavného súborového systému. Overíme si čo máme primountované:
príkaz mount vypíše napr:
Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda1 310264 209384 100880 67% /toto je príklad hlavného súborového systému, ktorý predstavuje prvý oddiel na prvom pevnom disku. Celková kapacita cca 310 MB, použitých 209 MB, voľných 100 MB, celkovo je disk využitý na 67%, a je primountovaný ku koreňovému (root) adresáru.
Ak potrebujeme, aby sa nám automaticky promountovali suborové systémy, môžeme
to pridať do súboru /etc/fstab
/dev/hda1 / ext2 defaults 1 1 #toto tam isto už bude /dev/hdb1 /mnt msdos auto 0 0 #takto som pridal automatické primountovanie DOS-ovského disku D: k adresáru /mntAk máte fyzické disky typu SCSI potom sa ne pristupuje cez súbor
/dev/sda
/dev/sda1
/dev/sda2
atď.
mount /dev/cdrom /mntznova
mount
Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda1 310264 209384 100880 67% / /dev/hdb1 650000 650000 0 100% /mntMalo by byť jasné o čo ide, teda disk je primountovaný, ale do koreňového adresára CD-ROM sa dostaneme iba otvorením adresára
/mnt
hlavného súborového systému,
teda všetky primountované súborové systémy, vytvárajú jeden spojitý,
teda k určitému adresáru sa pripojí celý disk, na ktorý pristupujeme cez adresár
(V DOS-e sa toto dalo dosiahnúť príkazom join)
POZOR ! ak je primountované nejaké výmenné médium (disketa, CD-ROM), nesmieme vyberať vymenné médiá, pretože neboli zo systému odmountované!
! Môže sa stať, že v adresári /dev
nemáte vytvorený symbolický link
/dev/cdrom
ktorý ukazuje na fyzické zariadenie, kam je CD-ROM pripojený,
potom aj CD-ROM musíme mountovať ako pevný disk, alebo si môžeme tento
symbolický link vytvoriť. Postup tvorby symbolického linku pozrite vyššie, ale
pre istotu, ak je CD-ROM pripojený na 1 IDE kanál ako slave:
prepneme sa do adresára /dev
cd /devpotom
ln -s hdb cdromV niektorých prípadoch je potrebné pri mountovaní CD-ROM zadať aj súborový systém, v ktorom je CD napálené, najčastejšie to je ISO9660. Potom by sme cdrom primountovali nasledovne:
mount -t iso9660 /dev/cdrom /mntCD-ROM odmountujeme príkazom:
umount /mntPOZOR !, ak sa nachádzame v adresári na primountovanom disku, vtedy ho systém odmieta odmountovať, pretože sme v ňom aktuálne nastavení. Potrebné je vrátiť sa do hlavného súborového systému príkazom
cd /
a potom umount /mnt
Teraz môžeme pohodlne vybrať CD z mechaniky príkazom eject
Pozn.: Najmä na serverových systémoch sa často používa pevný disk pripojený
na rozhranie SCSI. CD-ROM majú väčšinou rozhranie ATAPI, ale fyzicky sa
pripájajú na IDE (EIDE) rozharnie. Potom ale môže vzniknúť zaujímavá situácia,
pretože prvý oddiel (partition) prvého pevného disku potom bude /dev/sda1
,
a CD-ROM, ak je pripojený na prvý kanál IDE ako master, by mala byť
/dev/hda
DOS,WIN Linux diskety A: /dev/fd0 B: /dev/fd1Primountovanie diskety so súborovým systémom FAT:
mount -t msdos /dev/fd0 /mntPrimountovanie diskety so súborovým systémom FAT32 (podpora dlhých mien vo win)
mount -t vfat /dev/fd0 /mntPrimountovanie diskety so súborovým systémom ext2 (linux)
mount -t ext2 /dev/fd0 /mntSo súbormi na diskete môžete narábať ako by boli v linuxe, ale pozor, ak bola disketa chranená proti zápisu, systém ju automaticky primountuje iba ro teda read only, iba na čítanie !
Ak potrebujeme disketu odblokovať proti zápisu, nestačí ju iba vybrať a odomknúť, treba ju najprv odmountovať a potom odomknutú znova primountovať.
Ak kopírujeme súbor z diskety s FAT filesystémom na ext2 filesystém, potom
takýto skopírovaný súbor bude mať priradené práva:
-rwxrwxrwx
na toto pozor ak to je nejaký dôležitý súbor.
Rovnako, ak kopírujeme súbor z ext2 na FAT, potom tento súbor stráca všetky práva ktoré mal v ext2 filesystéme.
Ak boli na disketu kopírované súbory vo windows s dlhými názvami súborov, je lepšie ju k linuxovému ext2 primountovať nasledovne:
mount -t vfat /dev/fd0 /mntzobrazia sa Vám korektne dlhé názvy súborov.
Disketu HD 1,44 MB, ktorá je prvá v systéme (A:) naformátujeme, nesmie byť predtým primountovaná !
fdformat /dev/fd0H1440Po dokončení tohoto príkazu musíme na nej vytvoriť súborový systém. Tu máme možnosť rozhodnúť sa, ak ju plánujeme používať iba pre linux, so všetkými výhodami ext2 filesystému, potom ho môžeme na diskete vytvoriť:
mke2fs /dev/fd0Ak si želáme klasický formát pre DOS, použiteľný aj pre dlhé mená súborov vo windows, potom po naformátovaní použijeme príkaz:
mkdosfs /dev/fd0
fdisk
, s tým rozdielom, že tu je možné
zvoliť priamo pri vytváraní oddielu, aký súborový systém budeme na disku
požadovať, teda napr: ext2, FAT, minix, xenix, linux swap.....
Utilitu fdisk, môžeme nahradiť aj programom diskdruid
.man fdisk
Program fdisk
má ako tak interaktívne textové rozhranie a preto ho nebudem
komentovať a rovnako je na tom diskdruid
, ktorého user interface sa podobá
na niečo ako Turbo Pascal, teda okienka s tlačítkami v textovom režime.
Ak sme pomocou fdisku, alebo diskdruida vytvorili potrebné oddiely, môžeme na
nich vytvoriť filesystém, princíp je rovnaký ako pre diskety, príklad,
potrebujem vytvoriť ext2 filesystém na 2. oddiele tretieho disku:
mke2fs /dev/hdc2
fsck /dev/hda1 univerzálny, sám si otestuje typ filesystému, a podľa toho spustí príslušný špeciálny program e2fsck /dev/hda1 kontroluje a opravuje chyby ext2 filesystémuPOZOR ! Tieto programy sa majú spúšťať iba na také súborové systémy, ktoré sú primountované iba read only, aby nedošlo k poškodeniu zdieľaných súborov alebo práve sa zapisujúcich súborov. Teda situácia pre server ako stvorená. Napriek tomu sa táto kontrola dá spustiť, ale musíte zabezpečiť že je server odpojený od LAN a nikto iný okrem roota, naň nie je prihlásený a nebeží na ňom žiadny taký proces, ktorý by toto mohol ohroziť !
/etc
je súbor /etc/passwd
Sú v ňom uložené všetky kontá užívateľov, prihlasovacie mená, heslá
(pokiaľ nepoužívate shadow password, ale dnes je nepoužívanie shadow skôr
výnimka ale zmienim sa o tom neskôr), UID teda číslo pod ktorým je užívateľ
identifikovaný a GID číslo skupiny do ktorej užívateľ patrí, skutočné meno,
domovský adresár, príkazový interpret.
Príklad výpisu súboru /etc/passwd
root:x:0:0:root:/root:/bin/bash jano:x:1003:100:Jan Maly:/home/jano:/bin/bashTento príklad je typickým pre systém, kde sa POUŽÍVA shadow, pretože súbor
/etc/passwd
musí byť čitateľný pre niektoré
programy, teda majú k nemu prístup ostatní aspoň na čítanie, mohol by ho takto
ktokoľvek podrobiť analýze a tým dešifrovať Vaše heslo, a keby len Vaše,
ale hlavne ide o root-a. Ak by ste si v adresári /etc
urobili vypis ls -al
zistite:
-rw-r--r-- 1 root root 768 Oct 18 2001 passwdale
-rw------- 1 root root 404 May 27 2002 shadowTeda súbor
/etc/shadow
, môže čítať iba root, pretože v súbore /etc/passwd
je namiesto
hesla znak "x" a skutočné zakódované heslo je uložené v súbore /etc/shadow
Na Linuxoch, v ktorých sa nepoužil systém shadow (sú oveľa ľahšie hackovateľné)
je zakódované heslo uložené v súbore /etc/passwd
na mieste znaku "x".
/etc/HOSTNAME tu je zapísané plné meno Vášho stroja aj s doménou /etc/NETWORKING tu je záznam o tom, či je tento stroj v sieti, možnosti, ktoré sú v tomto súbore sú: YES NO /etc/group záznamy o skupinách užívateľov, podobne ako /etc/passwd /etc/host.conf dôležitý súbor hlavne pre siete, tu je uvedené akým spôsobom má Váš linux získavať mená počítačov v sieti, spravidla postačí ak je v tomto súbore zapísané nasledovné: order hosts, bind multi on
Vysvetlenie: 1. riadok určuje v akom poradí sa majú hľadať mená a IP adresy
počítačov v sieti, podľa tohoto príkladu sa najprv prehľadá lokálny súbor
/etc/hosts
, ak sa tam potrebný záznam nenájde, potom sa použije DNS systém,
Domain Name Server, teda niektorý nameserver, buď použije systém sám seba (Ak
má správne nakonfigurovaný DNS) alebo niektorý externý nameserver.
/etc/hosts Súbor o ktorom som sa zmienil vyššie, je to tabuľka IP adries a mien počítačov, ktorú si môžeme meniť podľa toho, čo potrebujeme.
Štruktúra záznamov v /etc/hosts
je nasledovná:
#IP adresa plné meno stroja prezývka 127.0.0.1 localhost #tento záznam NIKDY nemeňte, #lebo každý stroj, aj taký ktorý nie je #v sieti pozná sám seba pod týmto IP #a menom localhost 192.168.0.1 server.skola.sk serverDo tohoto súboru je dobré doplniť IP adresy a mená strojov vo Vašej LAN, budú sa Vám ľahšie identifikovať. Samozrejme, ak nastanú zmeny, treba tento súbor aktualizovať podľa podmienok ktoré sa zmenili.
/etc/hosts.allow /etc/hosts.deny dovoľujú presne špecifikovať povolené a zakázané porty pre určité IP adresy, súvisí to s bezpečnosťou systému /etc/inetd.conf konfiguračný súbor superdaemona inetd, podľa tohto súboru spúšťa inetd príslušný program, alebo daemona, ktorý Vás obslúži, napr: POP3, ftp, telnet...Malý príklad z praxe: Potrebujete si stiahnúť poštu cez pop3, ale na serveri, ak si vypíšete bežiace procesy príkazom
ps aux
, pop3 daemona nenájdete. Požiadavka
na stiahnutie pošty, prichádza na porte 110 protokolu TCP. Superdaemon inetd
ju
zaregistruje a podľa záznamu v /etc/inetd.conf
má spustiť pop3 daemona, teda
daemona ipop3d (in.pop3d)
, ktorý vykoná všetko potrebné, aby sa Vaša pošta
zo servera dostala k Vám a potom sa pop3 daemon ukončí. Samozrejme, ak
superdaemon inetd
bol spustený tak,
že v /etc/inetd.conf
nebol záznam o službe pop3, alebo bol označený ako
neaktívny, odkomentovaný znakom #
potom tento server nereaguje na výzvy na
porte 110. Tento princíp platí, pre akúkoľvek službu, ktorú má server
poskytovať. Výnimkou bývajú iba 3 služby, ktorých daemoni bežia nezávisle od
inetd
. Sú to httpd
port 80 , teda server web stránok sa kvôli rýchlosti spúšťa
ako samostatný daemon, doručovateľ pošty napr. sendmail
na porte 25 a daemon pre
nameserver named
na porte 53.
Ale ak si to vyslovene želáte, môžu aj tieto služby byť nastavené tak, aby ich
spúšťal inetd.
POZOR ! Služby telnet, pop3, ftp používajú otvorené protokoly, teda mená a heslá posielajú v textovej podobe, je teda možné odchytiť tieto údaje v sieti !
/etc/inittab tento súbor zabezpečuje inicializáciu systému pri štarte a zabezpečuje, aby sa na požadovaných termináloch spúšťal daemon zabezpečujúci login užívateľa. Spravidla login zabezpečuje daemon mingetty alebo agetty. /etc/issue text, ktorý sa vypíše pri logine /etc/issue.net text, ktorý sa vypisuje pri logine zo siete /etc/motd Message Of the Day, správa dňa, je to text, ktorý sa zobrazí užívateľovi po tom, ako sa prihlásil. /etc/mtab mount table - tabuľka primountovaných filesystémov /etc/networks podobne ako /etc/hosts obsahuje tento súbor IP adresy a názvy sietí, ľahšie sa tak identifikujú siete podľa mena, samozrejeme, myslia sa tým siete a podsiete Vašej LAN. Štruktúra zápisu je obdobná s /etc/hosts v opačnom poradí: sieť IPpríklad súboru
/etc/networks
:
loopback 127.0.0.0 nasasiet 192.168.0.0
/etc/passwd rozobral som vyššie /etc/passwd- je záložný súbor, ktorý sa vytvorí napr. po pridaní užívateľa /etc/profile nastavuje parametre pre všetky prihlasovania /etc/protocols obsahuje záznam o protokoloch pod TCP/IP, ako ip, udp, tcp .... /etc/resolv.conf Konfigurácia resolveru. V tomto súbore je zapísaný záznam o Vašej doméne a aspoň dvoch nameserveroch, ktoré obsluhujú túto doménu, ak je aj Váš linux nameserverom, mal by tu byť uvedený.Príklad súboru
/etc/resolv.conf
:
domain skola.sk nameserver 192.168.0.1 nameserver 192.168.0.2IP adresy nameserverov by Vám mal poskytnúť Váš ISP.
/etc/securetty v tomto súbore sú uvedené terminály, na ktoré sa môže prihlasovať root. To znamená, ak máte nakonfigurivanú sieť, a povolený port 23 čo je telnet, teda vzdialený terminál cez sieť a v súbore /etc/securetty máte záznam ttyp0 potom sa root, môže cez internet (alebo LAN) prihlásiť telnetom aj z opačného konca sveta.Paranoici ako ja, majú v tomto súbore iba
tty1 tty2 tty3 tty4 tty5 tty6čo sú iba terminály priamo na serveri, teda nič po sieti. Ak by ste si predsa len chceli dopriať spojenie cez telnet, aspoň v lokálnej sieti, pridajte si sem, záznam
ttyp0
, pozrite či v /etc/inetd.conf
máte záznam pre port 23, a musíte mať
nainštalovaný daemon in.telnetd
alebo telnetd
. Predpokladám ale, že o tejto problematike
bude písať kolega v príručke o bezpečnosti systému.
/etc/sendmail.cf konfiguračný súbor daemona na doručovanie pošty programu sendmail, v jednej knihe bola zmineka o tomto súbore asi v takomto znení: Syntax tohoto súboru má toľko pravidiel, že jednoducho bez príručky a dlhého štúdia to nikto nezvládne. Kto nikdy neupravoval súbor sendmail.cf nie je poriadny správca systému, kto to robil druhý krát, je blázon. Ak si tento súbor pozriete, pochopíte............ /etc/services toto je tabuľka služieb a im príslušných portov protokolu tcp, udp /etc/shadow súbor v ktorom sú uložené zašifrované heslá roota a užívateľov /etc/shadow- záložná kópia súboru /etc/shadow, vznikne po pridaní, ubratí užívateľa /etc/shells záznamy o nainštalovaných príkazových interpretoch, napr: /bin/sh /bin/bash /bin/tcsh /bin/csh /etc/syslog.conf konfiguračný súbor logovania všetkých udalostí na serveri do súborov v adresári /var/log /etc/termcap nastavenia rôznych typov terminálov
Užívateľ root má za úlohu udržiavať bezpečnú a plynulú prevádzku servera aby spĺňal všetky služby, ktoré od neho očakávate, sledovať prípadné útoky a pokúsiť sa zabrániť im, upgrade a update softvéru na serveri, pridávaním a uberaním užívateľských kont, a samozrejme prispôsobiť konfiguráciu servera v prípade zmien v lokálnej sieti, pri zmene ISP a podľa požiadaviek užívateľov. Teda po prvom prihlásení je potrebné aby si root ako prvý krok zmenil heslo príkazom
passwdV záujme bezpečnosti, dbajme o to, aby heslá mali aspoň 6 znakov a nebolo to súvislé slovo, teda aby sa ťažko dešifrovalo, a malo by obsahovať VEĽKÉ aj malé znaky a poprípade aj čísla. Ja túto situáciu riešim, napr začiatočnými písmenami slov v nejakej vete ktorú si vymyslím napr. veta: Včera tak pršalo, že bolo 20 cm vody. => heslo by mohlo byť Vtpzb20cv, uznajte, toto v žiadnom slovníku nenájdete a význam poznáte iba Vy. Na túto skutočnosť ale treba upozorniť aj užívateľov, ktorým vytvárate účet na serveri. Keď už sme pri tom, nový účet sa vytvára príkazom
adduser menokde meno je akýkoľvek reťazec znakov, zase nech nie je kratší ako 6 znakov, potom sa totiž ľahšie dešifruje aj heslo.
Ak sme vytvorili nové konto pre užívateľa meno, toto ešte nemá nastavené heslo, je potrebné aby to urobil root príkazom
passwd menoVytvorením konta pre nového užívateľa a správnej konfigurácií Vášho mailového programu, nový užívateľ automaticky získava e-mailovú adresu v tvare:
meno@skola.skAk máte na Vašom serveri nakonfigurovaný ftp server, potom vytvorením nového konta užívateľ získava aj neanonymný prístup k službe ftp na Vašom serveri.
POZOR ! Ak prihlasovacie meno a heslo obsahuje VEĽKÉ písmená je NUTNÉ ich pri prihlasovaní dodržať!
Zrušenie užívateľa môže iba root príkazom:
userdel -r menoniekedy je po vymazaní užívateľa potrebné ručné zmazanie jeho domovského adresára
/home/meno
NEPOUŽÍVAJTE konto pre roota na bežnú prácu, ako je posielanie mailov, písanie textov. Prihlásenie na konto root používajte iba na nevyhnutné operácie súvisiace so správou a nastavením systému. Ak je root prihlásený, je totiž možné odchytiť jeho heslo a následky môžu byť fatálne. Odchytenie hesla bežného užívateľa môže mať tiež nepríjemné následky, ale menšie ako keby prípadný hacker poznal rootove heslo.
Ak systém nie je schopný kartu detegovať, ešte neznamená, že s ňou nedokáže spolupracovať. V tom prípade, ale musíme vedieť o karte základné údaje ako je typ karty (s čím by mohla byť kompatibilná), adresu IO, prerušenie IRQ, Väčšina ISA kariet má rôzne nastavovacie utility ale pre DOS, čiže najprv zapichnime kartu do nejakej 386-ky s DOS-om, nakonfigurujme ju, hlavne IO, IRQ, ak je to kombo karta, teda má aj BNC (koax) konektor, aj Twisted Pair RJ45, treba jej nastaviť ktorý sa bude používať.
Ak máme kartu pre PCI zbernicu, tu je to jednoduchšie, zapichneme ju do linuxu, nabootujeme, ak ju systém nenájde, skúsime to my, samozrejme že typ by sme mali poznať.
príkazom cat /proc/pci
získame výpis jednotlivých adries a IRQ priradených PCI
zariadeniam. (Mimochodom, cat
je príkaz pre výpis akéhokoľvek súboru na
obrazovku).
Ak sa tu objavia údaje o našej karte, teda jej IO a IRQ, máme čiastočne vyhrané,
teraz ju stačí už len rozbehať pomocou nejakého modulu. (modul je ovládač - driver
HW zariadenia).
Aké moduly pre sieťové karty Váš systém podporuje, by ste mali nájsť v adresári
/lib/modules/X.XX.XX/net/
,kde X.XX.XX je číslo jadra linuxu.
Súbory ktoré tu nájdete sú binárne moduly, nahrateľné do jadra príkazmi
modprobe
alebo insmod
Príkl:
Ja osobne mám v linuxe kartu RealTek RTL8029 AS do PCI zbernice. Je 100%
kompatibilná s NE2000. O karte je potrebné vedieť, na akej adrese a prerušení
IRQ pracuje. Z výpisu cat /proc/pci
som zistil, že jej IO adresa je 0x6100 a
prerušenie IRQ 11. Nastavenie parametrov tejto karty umožňuje DOS utilita rset8029.exe.
Keďže je NE2000 kompatibilná a pre PCI zbernicu, použijeme modul ne2k-pci,
príkazom modprobe skúsime modul nahrať do jadra nasledovne:
/sbin/modprobe ne2k-pci io=0x6100 irq=11Ak sa vypíše niečo podobné tomuto,
NE*000 ethercard probe at 0x6100: 00 80 48 b2 44 d7 eth0: NE2000 found at 0x6100, using IRQ 11.potom karta je schopná s týmto modulom pracovať. Či je modul skutočne nahratý do jadra, presvedčíme sa príkazom:
lsmodAk si želáme odstrániť modul z jadra, potom dáme príkaz:
rmmod ne
Karta je pre ISA zbernicu, má RJ45 konektor a tzv. AUI konektor pre hrubý ethernet (Hrubý ethernet sa dnes už málo používa), takže cat /proc/pci nepomôže. Aj tejto karte treba v DOS-e nastaviť potrebné parametre IO a IRQ, najľahšie to nastavíte pomocou DOS-ovskej utility ezstart.exe. Ja ju mám nastavenú na IO=300 a IRQ=11. Karta je osadená chipom Western Digital, je teda kompatibilná s typom WD/8013W, preto v linuxe môžeme pre ňu použiť modul wd.
modprobe wd io=0x300 irq=11
O tejto karte výrobca udáva, že by mala byť plne kompatibilná so štandardom NE2000, je to karta pre ISA zbernicu, ale Plug&Play pre win systémy. Ak ju potrebujeme konfigurovať, je to možné pomocou DOS utility rlaset.exe, pomocou ktorej je možné nastaviť parametre IO a IRQ. Preto pre túto kartu platí rovnaký postup, ako pre SMC popísaný vyššie, len s tým malým rozdielom, že použijeme modul ne.
/sbin/modprobe ne io=0x300 irq=10Teraz ostáva už len konfigurácia sieťového rozhrania
eth0
, teda priradenie IP
adresy, masky podsiete a nastaviť smerovanie na sieť a na bránu do internteu.
modprobe
ručne, je
potrebné zariadeniu eth0 (čo je naše sieťové rozhranie) priradiť IP adresu
a masku siete. Používa sa na to príkaz ifconfig
(Interface Configuration)
Príklad:
/sbin/ifconfig eth0 192.168.0.1 netmask 255.255.255.0priradil som zariadeniu eth0 IP adresu 192.168.0.1 a masku 255.255.255.0 Skontrolujeme príkazom
ifconfigMali by sa na obrazovke objaviť dva záznamy, jeden o zariadení lo čo je spätná slučka na adrese 127.0.0.1 teda localhost a druhý o našom eth0
lo Link encap:Local Loopback inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.255.255.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:18 errors:0 dropped:0 overruns:0 TX packets:18 errors:0 dropped:0 overruns:0 eth0 Link encap:Ethernet inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:18 errors:0 dropped:0 overruns:0 TX packets:18 errors:0 dropped:0 overruns:0
Ešte stále však nedokáže komunikovať po sieti, pretože nemáme určené smerovanie paketov. Potrebujeme smerovať do siete 192.168.0.0 zadáme:
/sbin/route add -net 192.168.0.0 netmask 255.255.255.0 eth0a ešte pridáme smerovanie na router, ktorý nás spája povedzme s internetom:
/sbin/route add default gw 192.168.0.5 netmask 255.255.255.0 eth0(IP adresa 192.168.0.5 v našom príklade, je IP routera) Default je prednastavené a gw je gateway, čo znamená asi toľko, ak nie je paket určený do našej siete, musí ísť cez bránu (gateway gw) von a tam sa uvidí či si nájde svoj cieľ, IP adresu na ktorú je určený. Teraz je náš linux v sieti, môžeme sa pozrieť, či naša smerovacia tabuľka dopadla dobre:
/sbin/routeVýsledok príkazu route by mal vyzerať takto:
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 127.0.0.0 * 255.255.255.0 U 0 0 0 lo 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 default 192.168.0.5 255.255.255.0 UG 0 0 0 eth0alebo po príkaze
netstat
, by ste mali získať ešte podrobnejšie informácie o smerovaní
netstatSkúsime overiť spojenie s niektorým windows počítačom v lokálnej sieti.
ping 192.168.0.10Samozrejeme, stroj s touto IP musí v sieti existovať, a musí byť zapnutý. Ak sa nám vracajú odozvy, prerušíme vykonávanie príkazu ping stalčením Ctrl+c. Teda je to v poriadku, ak sa vypíše: Network is unreachable, niečo nemáme v poriadku, skontrolujme najprv káble, potom všetky nastavenia v systéme. Ak by ani potom nebol schopný "pingnúť" iný počítač v sieti, treba to konzultovať v diskus. skupine.
Skúsme ešte ping na nameservery, ktorých IP adresy by nám mal poskytnúť ISP. Ak sa odozvy vracajú, potom máme v poriadku aj smerovanie na bránu (gw).
Skúsme teraz urobiť telnet z niektorého win počítača v sieti na náš server
môžeme aj v príkazovom riadku MS-DOS zadať: telnet 192.168.0.1
ak sa tam objaví
login a dá sa prihlásiť, tak máme všetko v poriadku.
Skúsme ešte zadať v Internet Exploreri na stroji s windows, namiesto adresy URL
zadajte http://192.168.0.1
a objaví sa tam stránka Vašej distribúcie, ktorá
je na Vašom serveri, alebo niečo podobné v súvislosti s linuxom, potom máte
spojazdnený aj http server, teda server web stránok.
Týmto zďaleka konfigurácia siete nekončí, pretože, sme túto konfiguráciu zatiaľ nikam neuložili, teda po reštarte linuxu, bude zase bez siete.
Aby sa nám uložila konfigurácia sieťovej karty, pozrime do adresára
/etc/rc.d
či tam existuje súbor rc.modules
.
Ak tam takýto súbor nie je, potom ho vytvoríme, v adresári /etc/rc.d
zadáme príkaz touch rc.modules
a súbor sa vytvorí, potom mu ešte
nastavíme práva na -rwxr-xr-x
príkazom
chmod 100755 rc.modulesAk tam súbor existuje, potom už len dpolníme do neho nasledovné riadky, napr. pre sieťovú kartu SMC Ethercard PLUS Elite 16T (WD/8013W)
/sbin/modprobe wd io=0x300 irq=11 /sbin/ifconfig eth0 192.168.0.1 netmask 255.255.255.0 /sbin/route add -net 192.168.0.0 netmask 255.255.255.0 eth0 /sbin/route add default gw 192.168.0.5 netmask 255.255.255.0 eth0Poznámka: Ak je Vaša sieťová karta iná, ako v tomto príklade, potom prvý riadok závisí od typu karty.
Teraz reštartujme linux, aby sme si overili, či sa sieť rozbehne sama, bez nášho zásahu.
Ak je sieť schopná sa sama rozbehnúť, potom môžeme pokračovať v konfigurácií.
Treba ešte nakonfigurovať nameservery, zapísať ich do súboru /etc/resolv.conf
a potom nastaviť DNS, pretože bez DNS nedokáže server doručovať e-mail.
Urobiť zápisy mena a domény do príslušných súborov v /etc/
Požiadať ISP, aby urobil záznam na svojom DNS serveri pre Váš server a doménu.
Aby sme ale mohli uložiť konfiguráciu, potrebujeme editovať textové súbory,
môžeme použiť napr. text. editor vi. Používanie vi pozri nižšie.
/etc/HOSTNAME
Zistiť si to môžete príkazom
uname -aMeno počítača sa nastavuje príkazom
hostname
,
doménové meno príkazom domainname
/etc/resolv.conf
je konfiguračný súbor resolveru
Súbor /etc/resolv.conf
by mal mať nsledovný obsah:
search skola.sk nameserver 195.146.132.59 nameserver 195.156.128.60Samozrejme, že IP adresy nameserverov Vám musí prideliť príslušný ISP. Skontrolujeme ešte nastavenie v súbore
/etc/host.conf
, malo by byť nasledovné
order hosts,bind multi onKto aspoň trocha ovláda angličtinu, tak si preloží, že poradie hľadania IP adries a mien strojov je dané prehľadaním súboru
/etc/hosts
, ak sa tam nenájde
potom sa použije bind. O bind sa zmienim neskôr podrobnejšie, bind je
balík programov ktorý zabezpečuje aby aj Váš linux bol nameserverom.
V podstate po týchto úpravách by sa mal dať použiť program lynx
(lynx je textový HTML browser) nasledovne:
lynx http://www.infovek.skalebo
lynx ftp://ftp.infovek.skLynx s načítanou web stránkou ukončíme klávesou q a potom y. Môžete skúsiť aj ftp, napr:
ftp ftp.infovek.skPodstatné je to, či Váš linux dokáže použit externé nameservery pre svoje účely, teda zatiaľ je linuxový stroj nastavený ako klient v internete.
Či to máme správne nastavené, zistíme príkazmi ping
a traceroute
.
ping www.stonline.skak sa pakety vracajú, potom je to v poriadku, prerušíme
Ctrl+c
, a skúsme
traceroute 195.146.132.59potom
traceroute www.stonline.skPríkaz
traceroute
je v podstate taký dokonalejší ping, ktorý vracia pakety
zo všetkých uzlov (počítačov, routerov, ktorými Váš vyslaný paket prejde, a vypisuje čas návratu.
Táto utilitka je vynikajúca v situáciach, keď hľadáme v sieti chybu,
takto môžeme zistiť, po ktorý stroj je sieť prístupná a odkiaľ sa pakety už
nevracajú, alebo im to trvá veľmi dlho - tam je možno veľké preťaženie siete.
Príkaz traceroute
vykonáva svoju činnosť pomalšie, pretože zisťuje aj mená
počítačov a sieťových zariadení cez ktoré prechádza. Ak by sa traceroute
nedostal do cieľa potom je požadovaný cieľ vzdialenejší ako 30 skokov, teda
traceroute
je default nastavený na 30 uzlových počítačov (zariadení), ak prejde
30-timi, bez ohľadu na to, či dorazil do cieľa alebo nie, svoju činnosť ukončí.
Bližšie informácie by ste mali získať príkazom
man traceroutealebo
traceroutebez parametra
Ešte by sme si mohli overiť, ako nám pracujú nameservery, príkazom nslookup
zadjame teda
nslookupobrazovka by mala vypísať niečo takéto, napr:
Default Server: dns.stonline.sk Address: 195.146.132.59 > (toto je príkazový riadok programu nslookup)Teraz zadajme nejaké meno, napr:
>www.infovek.sknameserver by nám mal odpovedať IP adresou, skúsme opak, zadajme nejakú IP adresu (samozrejeme NIE z našej siete, niečo z internetu) Ak nám nameserver správne odpovedá, ukončíme ho príkazom
>exita sme zase v príkazovom interprete.
Pozn: Ak neplánujete Váš linux používať ako e-mailový server, v podstate si
s takouto konfiguráciou vystačíte, ale potrebujete mať záznam o Vašej doméne
a IP adrese na nameserveri u ISP, teraz stačí spustiť httpd
(ak nebeží)
overíme si to príkazom ps aux
, ak beží, stačí už len
nakopírovať do adresára /home/httpd/html/
, novšie distribúcie majú koreň
http servera nastavený na /var/httpd/html/
Vaše web stránky a server je na svete,
ale pozor, ešte nie je bezpečný ! Ak budeme potrebovať z nášho servera
vytvoriť aj e-mailový server, potom musí na ňom bežať daemon named
, ale to už je
samostatná kapitola.
ps aux, kill -9 číslo procesu
Tento návod nie je podrobná príručka, budem písať len o nutnom minime, ktoré potrebujete na to, aby ste mohli editovať textové súbory.
! Platí pravidlo, že v rôznych konfiguračných súboroch, riadky, ktoré sa začínajú znakom # sa ignorujú, teda je to komentár, platné sú len také riadky, ktoré nemajú na začiatku znak #. (sú aj výnimky s inou syntaxou, napr.skripty)
Ak riadok vyzerá takto:
127.0.0.1 localhost #toto je pozáamka, kt. sa ignorujeTeda začiatok riadku je platný záznam, ale text za # je poznámka, tá sa ignoruje.
vi meno.suboruPo spustení je editor v tzv. príkazovom režime, aby sme mohli do súboru dopisovať, stlačíme klávesu i, dole sa Vám vypíše INSERT alebo Input. Môžeme písať a mazať. Ak sme urobili všetko čo potrebujeme, môžeme súbor uložiť, ale musíme sa prepnúť do príkazoveho režimu nasledovne: stlačíme Esc, vpravo dole vypíše Command, potom dáme dvojbodku, za dvojbodku napíšeme wq a enter.
Príkaz w znamená write, teda súbor sa uloží,
príkaz q znamená quit, teda naraz sa uloží súbor aj ukončí editor.
Maznie celého riadku:
Ak potrebujeme zmazať naraz celý riadok, musíme byť v príkazovom režime,
kurzorom sa nastavíme na riadok, ktorý budeme mazať a stlačíme 2x klávesu d
zmaže celý riadok.
Ukončenie vi bez uloženia súboru, editor musí byť v príkazovom režime: q! dobre vidíte, klávesa queeee a výkričník, potom enter. Ak ste v súbore urobili nejaké zmeny, po ukončení vi sa neuložia.
Toto je nutné minimum, ktoré na úspešnú editáciu textového súboru potrebujete. Na prvé počutie je to chaos, ale ja som vo vi, napísal celé internetové stránky s formatovaním v HTML so slovenskou diakritikou. Výhodou editora vi je, že Vám môžem 100%-ne zaručiť, že Vás kancelárska spona otravovať nebude :-).
Skúsme teda editovať nejaký textový súbor, len tak tréningovo, prepnime sa do adresára /tmp
cd /tmpVytvorme prázdny súbor
touch pokus.txtTeraz ho budeme editovať
vi pokus.txtKeď ste si vyskúšali prácu s editorom, potom zmažte súbor pokus.txt
rm pokus.txt
Nastavenie built-in editora v mc. Spustíme mc, dáme F9, vyberieme Options, odtiaľ Configuration, a v okienku zaškrtneme [x] Use internal edit, uložíte si konfiguráciu pomocou Save a môžete na vi zabudnúť. Teraz Midnight Commander funguje ako nc v DOS-e, teda na stlačenie klávesy F4 sa spustí editor, ktorému by mal rozumieť každý, kto niekedy pracoval s nc v DOS-e.
Existuje viac typov nameserverov, a teraz sa treba rozhodnúť, aký typ je pre Vás potrebný. Aký nameserver potrebujete pre svoju sieť, môžete naštudovať napr. v knihe:
Pavel Satrapa a Jiří Randus: LINUX-Internet serverZ ktorých typov si vybrať ?
Samozrejme, že asi najvyhodnejšie je, ak je Váš server primárnym doménovým nameserverom, pretože vtedy obsluhuje sám celú doménu ale stále treba u klientských PC v sieti počítať s tým, že sa budú okrem nášho nameservera používať aj nameservery ISP.
Čo budeme potrebovať na nakonfigurovanie DNS služby:
Softvér, väčšinou ho nájdete na internete vo forme balíka pod názvom
BIND+číslo verzie.
Najjednoduchšou cestou je stiahnúť ho vo forme rpm balíka (RedHat package
manager), alebo pre Debian vo forme deb (je to niečo podobné Debian, ako rpm pre
Red Hat). Nainštalujeme balík rpm -i bind.x.x.x.rpm
Samozrejme, ak máte už balík
nainštalovaný, odpadá pre Vás sťahovanie a inštalácia, už len nakonfigurovať.
Ako zistíme či máme v systéme nainštalovaný balík BIND ?
Kľúčovým programom balika BIND je daemon named
. Býva uložený v adresári /usr/sbin
Ak tam nie je, skúste ho vyhaľdať napr. pomocou Midnight Commandera, možno sa Vaša
distribúcia linuxu líši aj týmto ?!
Treba nejako zabezpečiť, aby sa named spúšťal pri štarte systému sám.
Balíky pre Red Hat sú vytvorené tak, že po inštalácií, ak sú to daemoni, ktorí
majú bežať nezávisle od inetd, sa pridá štartovací skript do adresára
/etc/rc.d/initd/named
Toto je ale vec, ktorú zrejeme majú distribúcie vyriešenú rozlične, no nakoniec ak sa nám to nepodarí spustiť automaticky, môžeme tohoto daemona named zatiaľ spúšťať ručne :-)))
Aby sa daemon named pri spustení správne nastavil, musí mať v adresári
/etc
súbor named.boot
v súbore /etc/named.boot
sú zapísané štartovacie podmienky daemona named
teda konkrétne adresár so zónovými súbormi.
Tento adresár sa väčšinou nastavuje na /var/named
potom súbor /etc/named.boot
obsahuje toto:
directory /var/named cache . named.ca primary skola.sk named.hosts primary 0.168.192.in-addr.arpa named.0.168.192 primary 0.0.127.in-addr.arpa named.0.0.127Toľkoto je teda minimum čo musí súbor
/etc/named.boot
obsahovať,
vysvetlíme si, čo to vlastne znamená:
Záznamom directory sme nastavili adresár v ktorom budú uložené zónové
súbory pre doménu. V praxi to znamená, že ak neexistuje adresár /var/named
potom ho treba ručne urobiť a tento adresár bude obsahovať súbory:
named.ca named.hosts named.0.168.192 named.0.0.127(pomenovať si ich môžete ako chcete, len nech to súhlasí s ich názvami v súbore
/etc/named.boot
Toto, čo som napísal, je zase jedno z nepísaných
pravidiel pomenovania zónových súborov.)/var/named/named.ca
by mal obsahovať databázu koreňových nameserverov
celého internetu. Zistime, či náš systém obsahuje takýto súbor aj so záznamami o
koreňových nameserveroch. Ak ho nemáme, stiahnime ho z internetu, jeho aktuálna
verzia je na adrese:
ftp://rs.internic.net/netinfo/root-servers.txt
potom ho iba premenujeme na named.ca
a skopírujeme do /var/named
súbor /var/named/named.hosts
slúži na definíciu domény a prevod mien
počítačov na IP adresy, tu sa definujú aj stroje, ktoré budú v doméne
mailservermi
súbor /var/named/named.0.168.192
slúži na prevod IP adries na mená strojov pre
lokálnu sieť.
súbor /var/named/named.0.0.127
slúži na prevod IP adresy pre localhost,
pre samého seba.
Nezabudnite pozrieť man named
(Servery sú niekedy samy sebe servermi a zároveň klientmi :-))
Príklad: Najprv musíme vedieť aké meno má náš počítač. Meno stroja si zistiíme príkazom:uname -aktorý vypíše meno stroja aj s doménou. Ďalší spôsob ako zistiť meno stroja, je pozrieť súbor
/etc/HOSTNAME
cat /etc/HOSTNAMEvypíše sa napr:
server.skola.skPotom meno Vášho stroja je iba "server" a doménové meno je "skola.sk" Môžeme meno stroja aj zmeniť, ale zmena sa prejaví až po reštarte.
Ďalej budeme potrebovať meno našej domény, ak nemáme meno domény a staviame internetový server, musíme si naše doménové meno zaregistrovať na doménovom úrade, toto väčšinou vybavuje ISP, ale treba ho o to požiadať.
Ak nemáme v systéme zapísané doménové meno, vyhľadajme súbor
/etc/DOMAINNAME
a doplníme ho tam
Vráťme sa teraz k vytvoreniu zónových súborov.
Začneme súborom /var/named/named.hosts
Príklad súboru /var/named/named.hosts
;Definicia domenoveho nameserveru skola.sk @ IN SOA server.skola.sk. root.skola.sk. ( 20020220 86400 3600 3600000 604800 ) IN NS server.skola.sk. IN MX 0 server.skola.sk. server IN A 192.168.0.1 www IN CNAME server ftp IN CNAME server ns IN CNAME server mail IN CNAME serverVysvetlíme si zhruba význam jednotlivých položiek:
@ IN SOA server.skola.sk. root.skola.sk.SOA=Start Of Authority, za ním nasleduje meno primárneho servera pre doménu, a e-mailová adresa správcu domény (znak @ bežne používaný v mailovej adrese sa v tomto prípade nahrádza bodkou !). Potom je v okrúhlych zátvorkách 5 čísel:
IN NS server.skola.sk.takto sa zapisujú mená primárnych a sekundárnych nameserverov pre doménu
IN MX 0 server.skola.sk.definuje počítače, ktoré spracujú elektronickú poštu a uložia ju do schránok užívateľov, v našom prípade to je zase "sám sebe", pretože na jednotlivé prac. stanice sa bude pošta sťahovať z tohoto servera už cez POP3, alebo web rozhranie IMP, 0 znamená prioritu.
server IN A 192.168.0.1záznam na prevod mena na IP adresu
www IN CNAME servertoto je záznam, aby server poznal sám seba aj pod menom www, aby sme mohli sprevádzkovať http službu www.skola.sk, pretože predpokladám, že budete chcieť mat stránky na takejto nejakej adrese.
ftp IN CNAME servermôžem si zaviesť ešte jednu prezývku servera, ak budem chcieť prevádzkovať ftp server s názvom ftp.skola.sk Príklad súboru
/var/named/named.0.168.192
, tento súbor slúži na prevod
IP adries na mená počítačov, teda tu je príklad:
;Definicia domenoveho nameserveru @ IN SOA server.skola.sk. root.skola.sk. ( 20020220 86400 3600 3600000 604800 ) IN NS server.skola.sk. 1 IN PTR server.skola.sk.Začiatok tohoto súboru je v podstate zhodný s predchádzajúcim a preto ho netreba komentovať, takisto aj riadok
IN NS server.skola.sk.
Jediné čím sa to líši od predchádzajúceho, je riadok:
1 IN PTR server.skola.sk.1 znamená, že je to posledná časť IP adresy, teda 1 zo 192.168.0.1, ak teda nameserver hľadá meno k adrese 192.168.0.1, má ho nadefinované tu. (Môže tu byť aj viac záznamov, ale windows klientov siete by som radšej zapísal do
/etc/hosts
)
No a na záver, už len súbor /var/named/named.0.0.127
Keďže každý počítač v
sieti pozná sám seba pod menom localhost s IP adresou 127.0.0.1 (dokonca
aj windows :-), skúste na linuxe alebo aj vo windows v príkazovom riadku:
ping localhostodpovie Vám 127.0.0.1 a ani nemusia byť pripojené káble siete)
Príklad súboru /var/named/named.0.0.127
;Definicia domenoveho nameserveru @ IN SOA server.skola.sk. root.skola.sk. ( 20010209 360000 3600 3600000 360000 ) IN NS server.skola.sk. 1 IN PTR localhost.Myslím, že toto už nepotrebuje komentár.
Zónové súbory máme, ešte treba zabezpečiť, aby sa pri štarte systému spustil
daemon named
. Keďže tu sa distribúcie trochu líšia, aspoň v RedHat-e je na to
utilitka setup, kde si nadefinujem, ktoré služby sa majú pri štarte spúšťať.
(Smaozrejeme, ide to aj ručne, doplnením štartovacích skriptov do
/etc/rc.d/init.d
)
Ak nám má teda fungovať doručovanie e-mailov, treba po štarte spustiť aj
daemona ktorý sa o to postará. Je ich veľa, často sa používa sendmail
.
Ak sa dá použite nejakú utilitu, ktorá to nastaví za Vás, ak nie môžeme tohoto
daemona spustiť po reštarte deaemona named
:
Ešte pred reštartom daemona named
, doplňme do /etc/resolv.conf
aj údaje o
našom nameserveri
search skola.sk nameserver 127.0.0.1 nameserver 195.146.132.59 nameserver 195.156.128.60A teraz si vypíšeme bežiace procesy príkazom:
ps auxzistíme pod akým PID beží named (PID=Process Identification Number, identifikačné číslo procesu) potom
kill -9 xxx kde xxx je číslo procesu namedpotom znova
nameda spustenie sendmailu:
sendmail -bd -q 15m
-bd znamená, že sendmail pobeží na pozadí ako daemon
-q 15m znamená, že sa sendmail pokúsi odosielať maily vo fronte každých 15 min
POZOR ! Každý server v internete, na ktorom beží SMTP služba, môžu
využívať SPAM-eri na odosielanie svojho balastu, preto je potrebné zakázať tzv. Open Relay, ešte
pred spustením daemona sendmail
. Povolíme použitie služby SMTP (sendmail) iba z našej domény.
Do súborov /etc/mail/name_allow
a /etc/mail/relay_allow
doplníme, do
oboch názov našej domény skola.sk
a až potom spustime sendmail
.
Skúsme overiť činnosť už nášho lokálneho nameservera príkazom nslookup
,
takým spôsobom ako som popísal vyššie, ale teraz
už pobeží na samom sebe.
nslookupobrazovka by mala vypísať:
Default server: localhost Adress: 127.0.0.1 >Skúšame mená a IP adresy, pozri vyššie.
! NEZABUDNITE Záznam o existencií Vašej domény a nameservera musí byť zaregistrovaný aj v nameserveroch ISP, ktoré sú nadradené Vašej doméne, pretože postup hľadania domény je hierarchický.
Príklad: Niekto vo svete si chce prečítať Vaše web stránky, preto vyťuká do svojho prehliadača adresu www.skola.sk Aby mohol dostať odpoveď na svoj dotaz, musí mu jeho nameserver vrátiť IP adresu servera vašej školy. Lenže jeho ISP nepozná Vašu IP adresu, ani Váš server, preto nameservery jeho ISP, postúpia požiadavku koreňovým nameserverom internetu, lenže ani tie nič nevedia o doméne skola.sk, ale našťastie, vedia niečo o doméne sk, takže postúpia jeho požiadavku serverom, ktoré majú na starosti doménu sk. Servery v doméne sk, by mali vedieť, že exstuje doména druhej úrovne skola.sk a že o ňu sa stará server.skola.sk, postúpia preto požiadavku na server.skola.sk, ktorý už pozná aj www.skola.sk, zistí že je to on sám a preto pošle Vaše stránky na počítač v internete ktorý o to požiadal.
sendmail
Ako ho spustiť pozri vyššie, ale NEVYHNUTNÝM prepokladom k
fungovaniu e-mailu je správne pracujúci nameserver !
Skúsme poslať mail niekde mimo našu sieť, ak odíde, je dobre. Poprosme niekoho aby nám poslal mail na nejaké konto na tomto serveri, alebo to môžeme urobiť sami tak, že si vytvoríme nejaké mailové konto na niektorom freemailovom serveri (www.post.sk, www.pobox.sk, atď...) a odtiaľto pošlime mail, na náš server.
Ak sa mail doručil, nameserver a poštový doručovateľ sú v poriadku.
Ako zistiť či sa mail doručil ?
Ak bol poslaný na adresu: meno@skola.sk
potom v adresári /var/spool/mail
nájdete súbor meno
a ak si ho pozriete, mal
by obsahovať okrem iného aj text správy.
Tu ale treba byť trpezlivý, niekedy doručenie mailov trvá aj hodiny.
Potom si ešte pozrime obsah adresára /var/spool/mqueue
V tomto adresári sa radia do fronty maily pripravené na spracovanie, teda aj
odchádzajúce aj prichádzajúce.
Ak v tomto adresári nájdeme nejaké súbory, počkajme nejaký čas, ak odtiaľ zmizli, znamená to že sa e-mail odoslal.
Ak odtiaľto dlho nechcú zmiznúť, treba si pozrieť
/var/log/maillog
sem sa zapisujú všetky aktivity daemona sendmail,
Ak tam nájdete Stat=Sent mail sa odoslal, ak je tam
Stat=queued, znamená to že ešte čaká vo fronte na spracovanie.
Ak sa potrebujeme presvedčiť, či máme nejaké maily vo fronte, môžeme na to použiť príkaz:
mailqV linuxe môžete poslať mail aj z príkazoveho riadku:
mail meno@skola.skKeď napíšete subject a dáte ENTER, napíšete správu dáte ENTER a na prázdny riadok dáme len bodku a znova ENTER, mail sa odošle.
Ak chceme čítať maily v linuxe, stačí zadať príkaz mail
,
Ak máte novú poštu, vypíše sa &1
, stlačíme číslo 1 a vypíše sa obsah mailu.
Toto je ale veľmi archaický spôsob, použite radšej niektorého mailového klienta pre textový režim ako je napr. pine
Konfigurácia pop3 daemona je jednoduchá, potrebujeme na to mať daemona pop3d,
in.pop3d
alebo ipop3d
.
Požiadavka na stiahnutie pošty prichádza na porte 110 TCP/IP protokolu, aby
toto pracovalo správne, mal by sa nachádzať záznam o tejto službe v
/etc/services
Pop3 server sa spúšťa pomocou inetd, teda v súbore /etc/inetd.conf
by mal byť
záznam
pop3 stream tcp nowait root /usr/sbin/tcpd ipop3dMechanizmus poskytovania služby POP3 som popísal vyššie.
Ak tento záznam vo Vašom súbore /etc/inetd.conf
nebol, doplňte ho tam,
skontrolujeme, či existuje potrebný záznam pre službu pop3 v /etc/services
mali by tam byť tieto záznamy:
pop3 110/tcp pop3 110/udpzrušíme daemona inetd
ps auxzistíme pod akým číslom PID beží inetd, potom
kill -9 PID namiesto PID napíšeme číslo, ktoré nám vypísal ps auxTeraz znova spustíme daemona inetd, príkazom
/usr/sbin/inetdAk sú záznamy v súboroch
/etc/services
a /etc/inetd.conf
v poriadku, môžeme urobiť test pop3 servera priamo na linuxovom stroji nasledovne:
telnet localhost 110Ak sa Vám na obrazovke objaví niečo podobné tomuto:
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK server.skola.sk POP3 3.3(20) w/IMAP2 clientpotom Váš systém je správne nakonfigurovaný a dokáže poskytovať POP3 služby POP3 server ukončíme príkazom
quit
. Teraz môžete použiť buď nejaký PC s mailovým
klientom na sťahovanie pošty ako napr. Outlook, ktorý je samá diera a rajom pre
červy, alebo Netscape Messenger, alebo akýkoľvek Váš obľúbený mail klientstký
softvér.
POZOR ! Protokol pop3 je otvorený protokol, teda mená a heslá posiela v textovej podobe, je možné ich odchytiť v sieti.
Alebo užívateľ po prihlásení na linuxový server napr. cez telnet, môže použiť napr. pine, ale často sa tento problém rieši aj cez webové rozhranie pomocou napr: IMP, neomail, visualmail, openwebmail atď. kde si užívatelia čítajú a odosielajú poštu jednoducho cez www stránky zobrazené vo www prehliadači.
K linuxu môžete pripojiť akúkoľvek tlačiareň, ktorá je schopná tlačiť v čistom DOS-e, nie v DOS-okne vo windows. Linux nepodporuje
tzv. win-tlačiarne, ktoré sú schopné tlačiť iba s ovládačmi pre Windows.
Aby sme úspešne zvládli tlač z linuxu, potrebujeme balík programov, pre RedHat je to lpr-XXX.rpm, printtool-XXX.rpm a rhs-printfilters-XXX.rpm
, ale podobné balíky existujú pre všetky distribúcie linuxu, napr pre Debian vo forme *.deb
, XXX
znamená číslo verzie.
Ďalej, budeme potrebovať podporu paralelného portu, ktorá môže byť buď zakompilovaná napevno do jadra linuxu, alebo môže byť vo forme nahrateľného modulu. Ak si nie ste istí v tom, či má jadro zakompilovanú podporu alebo nie, tak väčšina jadier má túto podporu štandardne zapnutú vo forme modulu lp.o
, ktorý nájdete v /lib/modules/číslo-jadra/misc
. Iba ak ste si kompilovali sami jadro linuxu a nezapli podporu lp a nezapli podporu pre nahrateľné moduly, bude potrebné jadro prekompilovať. Štandardne dodávané jadrá, majú túto podporu zapnutú, vo forme nahrateľných modulov. Skúste teraz nahrať modul lp
do jadra:
modprobe lpNeudialo sa nič, ale ak sa pozriete do
/var/log/messages
a nájdete tam linux_kernel: lpt1 at 0x0378, (polling)
potom je modul lp
úspešne nahratý do jadra. Pozrime sa či je v pamäti:
lsmodDostanete výpis
Module Pages Used by lp 2 0Teda je v pamäti, môžeme ho z pamäte odstrániť, pretože, ak Vám beží daemon
/sbin/kerneld
, bude sa každý modul do pamäte nahrávať automaticky v prípade potreby, a naopak, aj sa z pamäte odstráni, ak sa nepoužíva. (Keby toto dokázali orámované sklá, asi by menej zamŕzali :-)). Pre istotu si skontrolujte, či beží /sbin/kerneld
príkazom:
ps x
Ak /sbin/kerneld
nebeží, budete musieť modul do jadra nahrať ručne, postup je vyššie, ak beží, už sa o modul starať nemusíte.
Ak teda máme tlačiareň, ktorá bude s linuxom schopná spolupracovať, musíme
vedieť, ku ktorému portu bude pripojená. V linuxe to býva jeden z /dev/lp0, /dev/lp1, /dev/lp2
, teda tak, ako
máme v DOS-e LPT1, LPT2, LPT3.
Pripojme teda tlačiareň k paralelnému portu a skúsme nasledovné:
cat textovysubor.txt > /dev/lp1Toto je iba jednoduché presmerovanie výstupu z obrazovky na port
/dev/lp1
, tlačiareň by mala normálne tlačiť. Ak vytlačí obsah súboru správne, potom ju môžeme začať konfigurovať pre systém tak, aby dokázal používať program pre tlač lpr
a aby jednotlivé tlačové úlohy zoraďoval do fronty. O tlačové úlohy sa stará daemon lpd
, ktorý zachytáva požiadavky na tlač, od jednotlivých užívateľov, zoardí ich do fronty, a nakoniec ich odovzdá programu pre tlač lpr
, ktorý zabezpečuje už samotnú tlač, podľa nastavení jednotlivých tlačiarní v súbore /etc/printcap
printtool
v X window. Ak nemáte X, nezúfajte,
tak ako všetko, tlačiareň tiež môžete nakonfigurovať aj v textovom režime, aj keď to bude zložitejšie.
Ak sme tlačiareň nakonfigurovali pomocou printtool (printconf), potom už le stačí spustiť daemona lpd
a tlačiť.
Spustenie daemona lpd:
lpdTeraz môžeme tlačiť:
lpr textovysubor.txt
Ako vytvoriť súbor /etc/printcap
.
Pre zostavenie súboru /etc/printcap
platia nasledovné pravidlá:
Riadky s komentárom musia začínať znakom #
Každý záznam definuje jednu tlačiareň, pričom záznam začína vždy menom (názvom) tlačiarne, pokračuje jednotlivými položkami záznamu, ktoré sa oddeľujú dvojbodkou a za poslednou položkou záznamu je tiež dvojbodka. Znaky \ na koncoch riadkov znamenajú toľko, že záznam pre danú tlačiareň pokračuje na ďalšom riadku. Za znakom \ nesmie byť žiadny znak, ani medzera. Záznam pre jednu tlačiareň sa končí dvojbodkou, za ktoru už nie je znak \, teda záznam nepokračuje na ďalšom riadku.
Linuxová tlačiareň musí mať nejaké pomenovanie, názov, implicitne je priradené meno lp
, čo asi znamená linux printer, alebo local printer. Jedna tlačiareň, však môže mať aj viac mien, napriek tomu, by som však prvé z mien ponechal lp
, ušetrí nám to trocha práce. Povedzme, že okrem mena lp
, by som chcel, aby tá istá tlačiareň mala aj názov panasonic
a Panasonic
. Mien môže byť aj viac. Nech je pripojená k portu /dev/lp1
, a nech je nastavená na emuláciu štandardu EPSON.
Príklad: K linuxu na port /dev/lp1
mám pripojenú tlačiareň Pnasonic KX-P2130, je to 24-ihličková tlačiareň. Použitím printtool
sa mi vytvoril súbor /etc/printcap
, ktorý vyzerá nasledovne:
##PRINTTOOL3## LOCAL epson 180x180 a4 {} Epson24 Default {} lp|panasonic|Panasonic:\ :sd=/var/spool/lpd/lp:\ :mx#0:\ :sh:\ :lp=/dev/lp1:Prvý riadok začína znakom #, teda je to iba komentár.
lp|panasonic|Panasonic:\
čo sú mená jednej a tej istej tlačiarne, oddelené znakom |, na konci je znak \, ktorý špecifikuje, že záznam pre túto tlačiareň ešte pokračuje položkou :sd=/var/spool/lpd/lp:\
. Premenná sd
špecifikuje adresár, ktorý sa má použiť na zapisovanie fronty pre tlač. Teda sd
znamená spool directory. V našom prípade je nastavená táto premenná na /var/spool/lpd/lp
. Rovnako aj tento riadok končí znakom \, teda záznam pre lp|panasonic|Panasonic
pokračuje premennou :mx#0:\
. Táto premenná nastavuje maximálnu veľkosť tlačovej úlohy, v našom prípade má hodnotu 0, teda bez obmedzenia. Potom nasleduje premenná :sh:\
, ktorá zabezpečí, aby sa nevytlačila úvodná stránka, linux totiž riadi tlač tak, že ak tento parameter nie je definovaný, vytlačí sa na jednu stránku meno užívateľa a až potom obsah súboru, ktorý užívateľ potrebuje vytlačiť. V praxi to má využitie vtedy, ak denne tlačiareň použije 50 užívateľov, ktorí si v kope vytlačených listov musia nájsť ten svoj vytlačený súbor. Zatiaľ ale budeme tlačiareň iba testovať, a toto by nás vyrušovalo. Poslednou položkou v zázname pre tlačiareň lp|panasonic|Panasonic:\
je :lp=/dev/lp1:
, ktorá špecifikuje port, ku ktorému je tlačiareň pripojená. Všimnite si, že tu už na konci nie je znak \, znamená to teda, že záznam pre našu prvú tlačiareň sa tu končí. Samozrejme súbor /etc/printcap
môže obsahovať aj viac záznamov pre viac rôznych tlačiarní, možnosti nastavenia ďalších premenných je oveľa viac, avšak sústredil som sa iba na nutné minimum, viac o tomto nájdete napr. v knihe Používame linux od autorov Lar Kaufman a Matt Welsh. V súbore /etc/printcap
by mali mať záznam aj vzdialené tlačiarne, napr. tlačiareň ktorá je fyzický pripojená k windows a linux ju môže použiť prostredníctvom SMB protokolu, teda Samby.
Musíme ešte vytvoriť vyššie spomínaný adresár:
mkdir /var/spool/lpda tomuto adresáru nastaviť nasledovné práva:
drwxrwxr-x 3 root daemon 1024 Nov 12 19:30 lpdkeď toto máme, vytvoríme ešte adresár lp:
mkdir /var/spool/lpd/lpa aj pre tento adresár musíme zmeniť skupinu a prístupové práva na:
drwxr-xr-x 2 root lp 1024 Nov 12 20:33 lp
Reštartujeme daemona lpd
killall lpda môžeme otestovať nastavenie tlačiarne, skúsme najprv vytlačiť čistý ASCII text:
lpd
lpr subor.txtAk sa súbor vytlačil, je naše nastavenie správne.
lpqNa riadenie tlače sa používa utilitka
lpc
lpcObjaví sa prompt programu
lpc
lpc>zadajte príkaz
lpc>helpProgram Vám vypíše aké má možnosti pri riadení tlače, podľa toho, ktorú požadujete, tú zadáte ako príkaz pre
lpc
Takto sme nakonfigurovali tlačiareň, zatiaľ však iba pre textový režim. Tlačiarne na linuxe samozrejme dokážu tlačiť aj rôzne formátovaný text, napr: HTML stránky, PostScript-ové dokumenty, obrázky, text upravený pomocou programu TeX, ale na takéto tlačové úlohy, potrebuje mať tlačiareň nastavené tzv. tlačové filtre. Utilita printtool tieto filtre dokáže nastaviť za Vás, preto podrobný opis nastavenia filtrov vynechám.
Balík programov s názvom Samba, dovoľuje aby sa linux tváril v sieti ako windowsovské PC.
Načo je to dobré ? Aby win PC mohli zdieľať linuxové disky a tlačiarne, ale aj naopak, teda
linux môže cez sieť používať disky PC a tlačiť z linuxu na tlačiarni fyzicky pripojenej
k win PC. Prečo to normálne nefunguje, lebo win PC používajú na zdieľanie protokol Session Message
Block (SMB => Samba) a nie TCP/IP. Na to, aby sme sprístupnili linuxové disky a tlačiarne pre win PC,
musíme naučiť linux, aby sa tváril ako windows. Toto dokážu daemoni Samby,
smbd
- daemon, ktorý sprístupní prostriedky pre win
nmbd
- daemon, ktorý sa stará o mená viditeľné vo win, po dvojkliku na Okolité počítače, teda prevod
IP na meno a naopak. Toto ale nie je DNS, ako je potrebné pre internet, ale je to niečo podobné.
A ešte niekoľko obslužných programčekov
smbclient
- klient samby pre linux
smbprint
- program pre tlač
smbmount
- slúži na primountovanie win disku k linuxu.
smbpasswd
- nastavuje heslá pre Sambu
Skôr, ako sa pustíte do realizácie SMB servera, preštudujte si PC-revue 1/2001 až 5/2002, kde je táto problematika veľmi podrobne a prístupnou formou rozobratá, ale pre úspešný štart SMB, venujte pozornosť hlavne PC-revue 6/2001.
Ak teda máme funkčnú TCP/IP sieť, s nastaveným zdieľaním diskov a tlačiarne na win PC a takisto do siete pripojený linux s fungujúcim TCP/IP spojením, pripojme win disk k linuxu.
Príklad: nech má linux meno v sieti Linux
a win PC bude PC
.
Aby sme pripojili zdieľaný disk C: PC k Linuxu, nemusíme zatiaľ konfigurovať SMB server.
smbmount //pc/c /mntTento príkaz pripojí zdieľaný disk C: počítača PC k adresáru
/mnt
. Poprípade, ak máte
nastavené heslo k tomuto disku, po zadaní príkazu smbmount //pc/c /mnt
si program požaduje
zadanie správneho hesla, po zadaní sa disk pripojí. Samozrejme, predpokladám, že máte
IP adresu a meno PC zapísané v /etc/hosts
./mnt
príkazom
cd /mnta zadáme
lsuvidíme výpis obsahu disku C:, ktorý je fyzicky na PC. Ak máme na PC povolené zdieľanie len na čítanie, môžeme súbory z PC iba kopírovať na Linux, ak je zdieľanie vo windows na PC nastavené aj na zápis, môžete z Linuxu kopírovať súbory na PC.
smbumount /mnt
V podstate by stačilo spustiť daemonov smbd
a nmbd
, ale najprv
ich treba nakonfigurovať.
Pokračujme teda v tom, ako sme si pomenovali počítače a ešte potrebujeme poznať ich IP adresy:
Linux - IP: 192.168.0.1 PC - IP: 192.168.0.2Aby naše PC poznalo IP adresu SMB servera, musíme mu ju nejakým spôsobom oznámiť. Sú dve možnosti, jednoduchšia:
C:\WINDOWS
vyhľadáme súbor hosts.sam, skopírujeme ho do C:\WINDOWS\hosts
, bez prípony !
Otvorme súbor hosts
v notepade a uvidíte niečo ako /etc/hosts
v linuxe. Doplňme tam náš linux.
127.0.0.1 localhost 192.168.0.1 LinuxDruhá možnosť je použiteľná iba v prípade, ak na našom linuxe máme nakonfigurovaný DNS server, potom iba doplníme IP adresu 192.168.0.1 medzi nameservery vo win. V tomto prípade môžete úpravy v
C:\WINDOWS\hosts
vynechať, ale nič sa nestane, ak máte aj obe,
nastavenia, ale musia byť obe rovnaké.
Ešte spomeniem, že aj win má niekedy linuxové črty, pretože
skôr ako začne hľadať IP adresy z nameserverov, pozrie sa najprv do C:\WINDOWS\hosts
či tam hľadané IP nieje, ak nie, požiada nameserver. Rozdiel je len v tom, že v linuxe si môžete
poradie prehľadávania nastaviť v /etc/host.conf
, ale o tomto som sa zmienil vyššie.
Keď sme už pri PC, pozrime si do akej pracovnej skupiny patrí, nájdeme to v nastavení siete, budeme to potrebovať,
aby sme rovnakú prac. skupinu nastavili aj pre linux. Nech je prac. skupina SKOLA.
Teraz nakonfigurujme nmbd
v linuxe. V podstate je potrebné vytvoriť súbor /etc/lmhosts
touch /etc/lmhostsVytvorili sme prázdny súbor, ktorý je potrebné doplniť našimi údajmi. Doplňme teda do
/etc/lmhosts
nasledovné:
192.168.0.1 Linux M 192.168.0.2 PCPísmeno M znamená, že toto je SMB server, pre ktorý platia naše nastavenia.
Už zostáva iba konfigurácia smbd
daemona, lenže možnosti sú tu obrovské,
preto sa zmienim iba o základných.
Konfiguračný súbor daemona smbd
, nájdeme kde inde ako v /etc
a jeho
názov je smb.conf
(Ak ste čakali takýto názov, už sa na Vás prejavuje linuxová rutina.)
Teda, čo bude /etc/smb.conf
obsahovať ?
Je rozdelený na sekcie:
[global] všeobecné nastavenia [homes] domovské adresáre užívateľov [printers] potrebuje toto komentár ? :-)Poďme si povedať niečo o tom čo sem zapísať, ako príklad by som uviedol toto:
sergej
aby sa z win PC mohol pozrieť do svojho linuxového adresára a aj doň zapisovať, ale nikto iný, teda musí mať aj heslo,
ďalej chcem ponúknuť všetkým na zápis voľne prístupný adresár /home/samba, bez hesla a chcem ponúknuť možnosť tlače, na tlačiarni Panasonic pripojenej k linuxu.
/etc/smb.conf
nasledovné:
[global] ; toto sú len moje komentáre, to tam nepíšte workgroup = SKOLA ; nastavenie prac.skupiny netbiosname = Linux ; meno pod kt. bude server viditeľný vo win. server string = Samba na Linuxe ;Toto sa objaví vo win po zadaní Vlastnosti security = user ; bezpečnosť, vyžaduje sa meno a heslo encrypt password = yes ; pre W98, NT, W95 OSR2 yes, pre W95 staršie nastavte no smb passwd file = /etc/smbpasswd ; súbor, kde sú uložené kryptované heslá pre Sambu log file = /var/log/samba/log.%m ; sem sa zapisujú aktivity SMB, %m znamená, že každý počítač má svoj log súbor. socket_options = TCP_NODELAY ; protokol TCP nečaká dns proxy = no ; ak nemáte DNS cez proxy server, ak áno - yes hosts allow = 192.168.0. ; povolíme použiť SMB všetkým z našej siete [homes] ; domovské adresáre užívateľov browseable = no ; iní ich neuvidia v zdieľaných prostriedkoch, vidí ich iba užívateľ, ktorý má konto na SMB serveri read only = no ; užívateľ može do svojho adresára aj zapisovať [samba] ; tento adresár sprístupníme všetkým path = /home/samba ; cesta read only = no ; pozri vyššie public = yes ; tento adrsár je verejný, sem má prístup každý [Panasonic] ; toto bude tlačiareň security = server ; bezpečnosť path = /var/spool/lpd/lp ; adresár, kde máme nakonfigurovanú tlačiareň v linuxe printer name = lp ; meno tlačiarne writable = yes ; sem môže zapisovať každý public = yes ; verejná printable = yes ; určená na tlač print command = lpr -r -h -P %p %s ; príkaz pre tlač, pozri man lprPre začiatok stačí, teraz by sa zdalo, že už je všetko O.K., nie je, totiž v
/etc/smb.conf
sme špecifikovali, že sambové heslá budú v /etc/smbpasswd
, ale
tento súbor zatiaľ nemáme vytvorený.
Vytvorme ho nasledovne, prevedieme normálnych linuxových užívateľov na sambových príkazom:
cat /etc/passwd | /usr/bin/mksmbpasswd.sh > /etc/smbpasswdSúbor s užívateľmi už máme, ešte im nastavme aj heslá, určite tu bude aj užívateľ
sergej
Zavolajme si teda Sergeja k sebe, napíšme smbpasswd sergej
nech si teraz Sergej naťuká svoje heslo.
To sa zakryptované zapíše do /etc/smbpasswd
k menu sergej
.
Spustime teraz daemonov takto:
nmbd -D smbd -D
Teraz môže Sergej sadnúť k PC a pri prihlásení sa do windows, použiť svoje meno sergej
,
a ak 2x klikne na Počítače v sieti, Okolní počítače, Network Neighborhood atď..., objaví tam Linux,
2x naň klikne, uvidí tam adresáre sergej, samba, Panasonic
Do adresára sergej
sa dostane iba po zadaní správneho sambového hesla, ktoré
sme mu nastavili smbpasswd sergej
, ale samba
aj Panasonic
, idú otvoriť aj bez hesla.
Ak chce sergej
použiť tlačiareň Panasonic
musí si do svojho PC nainštalovať normálne windows
ovládače pre Panasonic ako sieťovú tačiareň na Linuxe.
POZOR ! Ak v sekcii [global]
v direktíve encrypt password
použijete no
potom
meno a heslo pre prihlásenie na Samba server putuje sieťou v nekryptovanej, textovej podobe a dá sa odchytiť.
pridajte do adresára /etc/rc.d/init.d/
súbor smb
ktorý obsahuje toto:
#!/bin/sh # # /etc/rc.d/init.d/smb - starts and stops SMB services. # # Nasledujuce subory su symbolicke odkazy na tento subor: # symlinks: /etc/rc.d/rc1.d/K35smb (Zastavi SMB sluzby pri vypnuti) # /etc/rc.d/rc3.d/S91smb (Startuje SMB sluzby ) # /etc/rc.d/rc6.d/K35smb (Zastavi SMB sluzby pri reboote) # # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # See how we were called. case "$1" in start) echo -n "Starting SMB services: " daemon smbd -D daemon nmbd -D echo touch /var/lock/subsys/smb ;; stop) echo -n "Shutting down SMB services: " killproc smbd killproc nmbd rm -f /var/lock/subsys/smb echo "" ;; *) echo "Usage: smb {start|stop}" exit 1 esacSamozrejme, vytvoríme aj príslušné symbolické odkazy (link), ale ak sme inštalovali balík samba napr. z rpm, alebo deb balíka, toto už nie je potrebné, inštalácia to zariadi sama.
root
a zmeniť práva na -rwxr-xr-x
Existuje aj iná možnosť, ako štartovať daemonov nmbd
a smbd
prostredníctvom daemona inetd
Ak sa rozhodnete pre túto alterntívu, nemusíte vytvárať zložitý štartovací skript, stačí ak
do /etc/inetd.conf
doplníte (ak to tam nie je) nasledovné:
netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd netbios-ns dgram udp wait root /usr/sbin/nmbd nmbdReštartujeme daemona inetd takto:
killall inetd inetdTakto nám daemonov Samby bude spúšťať superserver inetd.
Poslanie spravy cez SMBCLIENT na PC s Windows
smbclient -M pc1 -I 192.168.0.1 -U pc1
Odklepnut Enterom a pisat spravu, po napisani spravy, dame Enter
a ukoncime Ctrl+D
V prípadoch ak potrebujeme, aby určitá sieťová služba, napr. telnet bola dostupná iba v LAN,
ale aby sa "zvonku" z internetu nemohol k tomuto portu protokolu TCP/IP nikto
dostať, je výhodné na overovanie oprávnenosti použitia tej ktorej služby
tcpwrapper. V podstate je to daemon tcpd
, ktorý pri požiadavke o určitú službu,
overí, či pre daný stroj, môže inetd spustiť príslušného daemona.
Toto overovanie vykonáva daemon /usr/sbin/tcpd
. Konfigurácia je veľmi jednoduchá.
Stačí ak sa daemon ktorého má na základe požiadavky spustiť inetd,
overí cez tcpd.
Overovanie sa nastavuje v súbore /etc/inetd.conf
Príklad služby telnet, zapíšeme do súboru /etc/inetd.conf
:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
Záznamom takéhoto typu sme zabezpečili, že skôr, ako superdaemon inetd spustí
daemona in.telnetd, overí či v súboroch /etc/hosts.allow
, alebo /etc/hosts.deny
nie je pre tohoto daemona záznam. Súbor /etc/hosts.allow
obsahuje IP adresy, alebo mená strojov
ktoré môžu službu využívať. Súbor /etc/hosts.deny
obsahuje IP adresy, alebo mená strojov,
ktoré majú zakázané službu využívať.
Príklad:
Máme LAN, ktorej IP adresy sa začínajú 192.168.0.1 a končia 192.168.0.254
Potrebujem povoliť službu telnet v našej lokálnej sieti, ale v internete nie.
Upravíme preto súbor /etc/inetd.conf ako je uvedené vyššie a do súboru
/etc/hosts.allow
doplníme:
in.telnetd: 192.168.0. 127.0.0.1
POZOR ! Za posledným znakom dáme ENTER, inak sa riadok v súbore ignoruje !!!!!
Takto sme povolili všetkým strojom v sieti 192.168.0.XXX použitie daemona
in.telnetd.
in.telnetd: - znamená, ktorý daemon bude povolený
192.168.0. - znamená, všetky stroje s IP 192.168.0.XXX
127.0.0.1 - povolíme službu aj z localhosta, teda zo samého seba
Ale ostatným ho treba zakázať, preto upravíme súbor /etc/hosts.deny
do ktorého doplníme:
in.telnetd: ALL
Takisto dáme za posledným znakom ENTER.
Tu by mohol byť rovnako zapísaný zoznam IP adries, alebo mien strojov, ktoré majú
službu zakázanú, ale ak ju zakazujeme všetkým, potom je jednoduchšie použiť ALL
.
Nakoniec reštartujeme superdaemona inetd:
killall inetd inetd
Na rovnakom princípe je možné povoliť/zakázať akúkoľvek službu, ktorú spúšťa superdaemon inetd.
Pre istotu, by sme mohli ešte otestovať, či sa niekto skutočne z nepovolenej IP adresy nedostane k službe, ktorú sme zakázali. Použijeme na to príkaz
tcpdmatch daemon IP
teda prakticky si povedzme, že by sa niekto z
IP adresy 195.146.132.59 chcel pripojiť cez telnet na náš server. Ak máme všetky nastavenia pripravené potom na serveri zadajme príkaz:
tcpdmatch in.telnetd 195.146.132.59Po prebehnutí príkazu by sa malo objaviť niečo takéto:
client: address 195.146.132.59 server: process in.telnetd access: deniedAk výpis vyzerá takto, potom skutočne počítač s IP adresou 195.146.132.59 má zakázané pripojenie telnetom na náš server. Ak je ale vo výpise namiesto
access: denied
výpis access: garanted
potom tento stroj má oprávnenie použiť danú službu.
Čo je kvota. Je to softvérové obmedzenie diskového priestoru jednotlivým
užívaťeľom a skupinám. Prečo je to potrebné ? Pretože ak má na Vašom serveri
e-mailovú schránku 100 užívateľov a každý dostane mail s veľkosťou 10 MB, ešte
se nič nedeje pri dnešných kapacitách diskov, ale ak máte k diskom povolený aj
prístup cez SAMBu, poprípade každý užívateľ má aj priestor na webe potom riziko zaplnenia disku je dosť veľké, pretože ak máte v
systéme spomínaných 100 užívateľov a každý si uloží 500 MB čo nie je ani obsah
jedného CD-ROMu, potom máte 50GB disk zaplnený a systém sa pri zapisovaní log
súborov, alebo zapisovaní prijatých e-mailov do jednotlivých schránok, môže veľmi
ľahko dostať do problémov, nehovoriac o tom, ak sa niekto pokúsi zahltiť Váš server
obrovským množstvom e-mailov, povedzme s pripojeným súborom s kapacitou 5MB, ale ak ich
odošle 10000, potom je tu problém, ktorému je najlepšie predísť nastavením kvoty,
teda maximálnej kapacity z disku, ktorú môže užívateľ využiť na svoje súbory.
Čo potrebujeme:
1. Jadro linuxu (kernel), podporujúce kvoty.
2. Softvér na nastavenie kvot.
Nastavenie kvot pre užívateľov a skupiny.
1. Editujeme súbor /etc/fstab
nasledovne, podľa toho, či potrebujeme
zapnúť kvoty pre jednotlivých užívateľov (usrquota) alebo skupinu (grpquota),
doplníme do /etc/fstab
usrquota, grpquota alebo obe.
/etc/fstab
bude potom vyzerať takto:
/dev/hda1 / ext2 defaults,usrquota,grpquota 1 1
Na rovnakom princípe doplníme zapnutie kvoty pre všetky filesystémy, pre ktoré
ich potrebujeme zapnúť.
2. Spustíme príkaz
quotacheck -avugktorý vytvorí na
/dev/hda1
(a aj na ostatných
podľa totho či je pre ne zapísané v /etc/fstab usrquota, grpquota, alebo obe)
súbory quota.user
a quota.group
3. Nastavíme kvoty pre jednotlivých užívateľov a skupiny príkazom
edquota -u meno užívateľa
nastavíme kvoty pre konkrétneho užívateľa
edquota -g skupina
nastavíme kvoty pre skupinu užívateľov
Príklad:
Ak už máme modifikovaný súbor /etc/fstab
a ak prebehol príkaz quotacheck -avug
a vytvorili sa súbory quota.user
a quota.group
, potom môžeme nastaviť kvoty
jednotlivým užívateľom a skupinám.
Nastavíme si kvoty na disku /dev/hda1
pre užívateľa s menom vzor
:
edquota -u vzorV textovom editore sa otvorí nasledovný text, ale čísla soft a hard tam treba doplniť podľa našich požiadaviek, aký veľký diskový priestor poskyteme užívateľovi.
Quotas for user vzor: /dev/hda1: blocks in use: 2547, limits (soft = 4500, hard = 5000) inodes in use: 356, limits (soft=1000, hard = 1500)blcoks: 5000 blocks = 5MB na disku
Samozrejme, že to nastavíme pre všetkých užívateľov, ktorým potrebujeme,
ale problém nastáva, ak je potrebné nastaviť rovnaké kvoty pre
veľký počet užívateľov.
Toto je ale možné dosiahnúť nasledovným postupom. Vytvoríme kvotu pre užívateľa
vzor
, podľa predchádzajúceho postupu. Potom povedzme pridáme do systému užívateľa
napr. sergej
. Potrebujeme, aby sergej
mal rovnaké kvoty ako užívateľ vzor
. Zariadime
to nasledujúcim príkazom:
edquota -p vzor sergej4. Teraz už len zapneme kontrolu kvoty:
quotaon -avug5. V štartovacom skripte zabezpečíme, aby sa kvota spustila sama
Ak potrebujeme svetu vystaviť na obdiv informácie o škole, akciách, alebo len tak na tému ktorá Vás zaujíma a máte o nej informácie, ktoré by ste radi zdarma poskytli aj ostatným, najlepším spôsobom je použitie internetových stránok, preotože sa k nim prakticky dostane celý svet a ani v noci nezostanú zamknuté v budove, ako nástenky.
Čo budeme na začiatok potrebovať ? Nejaký balík programov, ktorý je schopný poskytovať stránky prostredníctvom protokolu http (HyperText Transfer Protocol) z nášho servera do počítačov čitateľov našich stránok. V linuxových distribúciách na tento účel neexistuje lepší nástroj ako je Apache web server. Vačšinou aj rpm balíky pre RedHat, Mandrake alebo deb balíky pre Debian sú pomenované Apache.číslo.verzie. Jadrom tohoto balíka je daemon httpd.
Začnime teda s konfiguráciou. Konfiguračné súbory väčšinou nájdete v adresári
/etc/httpd/conf
Aby sme pre začiatok rozbehli http server, potrebujeme v týchto súboroch nastaviť
aspoň základné údaje ako sú adresáre so stránkami, naša doména, typ spúšťania
daemona httpd.
Ako prvý upravíme súbor /etc/httpd/conf/httpd.conf
Najprv nastavímeme nasledovné direktívy.
ServerType standaloneMôže byť
standalone
alebo inetd
, standalone sa používa, ak je daemon httpd spustený
samostatne, inetd sa používa, ak je služba httpd spúšťaná prostredníctvom superdaemona inetd
Port 80Tu sa nastavuje port protokolu TCP/IP na ktorom beží služba http. Štandardne sa používa port 80.
ServerRoot /etc/httpdToto je adresár v ktorom má httpd svoje konfiguračné súbory, teda NIE stránky, ktoré bude servírovať do sveta.
ServerName www.skola.skToto musí byť nastavené na skutočné existujúce meno v internete, ale je to aj reťazec, ktorý posiela http server svojim klientom a zobrazuje sa v prehliadači.
Teraz sa ešte pozrieme na súbor /etc/httpd/conf/srm.conf
DocumentRoot /home/httpd/htmlTáto direktíva nastavuje koreň www stránok, teda tú časť adresárového stromu, ktorá bude zvonka prístupná, a v nej budú umiestnené www stránky, ktoré chceme poskytnúť svetu. Niektoré distribúcie, mávajú túto direktívu nastavenú na
/var/www/docs
.
Je dôležité si zapamätať, čo je tu nastavené, pretože sem treba nakopírovať Vaše www stránky.
Ešte skontrolujeme súbor /etc/inetd.conf
, či náhodou nebol httpd daemon nastavený
na spúšťanie z inetd, ale toto je skôr výnimka, v praxi sa používa httpd ako samostatný daemon
bežiaci nezávisle od inetd. Ak by tu predsa len bol, potom pred riadok, v ktorom je zapísaný httpd
dopíšte iba znak #
, takto zabránime spúšťaniu pomocou inetd.
Pre úplný začiatok by mala takáto konfigurácia stačiť, ale je to skutočne iba nastavenie
na overenie funkčnosti a zataľ žiadne špeciálne nastavenia sme neurobili.
Teraz si overíme či nám beží http server:
ps auxAk sa vo výpise objaví
httpd
, potom server beží, a znamená to, že
sa dokáže sám spustiť, ale musíme ho
reštartovať, aby akceptoval nami nastavené parametre v /etc/httpd/conf/httpd.conf
a v /etc/httpd/srm.conf
killall httpd httpdPo týchto príkazoch by mal httpd akceptovať naše nastavenia a môžeme ho otestovať. Najprv ho otestujeme lokálne:
lynx http://127.0.0.1Ak sa v textovom režime objaví stránka linuxu, potom je všetko v poriadku. Textový internetový prehliadač ukončíme klávesou "q" a potom "y". Teraz by sme mali overiť, či náš server obslúži aj niekoho iného, skúsme teda na nejakom PC, spustiť www prehliadač, a namiesto adresy zadať IP adresu nášho servera. Ak je tam tá istá stránka, ktorú ste videli v textovom režime, je to v poriadku. Teraz skúste do prehliadača zadať adresu
www.skola.sk
, samozrejme, slovo skola
nahraďte Vašou skutočnou doménou a ak to ide, potom sú Vaše stránky prístupné už aj svetu.
Čo urobiť v prípade, že sa server nedokáže spúšťať sám, pri štarte systému. Vtedy je potrebné
doplniť do /etc/rc.d/init.d
súbor httpd
, ktorý by mal obsahovať
niečo takéto:
#!/bin/sh . /etc/rc.d/init.d/functions case "$1" in start) echo -n "Starting httpd: " daemon httpd echo touch /var/lock/subsys/httpd ;; stop) echo -n "Shutting down http: " killproc httpd echo rm -f /var/lock/subsys/httpd rm -f /var/run/httpd.pid ;; status) status httpd ;; restart) $0 stop $0 start ;; reload) echo -n "Reloading httpd: " killproc httpd -HUP echo ;; *) echo "Usage: $0 {start|stop|restart|reload|status}" exit 1 esac exit 0Vlastníkom súboru musí byť
root
a skupinou tiež root
, mal by mať nastavené práva rwxr-xr-x
.
Ak ste ale inštalovali balík Apache z rpm, alebo deb balíka, potom stačí iba skontrolovať, či tento súbor existuje.
Takto sa Vám http server spustí úplne sám, už pri štarte systému.
Teraz už môžeme vytvoriť nejaké internetové stránky, nakopírovať ich do adresára,
ktorý je uvedený v súbore /etc/httpd/conf/srm.conf
v direktíve DocumentRoot
.
Súbor hlavnej stránky pomenujte index.html
, ostatné už môžu mať akékoľvek meno s príponou *.html.
POZOR ! Takto nakonfigurovaný www server nie je vačšinou schopný poskytovať klientom dynamické a aktívne stránky, ako napr. PHP, ASP a pod. Zatiaľ slúži iba na poskytovanie statických stránok, ale kaskádové štýly a JavaScript by mu nemali robiť problém, pretože sa interpretujú na strane klineta vo www prehliadači.
Prečo konfigurovať náš server aj ako server WAP stránok pre mobilný internet ? Pretože je to veľmi jednoduché a nepotrebujeme k tomu nič špeciálne a pritom môžeme výrazne rozšíriť počet ľudí ktorí sa k našim informáciám dostanú. Keď len uvážime koľko ľudí používa mobilný telefón a koľko bežne používa internet, potom používatelia mobilných telefónov sú v prevahe. Samozrejme, že stránky určené do mobilných sietí by mali byť čo najvýstižnejšie a obsahovo čo najkratšie, ale pri tom by mali obsahovať tie podstatné informácie, ktoré potrebujeme oznámiť ľudom, nech sú napríklad aj v miestach, kde nie je dostupný klasický internet.
Ak teda máme nakonfigurovaý a otestovaný web server Apache, potom nám kofigurácia WAP servera nebude robiť žiadny problém, doplňme do súboru/etc/httpd/conf/srm.conf
nasledovné riadky:
AddType text/vnd.wap.wml .wml AddType application/vnd.wap.wmlc .wmlc AddType text/vnd.wap.wmlscript .wmls AddType application/vnd.wap.wmlscriptc .wmlsc AddType image/vnd.wap.wbmp .wbmp AddType audio/midi .mid #pre stahovanie polyfonickych zvoneni vo formate *.mid AddType image/bmp .bmpPotom doplníme v tom istom súbore
/etc/httpd/conf/srm.conf
do direktívy DirectoryIndex index.wml
Ak sú už v tejto direktíve nejaké nastavenia napr: DirectoryIndex index.html index.php index.asp index.cgi
tieto tu samozrejme ponecháme, iba doplníme index.wml
, potom bude vyzerať nasledovne:
DirectoryIndex index.html index.php index.asp index.cgi index.wml
Pokračujeme v nastaveniach, do súboru /etc/mime.types
doplníme nasledovné riadky:
application/vnd.wap.sic application/vnd.wap.slc application/vnd.wap.wbxml wbxml application/vnd.wap.wmlc wmlc application/vnd.wap.wmlscriptc wmlsc image/vnd.wap.wbmp wbmp text/vnd.wap.si text/vnd.wap.sl text/vnd.wap.wml wml text/vnd.wap.wmlscript wmls image/bmp bmp audio/midi midSúbor uložíme a konfigurácia WAP servera je hotová, teraz už stačí reštartovať náš web server Apache, zadaním príkazu:
/etc/rc.d/init.d/httpd restartTeraz je server pripravený, aby poskytoval aj WAP stránky v jazyku wml, lenže ešte žiadne stránky nemáme, pretože mobilné telefóny nedokážu zobraziť HTML dokumenty, musíme si vytoriť nové, aj keď
wml
jazyk je veľmi podobný html
jazyku. V súbore /etc/httpd/conf/srm.conf
si ešte pozrime ako je nastavená direktíva DocumentRoot
, najčastejšie sa stretnete s DocumentRoot /var/www/docs
, ale môže to byť akýkoľvek adresár, v ktorom vytvoríme podadresár wap
, potom celá cesta k WAP súborom bude /var/www/docs/wap
, a sem nakopírujeme naše WAP stránky. Na testovanie stačí ak v adresári /var/www/docs/wap
vytvoríme súbor index.wml
s nasledovným obsahom:
Teraz už len otestovať mobilným telefónom, do ktorého zadáte adresu:<
?xml version="1.0"?>
<
!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<
wml><
head><
meta http-equiv="Cache-Control" content="max-age=30" forua="true" /><
/head>
<
card id="card0" title="WAP@GSM">
<
p align="center">Testovacia<
br/> WAP stranka<
br/>
<
br/>
<
/p>
<
/card><
/wml>
http://www.skola.sk/wap/
Ak nemáte po ruke mobilný telefón, testovať môžete aj pomocou OnLine WAP prehliadača na adrese www.wapsilon.com, alebo použiť celkom slušný WAP emulátor nainštalovaný priamo na Váš počítač Deck-it, existuje verzia pre Linux a Windows
POZOR ! Posledné lomítko je potrebné zadať z klávesnice telefónu, mobilný telefón ho nedoplní sám ako www prehliadače.
Viac informácií o tovorbe WAP stránok pokytuje tutorial na adrese www.w3schools.com/wap/wap_intro.asp
Na záver časti o WAP stránkach a mobilnom internete uvediem adresu šikovného OnLine konvertora grafických súborov, do grafického formátu wbmp
podporovaného mobilnými telefónmi http://www.teraflops.com/wbmp/, alebo Vám môžem poslať jednoduchý kovertor bmp2wbmp pre textový režim Linuxu alebo Win.