Linux perusteet ja Debian Linux 3.0 Woody
Copyright (c) 2003 Tero Karvinen
tero.karvinen atta iki.fi
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version
1.2 or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and no
Back-Cover Texts. A copy of the license is included in the section
entitled “GNU Free Documentation License”.
Contents
Kirjallisuus
- Aoki, Osamaku et al. 1996-2002: Debian Reference. 192 s.
- Tämä sivu ja linkitetty materiaali soveltuvalta syvyydeltä.
Älkää murhatko puita! Suuri osa dokumenteista on täynnä hyperlinkkejä,
joten ainakin tietokoneita enemmän käyttäneet päätyvät kuitenkin lopulta
lukemaan ne ruudulta.
Asennus
Levityspaketin valitseminen
Redhat Mandrake Suse Debian Slackware
Debian 3.0 Woody
Tätä kirjoittaessa uusin vakaa versio Debian GNU/Linuxista on Debian
3.0 Woody. Asennuksen yhteydessä kannattaa käyttää Debianin virallista
asennusopasta[1]. Jos et tiedä vastausta johonkin asennusohjelman
kysymykseen, kannattaa vastata asennusohjelman tarjoama oletusvaihtoehto.
Ennen asennusta
Tiedot koneesta
- Laitteet ja ajurit. Jos koneessa on käyttöjärjestelmä, katso siitä.
Linuxissa /etc, modprobe -c. Windowsissa My Computer : Properties
: Device Manager. Erityisesti kannattaa katsoa näytönohjaimen merkki
ja muisti (esim. Matrox G400 32 M), verkkokortin merkki (esim. 3com
3c59x). - Internet. Kiinteässä lähiverkossa ip-numerot, gateway… Linuxissa
/sbin/ifconfig, cat /etc/resolv.conf, /sbin/route. Windowsissa ipconfig
/all tai winipconfig. Katso, onko ip-numero kiinteä vai DHCP.
Asennettavat ohjelmat
- Linuxin asennus-cd. Jos asennuksen jälkeen on mahdollisuus käyttää
verkkoa, riittää nonUS-binary-1. (Jos verkkoa ei ole, myös binary-2
ja binary-3) - Jos asennat Windowsin, Windowsin asennus-cd ja sarjanumero. Sopivin
versio on Windows 2000.
Levyn partitiointi
Jos asennat useita käyttöjärjestelmiä, asenna Linux viimeisenä. Suositeltu
partitiointi Windows & Linux dual-boot:
Windows | fat32 | 2 GB |
Linux / | ext2 | 2+ GB |
Linux swap | swap | RAM |
Windows-osion voit tehdä myös Windows-asennusohjelmalla, jätä vain
osioimatonta tilaa levylle Linuxia varten. Linuxissa on erinomainen
tuki FAT ja FAT32 tiedostojärjestelmille, mutta NTFS se osaa vain
lukea. Windows ei ymmärrä mitään Linux-formaatteja.
Linux-asennuksessa tee ensin swap, joka on yhtä suuri kuin koneesi
RAM, esimerkiksi 256 MB. Tee sitten kaiken lopun tilan vievä Linux
ext2 osio.
Ydin
Asennusohjelman mukana tulee kernel eli ydin 2.2. Uusin vakaa versio
2.4 mahdollistaa esimerkiksi iptables-tulimuurin ja DVD-elokuvien
katselun. Ydintä ei välttämättä tarvitse itse kääntää, vaan voi hakea
omalle prosessorille tarkoitetun kuvan.
Ennen ytimen asennusta
- Verkon pitää toimia. Helian erikoisuutena välimuistipalvelinta on
pakko käyttää lisäämällä /etc/profile -tiedostoon rivi
- export http_proxy=”http://www-cache.helia.fi:8000”
- Asennusohjelman pitää tietää, mistä paketteja voi hakea. Verkon ääressä
oltaessa lisätään käytössä oleviin ohjelmiin paikka, josta ytimen
voi hakea. apt-setup, ftp, non-free: no, non-us yes, finland, ftp.fi.debian.org,
add another: no
Ytimen päivitys
- apt-get install kernel-image-2.4.18-686
nano /etc/lilo.conf
Seuraa apt-getin antamaa ohjetta: vmlinuz: initrd=initrd.img
- lilo
reboot
modconf
Asenna tarvittavat ajurit, ainakin verkkokortin ajuri. Esimerkiksi:
kernel/drivers/net, 3c59x, no options.
Käynnistä verkko uudelleen
- ifdown eth0
ifup eth0
Testaa
- ping www.hut.fi
Parempi tapa asentaa ajurit eli modulit
Tarvittavat modulit voi asentaa myös automaattisesti. Olen kokeillut
tätä vasta alustavasti
- # apt-get install discover
# discover
Starting discover…
Found hardware 3c59x ide-sci [..]
Loading 3c59x
[..]
iptables-tulimuuri
Aluksi tulimuuri päästää kaiken läpi. Lisätään perussäännöt työaseman
tulimuurille
- # iptables -P FORWARD DROP
# iptables -P INPUT DROP
# iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
# iptables-save > /etc/iptables
Tehdään skripti (shell script), joka käynnistää tulimuurin
- # vi /etc/init.d/firewall.sh
Ja kirjoitetaan tällainen skripti, joka siis ajaa komennon iptables-restore,
aivan kuten kirjoittaisit sen komentoriville
- #!/bin/sh
/sbin/iptables-restore /etc/iptables
Linkitetään tulimuurin käynnistysskripti kansiosta rcS.d, jolloin
se ajetaan automaattisesti koneen käynnistyessä. Koska kansiossa rcS.d
olevat ohjelmat ajetaan aakkosjärjestyksessä, aloitetaan nimi S39,
niin että tulimuuri käynnistyy ennen verkkoa S40network
- # ln -s /etc/init.d/firewall.sh /etc/rcS.d/S40firewall
Tulimuurista tulee testata
- Paketteja oikeasti suodatetaan, eli etteivät portit ole auki. grc.com
shieldsUp tai eri koneelta telnet myhost 80, nmap. - Tulimuuri tulee päälle uudelleenkäynnistyksessä itsestään
- Halutut ohjelmat saavat yhteyden verkkoon: weppiselain, sähköposti
(lähetys ja vastaanotto), palvelimet
Jos muuri selviytyi testistä, tulimuurisi on valmis.
Packet Filtering Howto[5] on erinomainen esitys iptablesista.
Debianissa se löytyy kansiosta /usr/share/doc/iptables/.
Tulimuurin virittelyä
Seuraavaksi tulimuuriin tutustumista, joka ei ole välttämätöntä jokaisen
asennuksen yhteydessä. Katsotaan valmista tulimuuria
- # iptables -L
Sääntöjä tulkitaan ylhäältä alas, viimeisenä sääntönä on DROP eli
hylkää ilman vastausta, jos mikään muu sääntö ei tärpännyt.
Pidetään lokia kielletyistä yhteydenotoista
Koska viimenen sääntö kirjoittaa lokiin /var/log/messages kaikki hylätyt
paketit, ja loki kirjoitetaan virtuaalikonsoleille 1-6 (alt-ctrl-f1),
ruudulle tulee paljon turhaa tavaraa. Parasta on lisätä ennen LOG
riviä sääntö, joka pudottaa tavanomaiset (smb, dhcp, upnp) paketit
kirjoittamatta lokiin.
Toinen vaihtoehto on kieltää lokin kirjoittaminen ruudulle
- # dmesg -n 3
Linux soveltuu erinomaisesti lähiverkon tulimuuriksi. Linux-tulimuurin
avulla voit myös käyttää montaa tietokonetta yhdellä ip-numerolla.
Asennuksen jälkeen
Jotta konetta ei tarvitse enää sammuttaa asennuksen jälkeen, pitää
koneessa toimia
- Tulimuuri
- Ruudunsäästäjä
Ruudunsäästäjä saisi mieluiten sammuttaa monitorin, eikä vain vaihtaa
kuvaa mustaksi. Debianin X-ympäristössä oletuksena oleva ruudunsäästäjä
on toiminut valmiilla asetuksilla minulla juuri näin. Kun tulimuuri
ja ruudunsäästäjä toimivat, kaiken muun voi asennella myöhemmin. Turvallisuutta
vaativissa koneissa tarkistussummat (md5sum) ohjelmista pitää laskea
ennen koneen kytkemistä verkkoon.
Työasemakäyttöä varten koneessa tulee olla ainakin weppiselain (lynx,
graafisessa galeon), ssh ja scp, tekstieditori (vi tai nano).
Käyttäjän lisääminen
Komento adduser lisää uuden käyttäjän. Samalla uusi käyttäjä saa salasanan
ja kotihakemiston.
- # adduser kayttaja
Komentokehote eli shell
Tiedostojen käsittely
Tiedostoja käsitellään kaikissa unixeissa komennoilla ls, cp -r, rm
-rf
Alla dollarin merkki $ tarkoittaa normaalin käyttäjän (siis ei root)
komentokehotetta, johon käskyt kirjoitetaan.
ls listaa tiedostot
- $ ls
README.Debian changelog.Debian.gz changelog.gz copyright html
$ ls -l
total 24
-rw-r-r- 1 root root 1909 Apr 14 00:50 README.Debian
-rw-r-r- 1 root root 3977 Apr 14 18:01 changelog.Debian.gz
-rw-r-r- 1 root root 5498 Apr 14 00:50 changelog.gz
-rw-r-r- 1 root root 1234 Apr 14 17:35 copyright drwxr-xr-x 2 root root 4096 Sep 8 01:07 html
$ ls -a
. .. .hiddenfile README.Debian changelog.Debian.gz changelog.gz copyright html
cp -r kopioi, mv siirrä
Putket
Tuloste toisen komennon syötteeksi
- $ cd /usr/bin/
$ ls
Koska hakemistossa on toista tuhatta tiedostoa, silmien edestä vilistävästä
listasta ei saa mitään selvää. Mutta
- $ ls |more
411toppm
822-date
AbiWord
[…]
MakeTeXPK
X11
-More-
Nyt ls tulostama tuhatrivinen lista on annettu syötteeksi komennolle
more. More pysähtyy ruudullisen jälkeen odottamaan, jolloin listaus
on helppo lukea. Tämä taitaa olla yksi käytetyimpiä putkituksia. Putki-
eli pipe-merkin saa komennolla AltGr-, joista AltGr
on välilyönnin oikealla puolella oleva näppäin ja on
vasemman shiftin vieressä.
Prosessinhallinta
- ps, ps -waux, top, kill 1234, killall mozilla, ctrl-z, ctrl-c, bg, fg
Teksti
cat, more, less, grep
Apua
apropos, komento –help, man, info, /usr/share/doc, linuxdoc.org,
kotisivu, google.com, groups.google.com
Tärkeimmät ohjelmat
Tekstieditorit
vi, nano, pico, emacs
Esimerkeissä editoidaan tiedostoja milloin milläkin editorilla. On
tietysti vain itsestäsi kiinni, haluatko
- # vi foo.txt
vai
- # nano foo.txt
Jokainen tekstieditori tekee joka tapauksessa samanlaisen tekstitiedoston.
Helpoimmat editorit nano ja pico
nano on vapaa, pico ainoastaan ilmainen.
ctrl-X tallentaa ja poistuu.
Ohjelmoijan koodia värittävä editori vim (vi)
- Kirjoittamaan pääsee komennolla i.
- Tallenna komennolla esc :wq
- Poistu tallentamatta esc :q!
Vintuitive on valmis asetustiedosto vimille.
- # apt-get install vim
$ wget http://iki.fi/karvinen/vintuitive/vimrc
$ mv vimrc .vimrc
Hyvänä puolena vimissä on tehokkuus erityisesti ohjelmoinnissa ja
vähäinen muistin kulutus. Huonona puolena vim on hidas opetella.
Mammuttimainen emacs
“Hyvä käyttöjärjestelmä, josta tosin puuttuu tekstieditori.”
Sisältää kaiken mahdollisen sähköpostin luvusta ohjelmoitavuuteen.
Vie paljon muistia (tekstieditoriksi). Vanha ja testattu.
Etäkäyttö ssh
ssh, ssh-keygen, tunnelit, X-tunneli, älä käytä telnet tai rsh
vnc
Sähköposti
mutt, pine, agrep, grepm, spamassasin, procmail
Verkon hallinta
ping, fping, traceroute, dig www.helia.fi all, tethereal, ngrep
Tiedostonhallinta
mc, mc -a
Standardit
Linuxin määrittelevät standardit
Kaikki linuxit muistuttavat toisiaan. POSIX. LSB. FHS.
Linuxin tiedostojärjestelmän määrittelee (samoin kuin muissa unixeissa)
Filesystem Hierarchy Standard[7].
Tallennusmuodot
Tiedostot kannattaa pyrkiä tallentamaan avoimissa standardeissa
- Tiedostot aukeavat kaikissa järjestelmissä (epoc, palm, linux, windows,
mac) - Tulevaisuudessa tiedostot saa auki, vaikka kaikkia vanhoja ohjelmaversioita
ei ole saatavilla - Säästetään rojaltimaksut (oikeuden haltijat voivat muutella ehtoja)
- Voidaan levittää kaikkiin maihin
- Ei lukkiuduta yhteen yritykseen
- Suljettujen tiedostomuotojen rajoitusten kiertäminen heikentää laatua
ja hidastaa sovellusten kehittämistä (esimerkiksi mp3-pakkaajat, Fraunhover
patentti, Unisysin ja IBM:n gif-patentit, pakkaamattomat gif:it)
Suositellut tallenustavat
JPG – Valokuvat
JPG on häviöllinen pakkaus, joka soveltuu valokuvalle.
PNG – Tasaväriset bittikarttakuvat, muokattavien valokuvien välivaiheet
PNG on häviötön pakkaus kuville. PNG-kuvat aukeavat uusissa weppiselaimissa.
Valokuvissa PNG-muotoa kannattaa käyttää vain muokattavien kuvien
välivaiheisiin, sillä se vie paljon enemmän tilaa kuin JPG. Toisin
kuin TIFF, PNG on yksiselitteisesti määritelty.
PNG korvaa vähitellen GIF-muodon www-sivuilla. GIF on erinomainen
esimerkki ohjelmistopatenttien huvittavuudesta, sillä sitä koskee
kaksi päällekkäistä patenttia, IBM:n ja Unisysin. PNG on myös tehokkaampi
tallennusmuoto kuin GIF.
OGG – Musiikki
Ogg on häviöllinen pakkaus musiikille. Sitä tukevia ilmaisia soittimia
on lähes kaikille alustoille: Linuxille (ogg123, xmms), Windowsille
(WinAmp) ja Macintoshille.
OGG on paljon suositumman MP3:n kilpailija. Koska mikään yleisesti
saatavilla oleva MP3-pakkaaja ei todellisuudessa pakkaa Fraunhoverin
kehittämällä MP3-tekniikalla, MP3:n teoreettiseen maksimiin laadussa
ei koskaan päästä. Saman kokoisena tiedostona OGG soi paremmin kuin
MP3.
XHTML – Hyperteksti
World Wide Web Consortiumin suosittelema, nykyinen versio HTML-kielestä.
Muista formaateista
Salaamaton PDF on hyvä formaatti. PDF on salattu, jos esimerkiksi
Adoben tuotteissa valitsee “Kiellä tulostus”-vaihtoehdon. PDF-salaus
on erittäin helppo murtaa. Salatut PDF:t aukeavat esimerkiksi komennolla
xpdf. Salaamattomia pdf-tiedostoja voi tallentaa useimmista Linux-ohjelmista.
X-ikkunointi ja Gnome
Asennus
tasksel, dpkg-reconfigure xserver-xfree86. Älä käytä xfree86config,
xf86cfg
Tärkeimmät ohjelmat
Mukana abiword, gnumeric, gnome-terminal, mozilla -edit, galeon, gmc,
xmms, gimp
Harvemmin käytettyjä ethereal gnomecc lyx
Lisäksi mplayer, mencoder
Ohjelmointi
Skriptit
sh bash perl php
c ja c++
less README
./configure && make && make install
hello.cc
Java
Lähdekoodia valmiina
sourceforge.net freshmeat.net
Palvelut
WWW-palvelin Apache
Asenna ja käynnistä www-palvelin
- # apt-get install apache
Osoitteessa localhost on nyt testisivu, jonka näet selaimella mozilla,
galeon tai tekstitilasta lynx.
- $ lynx -dump localhost
Welcome to Your New Home in Cyberspace!
__________________________________________
This is a placeholder page installed by the [1]Debian release of the [2]Apache Web server package […]
Poistetaan testisivu, jotta palvelin ei ala kiinnostaa murtatujia.
- # hostname > /var/www/html/index.html
Tulimuuri estää vielä sivun näkymisen oman koneen ulkopuolelle. Katsotaan
tulimuurin asetukset
- # iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all – localhost localhost DROP tcp – anywhere anywhere tcp
LOG all – anywhere anywhere LOG level warning
DROP all – anywhere anywhere
Tehdään tulimuuriin reikä http-porttiin tcp
80.
- # iptables -I INPUT 1 -p tcp –destination-port 80 -j ACCEPT
Ja salattuja yhteyksiä varten https-porttiin
- # iptables -I INPUT 1 -p tcp –destination-port 443 -j ACCEPT
Ja tallennetaan uusi tulimuuri
- # iptables-save > /etc/iptables
Nyt www-palvelimelle pääsee myös viereiseltä työasemalta, tai vaikka
toiselta puolen maapalloa.
Kaikkien palvelinten asentamisessa on yleensä samat vaiheet kuin tässä:
paketin asennus, asetukset ja reikä tulimuuriin.
Ongelma ja ratkaisu: Kansiot toimimaan ilman kauttaviivaa / perässä
- # mkdir /var/www/stuff
# touch /var/www/stuff/foobar
http://localhost/stuff/ toimii, mutta ilman viimeistä kauttaviivaa
http://localhost/stuff ei toimi, selain jää vain odottamaan. Ilman
kauttaviivaa (…/stuff) palauttaa “Moved permanently” ilmoituksen,
joka osoittaa koneeseen nimellä (esimerkiksi munsite.com) eikä localhost.
Reikä tulimuuriin7.1 (ks yllä) ja oikea nimi koneelle
(hostname) saavat tällaiset linkit toimimaan. Verkoissa, joissa nimipalvelu
ei toimi (reverse-nimet puuttuvat) www-palvelimen säätöihin joutuu
tekemään virityksiä.
Tarvittaessa palvelimen antaman vastauksen saa ruudulle
- # apt-get install netcat
$ echo “GET http://localhost/stuff” | nc localhost 80
<!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”>
<HTML><HEAD>
…
SSL
- # apt-get install libapache-mod-ssl
Ja noudattaen ohjetta
- # zless /usr/share/doc/php4/README.Debian.gz
Muokattiin
- # vi /etc/apache/httpd.conf
Tiedostojen sijainti ja www-sivujen näkyminen
Tavallisesti www-sivuja on hakemistoissa
hakemisto | näkyy webissä |
/var/www/ | http://localhost/, https://localhost |
/home/USER/public_html | http://USER/public_html |
Sivuja kannattaa tehdä lähinnä käyttäjien kotihakemistoihin, sillä
normaalit käyttäjät eivät saa kirjoittaa hakemistoon /var/www/. Matomerkin
(tilde ) saa pois osoitteesta tekemällä symbolisen
linkin käyttäjän kotihakemistoon.
- # ln -s /home/user/public_html /var/www/user
# chmod og-rw+x /var/www/user
Nyt käyttäjän user kotihakemisto näkyy webissä osoitteessa http://localhost/user/
Webissä julkaistavien tiedostojen oikeudet
Webbiin julkaistavien kansioiden oikeuksien tulee olla drwx-x-x,
eli käyttäjä (eli kansion omistaja eli u) saa tehdä kansiolle mitä
haluaa, muut ja ryhmä (og) vain käyttää sen alla olevia tiedostoja
(x). Kansioissa lukuoikeus (r) tarkoittaa, että kansion tiedostolistausta
saa katsella, eikä webissä yleensä haluta tätä. Tiedostoihin tulee
olla lukuoikeus.
- $ ls -ld $HOME $HOME/public_html $HOME/public_html/*
drwxr-xr-x 39 user user 4096 Sep 16 09:50 /home/user
drwx-x-x 2 user user 4096 Sep 15 19:11 /home/user/public_html
-rw-r-r- 1 user user 12 Sep 15 19:11 /home/user/public_html/index.html
Tarvittaessa oikeudet voi asettaa
- chmod og-wx+r index.html
chmod og-rw+x $HOME/public_html
Sivujen editointi
Sivujen graafiseen WYSIWYG editointii sopii mozilla tai netscape
- mozilla -edit &
HTML-koodin editoimiseen tekstitilassa sopii vim, joka värittää syntaksia
ja tunnistaa myös palvelinpuolen koodit, esimerkiksi php:n.
- vim index.html
Tarvittavat standardit saa World Wide Web Consortiumin kotisivulta.
Valmiit sivut voi tarkistaa osoitteessa validator.w3.org.
Dynaamiset PHP sivut
- # apt-get install php4
Ja noudattaen ohjetta
- $ zless /usr/share/doc/php4/README.Debian.gz
Muokattiin
- # vi /etc/apache/httpd.conf
Poistettiin kaksi kommenttimerkkiä ja lisättiin index.php:
- LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
DirectoryIndex index.html index.htm index.shtml index.cgi index.php
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
Ladataan asetukset
- # /etc/init.d/apache reload
Ja testaus
- # vi /var/www/foo.php
Kirjoitetaan yhden rivin testisivu
- <? phpinfo(); ?>
Surffaamalla sivulle localhost/foo.php näkyy pitkä sivu, jossa taulukossa
luetellaan iso määrä tietoa php:stä. Lisää php-tietoa löytyy php:n
kotisivulta www.php.net.
Kehitettävää
Weppipalvelimena Apache-modSSL-php4-mySQL on aika ilmeinen vaihtoehto.
Onko todella tarpeen näpytellä kymmenen minuttia asetuksia käsin saadakseen
tämän toimimaan? Yksi vaihtoehto nopeampaan asetukseen olisi paketoida
httpd.conf pakettiin, joka vaatii (requires) paketit (apache, mod-ssl…).
Samba – Windows-yhteensopiva tiedostojako
Samba tarkoittaa Windows-yhteensopivaa tiedostojen ja tulostimien
jakamista ja käyttämistä Linuxista.
Windows-tiedostojakojen käyttö Linuxista – smbclient
Asennetaan Samba-asiakasohjelmat
- # apt-get install smbclient smbfs
Tehdään tarvittavat muutokset tulimuuriin, muuta 10.0.0.1/25 omaa
verkkoa vastaavaksi ip-numero/netmask. Huomaa, että tämä sääntö on
aika vapaamielinen, siksi portteja ei avata koko verkolle.
- # iptables -I INPUT 1 -p udp –sport 137:139 –source 10.0.0.1/25 –dport 1025:65535
# iptables-save > /etc/iptables
Listataan verkossa näkyvät Windows-tiedostojaot
- $ nmblookup -T *
$ nmblookup -T “*”
querying * on 123.123.123.255
x1.domain.com, 123.123.123.1 *<00>
x33.domain.com, 123.123.123.33 *<00> [..]
Ja windows-nimen komennolla
- $ nmblookup -A x33.domain.com | grep ‘<20>’
FOO <20> – B <ACTIVE>
Listataan jaetut kansiot ja tulostimet koneelta, jonka windows-nimi
on foo. Salasanaksi riittää tässä enter (rivinvaihto).
- $ smbclient -L foo
added interface ip=10.0.0.1 bcast=194.142.138.127 nmask=255.255.255.128
Got a positive name query response from 10.0.0.2 ( 10.0.0.2 )
Password:
Sharename Type Comment
—– — —-
MINDFOOD Disk
KALAA Disk
IPC$ IPC Remote Inter Process Communication
Server Comment
—– —-
Workgroup Master
—– —-
Koneella foo on siis kaksi jakoa, mindfood ja kalaa. Avataan kalaa-kansio,
nyt salasana pitää tietää. Kansion nimen perässä ei ole kauttaviivaa.
- $ smbclient //foo/kalaa
added interface ip=10.0.0.1 bcast=194.142.138.127 nmask=255.255.255.128
Got a positive name query response from 10.0.0.2 ( 10.0.0.2 )
Password:
smb: > ls
. D 0 Wed Aug 29 13:08:38 2001
.. D 0 Wed Aug 29 13:08:38 2001
bar A 335 Sat Sep 7 10:43:24 2002
[..]
smb: > exit
$
Muistuttaa tekstipohjaista ftp:tä (help, ls, cd, more, rm, get, put,
exit).
mount -t smbfs – Tiedostojakojen liittäminen tiedostojärjestelmään
Tiedostojaon idea on käyttää toisella koneella olevia tiedostoja aivan
kuin ne olisivat omalla koneella. Siksi jaettu kansio liitetään tiedostojärjestelmään.
- # mkdir /mnt/foo-kalaa
# mount -t smbfs //foo/kalaa /mnt/foo-kalaa
Kansiota voi nyt käyttää kaikista ohjelmista aivan kuin se olisi omalla
kovalevyllä
- # ls /mnt/foo-kalaa
Windows-tiedostojaon liittäminen pysyvästi
Pelkästään mount-komennolla liitetty kansio ei näy enää uudelleenkäynnistyksen
jälkeen. Käynnistyksessä automaattisesti liitettävät tiedostojärjestelmät
luetellaan tiedostossa /etc/fstab
- # vi /etc/fstab
Lisätään rivi
- # <file sys> <mount point> <type> <options> <dump> <pass>
//foo/kalaa /mnt/foo-kalaa smbfs password=sikrit,rw,fmask=0666,dmask=0777,users 0 0
Nyt koneen foo kansio kalaa on aina käytössä, ja se näkyy linux-koneella
kansiossa /mnt/foo-kalaa.
Kaikki käyttäjät voivat lukea ja kirjoittaa jaettuihin hakemistoihin,
koska oletusoikeudet on asetettu fmask=0666 (-rw-rw-rw-) ja dmask=0777
(drwxrwxrwx).
Graafisia ohjelmia
Jos on tarpeen selailla lähiverkon tiedostojakoja, tähän löytyy paljon
graafisia ohjelmia, esimerkiksi jags. Webbiliittymän saa smb2www paketilla
(asennuksen jälkeen /etc/apache/httpd.conf cgi-bin kansion kuvaukseen
pitää lisätä Options ExecCGI Followsymlinks).
Hakumoottoreita tiedostojakoihin ovat esimerkiksi Untz ja FemFind.
Tiedostojen jakaminen Windowseille – samba
Katso myös Using Samba [4] ja uudistettu versio samasta
kirjasta[8].
Sähköposti
Katso myös kalvot.
Sylpheed graafisessa tilassa
Helpoin tapa päästä nopeasti alkuun. Syötä POP tai IMAP -postilaatikot,
oman internet-palveluntarjoajan SMTP-palvelin ja sähköpostiosoitteesi.
Sähköpostia voi lähettää komennolla Compose ja lukea komennolla Get
All.
Evolution – sähköposti, kalenteri ja osoitteisto
Evolution on “kaikki paitsi tiskiallas” -tyyppinen sähköpostiohjelma,
joka muistuttaa Outlookia. Evolutionissa on erittäin nopea vanhojen
sähköpostiviestien haku.
Pine tekstitilassa
Web-sähköposti
Imp näyttää olevan suosituin webbisähköposti suurilla organisaatioilla.
Suomessa sitä käyttävät esimerkiksi TKK, HY ja Helia.
GPG – salattu sähköposti
Avaimen luominen
- $ gpg
gpg: /home/lists/.gnupg: directory created
gpg: you have to start GnuPG again, so it can read the new options
$ gpg -gen-key
GPG:n tarjoamat oletusarvot ovat hyvät. Nimen ja sähköpostiosoitteen
paikalle omat tiedot. Kommenttiin ja salasanaan (pass phrase) riittää
vastaukseksi rivinvaihto.
- What kind of key: (1) DSA and ElGamal (default)
Keysize: default keysize is 1024 bits
How long the key should be valid: 0 = key does not expire
Key does not expire at all – Is this correct (y/n)? y
Real name: Etunimi Sukunimi
Email address: oma.email@osoite.fi
Comment:
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
Enter passphrase:
Repeat passphrase:
public and secret key created and signed.
Voit helposti todeta, että avainten luonti onnistui
- $ gpg -list-keys
gpg: Warning: using insecure memory! /home/lists/.gnupg/pubring.gpg
—————
pub 1024D/BEA1E9F0 2002-09-29 Maija Maitoparta <maito@example.com>
sub 1024g/59CA61A8 2002-09-29
Julkinen avaimesi on siis se osa avainparista, jonka jaat kaikille,
julkaiset internetissä ja avainpalvelimissa. Sillä voi ainoastaan
salata viestejä, mutta ei avata. Julkisen avaimen saat tulostettua
- $ gpg -armor -export oma.email@osoite.fi
gpg: Warning: using insecure memory!
—BEGIN PGP PUBLIC KEY BLOCK—
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
mQGiBD2W0cQRBACYkGYMtDH/p6L7+4COGjo8p0ZK4WA3ZA5XCt/LCM4fkuz7LPz+ K9hea2J5oXr7MvHuL6W9dCBU0fhnP9fvZPjb7Md+7yYUVqXNAVukgfvQ6xfc1Ccu ltFNIL1VVu3vM0ozPU4dKmaiv7Hy1Q/yFOl5NE6YWV+G373T/WNJVP9euwCg3kQx RqhehbIfxDMMxKukjF+5hAcD/1iTDb7YdyzWbkpu983HVmrLILZj6lHpAutphTxR EyFUprbexBlLyMme63Z1f3OfVPHjv5x/bByLp4Uino4P9LxO5yRAL1XLdOWXgjzf oacfAErrxY2PXrL28PXStEt/xa807UDtU0Joy4hZsaCOCo76YB52pHGJK8XeA5ao OND+A/92CRf1h8/EJ1SjhaxgPu5FC5nl1vf5p30RVzTRYxsfzoPGHVZZw0oNim6O LPsUCFqSCqspPz/j9PlNzQfelrkT+A8TEaCdwjgpXb9SAQLrJ/rZKn9a6idXV/Mz GM4fGHSLX1DoFNNKg1GCscIV40Fn6d5syrL3J3FaJCDerTkqebRITGlzdGFuIEtl csOkw6Rqw6QgKFRlc3Qga2V5IC0gZG8gbm90IHNlbmQgbWUgc2VjcmV0cykgPGxp c3RzQHdhYXNpcy5uZXQ+iFcEExECABcFAj2W0cQFCwcKAwQDFQMCAxYCAQIXgAAK CRBoAHP6vqHp8HHzAKCjF9vM9fvQFq7AAlhh17O2svcE7wCgq+4K1bEh5G10GaAE l2f7x3f8yTm5AQ0EPZbRyRAEAKNu44uBuZzUkpZN14jzsod/UIDKH/T1glz0hwG/ DMxy2FX7LuTMqV0OfRIsXqUv5XaXRc2mVzBZklZ9dmtGwR+yQ1+83ybcGal/WgEi Iv1fj4pZXeupeQYYaM8l5j3dLIH+YyBmukT5NYg8DzNuLl6Velu1zXZS2vCO9Po3 JNRXAAMFA/4jwweaQ5nVlhgH3XQVFmVRcZwb+UpQBTSEA+oVLeyt5u+4n8TfRCKT +yGxuOlEYgZdaR1zYzruCHHpag28SdWUB9X+0/7kyARfMxIoVIlUXXVDC5mrTi+t Q5HE2JntmHDASZcS4u4p6+qGZIp+b2WV+SFEk62l96pTJWcn7m7CO4hGBBgRAgAG BQI9ltHJAAoJEGgAc/q+oenwEl4AnR3v76vRMzj4CXgPhVurTlizSdkkAJ4jRdbF XVGGnWTabE5POOu5VyFJhg== =gn/1
—END PGP PUBLIC KEY BLOCK—
Haluat tietysti jakaa avaimen muille, jotta kaikki voivat lähettää
sinulle salattua sähköpostia. Voit joko kopioida ja sijoittaa julkisen
avaimen sähköpostiviestiin tai kotisivullesi, tai voit kirjoittaa
sen tiedostoon
- $ gpg -armor -export lists@waasis.net > OmaNimi.pub
Nyt tiedosto OmaNimi.pub on helppo kopioida weppipalvelimelle tai
laittaa sähköpostin liitteeksi.
Avaimen lisääminen
Jotta voisit lähettää jollekin salatun viestin, sinun pitää tietää
vastaanottajan julkinen avain. Saat sen esimerkiksi sähköpostilla
pyytämällä, kotisivulta tai avainpalvelimelta (keyserver). Käyttöä
varten avain liitetään avainrenkaaseen komennolla
- $ gpg -import
Ohjelma jää odottelemaan avainta. Kopioidaan ja sijoitetaan saatu
avain
- [listsGPG.pub TEXT/PLAIN (2197 bytes)]
—BEGIN PGP PUBLIC KEY BLOCK—
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
mQGiBD2W0cQRBACYkGYMtDH/p6L7+4COGjo8p0ZK4WA3ZA5XCt/LCM4fkuz7LPz+ K9hea2J5oXr7MvHuL6W9dCBU0fhnP9fvZPjb7Md+7yYUVqXNAVukgfvQ6xfc1Ccu ltFNIL1VVu3vM0ozPU4dKmaiv7Hy1Q/yFOl5NE6YWV+G373T/WNJVP9euwCg3kQx RqhehbIfxDMMxKukjF+5hAcD/1iTDb7YdyzWbkpu983HVmrLILZj6lHpAutphTxR EyFUprbexBlLyMme63Z1f3OfVPHjv5x/bByLp4Uino4P9LxO5yRAL1XLdOWXgjzf oacfAErrxY2PXrL28PXStEt/xa807UDtU0Joy4hZsaCOCo76YB52pHGJK8XeA5ao OND+A/92CRf1h8/EJ1SjhaxgPu5FC5nl1vf5p30RVzTRYxsfzoPGHVZZw0oNim6O LPsUCFqSCqspPz/j9PlNzQfelrkT+A8TEaCdwjgpXb9SAQLrJ/rZKn9a6idXV/Mz GM4fGHSLX1DoFNNKg1GCscIV40Fn6d5syrL3J3FaJCDerTkqebRITGlzdGFuIEtl csOkw6Rqw6QgKFRlc3Qga2V5IC0gZG8gbm90IHNlbmQgbWUgc2VjcmV0cykgPGxp c3RzQHdhYXNpcy5uZXQ+iFcEExECABcFAj2W0cQFCwcKAwQDFQMCAxYCAQIXgAAK CRBoAHP6vqHp8HHzAKCjF9vM9fvQFq7AAlhh17O2svcE7wCgq+4K1bEh5G10GaAE l2f7x3f8yTm5AQ0EPZbRyRAEAKNu44uBuZzUkpZN14jzsod/UIDKH/T1glz0hwG/ DMxy2FX7LuTMqV0OfRIsXqUv5XaXRc2mVzBZklZ9dmtGwR+yQ1+83ybcGal/WgEi Iv1fj4pZXeupeQYYaM8l5j3dLIH+YyBmukT5NYg8DzNuLl6Velu1zXZS2vCO9Po3 JNRXAAMFA/4jwweaQ5nVlhgH3XQVFmVRcZwb+UpQBTSEA+oVLeyt5u+4n8TfRCKT +yGxuOlEYgZdaR1zYzruCHHpag28SdWUB9X+0/7kyARfMxIoVIlUXXVDC5mrTi+t Q5HE2JntmHDASZcS4u4p6+qGZIp+b2WV+SFEk62l96pTJWcn7m7CO4hGBBgRAgAG BQI9ltHJAAoJEGgAc/q+oenwEl4AnR3v76vRMzj4CXgPhVurTlizSdkkAJ4jRdbF XVGGnWTabE5POOu5VyFJhg== =gn/1
—END PGP PUBLIC KEY BLOCK—
Käsketään gpg:n lukea avain antamalla tiedoston loppu -merkki ctrl-D.
- gpg: key BEA1E9F0: public key imported
gpg: /home/tee/.gnupg/trustdb.gpg: trustdb created
gpg: Total number processed: 1 gpg: imported: 1
Nyt avain on renkaassa. Tämän voi todeta vaikkapa listaamalla avaimet
- $ gpg -list-keys
/home/fobar/.gnupg/pubring.gpg
————–
pub 1024D/86E7FC12 2002-09-29 Maija Maitoparta <maito@example.com>
sub 1024g/AB8B03C6 2002-09-29
pub 1024D/BEA1E9F0 2002-09-29 Erkki Testinen <etesti@secret.fi>
sub 1024g/59CA61A8 2002-09-29
Nyt lisätty Erkki Testisen avain näkyy renkaassa. Merkitään, että
luotamme Erkin avaimeen
- $ gpg -lsign-key etesti@secret.fi
Really sign? yes
Komento -lsign-key eli locally sign tarkoittaa, että olet hyväksynyt
avaimen käytettäväksi omalla koneellasi, etkä saa varoitusta salatessasi
Erkille. Vaikka tulostaisit avaimen komennolla -export, hyväksyntäsi
avaimelle ei välity muille. Näin voit käyttää salakirjoitusta päivittäisessä
sähköpostissa noudattamatta huipputurvallisuuteen liittyviä toimintatapoja
avainten luotettavuuden varmistamiseen.
Salaaminen
Salataan (encrypt) hieman tekstiä Erkille
- $ gpg -encrypt -armor -recipient etesti@secret.fi
Tämä on salainen viesti! Kerro mulle jos aukesi.
Päätetään viestin kirjoitus tiedoston loppumerkillä ctrl-D. Koska
käytimme parametriä -armor, GPG tulostaa salatun viestin ruudulle
muodossa, joka on helppo kopioida vaikkapa sähköpostiin
- —BEGIN PGP MESSAGE—
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
hQENA5W3tVNZymGoEAP+MFEX1omKQQL3EJjSghgFNA2zQA8okOVHJZxDpXzeM+Nu qJrQY/+V4rhQX6HBKdfMLqMW7kEfUfIQRtToel0qK2Be83zAxpvQwvgpWWeE4n2a eKgdwr3sxsJSQKxtnb5uVyJBGtxfAl8GJ87BRXmG0WsfgSSNbTjYUw6Kil6SnkYD 9jd7kDRCD0hIaMiNTQ7DAzLd+AC+WCD3igEipcLgA+va4MGoyAtA/k5FddA06ShX mXk+4K8qMNCC4hdTTcXqcPfhibMRXEfWdescGMQIPsq1TGist79pRSJ4C4CC7PjK ijh68hWKLpYve8tKQRlyKupHZ6USoMPpghbAzp6GS1nSVAHjtBJWsJfEO2Zt9wQ5 QL3fo9RtvPEcwD3gt/AghbhzqGlNt2UHzpoLPTqSOF9exrEDQrozIFhE/GScjHiB 0Jwy7f+CXoW3hcXOIrUJCAnYdBzBVg== =lSmu
—END PGP MESSAGE—
Tätä kirjainsoppaa emme itsekään saa auki, sillä sen voi avata vain
Erkki Testilän salaisella avaimella.
Avaaminen
Erkki testilä voi avata (decrypt) äsken kirjoittamamme viestin omalla
salaisella avaimellaan. (alla etesti$ tarkoittaa Erkin komentokehotetta,
sitä ei siis kirjoiteta osaksi komentoa)
- etesti$ gpg -decrypt viesti.txt
Erkki sijoittaa (copy-paste) salaisen viestin
- —BEGIN PGP MESSAGE—
Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org
hQENA5W3tVNZymGoEAP+MFEX1omKQQL3EJjSghgFNA2zQA8okOVHJZxDpXzeM+Nu qJrQY/+V4rhQX6HBKdfMLqMW7kEfUfIQRtToel0qK2Be83zAxpvQwvgpWWeE4n2a eKgdwr3sxsJSQKxtnb5uVyJBGtxfAl8GJ87BRXmG0WsfgSSNbTjYUw6Kil6SnkYD 9jd7kDRCD0hIaMiNTQ7DAzLd+AC+WCD3igEipcLgA+va4MGoyAtA/k5FddA06ShX mXk+4K8qMNCC4hdTTcXqcPfhibMRXEfWdescGMQIPsq1TGist79pRSJ4C4CC7PjK ijh68hWKLpYve8tKQRlyKupHZ6USoMPpghbAzp6GS1nSVAHjtBJWsJfEO2Zt9wQ5 QL3fo9RtvPEcwD3gt/AghbhzqGlNt2UHzpoLPTqSOF9exrEDQrozIFhE/GScjHiB 0Jwy7f+CXoW3hcXOIrUJCAnYdBzBVg== =lSmu
—END PGP MESSAGE—
Ja painaa ctrl-D, jolloin gpg tulostaa avatun viestin
- Tämä on salainen viesti! Kerro mulle jos aukesi.
Näin Erkki sai auki lähettämämme viestin ja ryhtyy kirjoittamaan meille
poliittisesti arkaluontoista viestiä kampanjasta ohjelmistopatentteja,
uutta sananvapauslakia ja uutta tekijänoikeuslakia vastaan.
Salauksen käyttö sähköpostiohjelmassa
Jotta kaikkien sähköpostien salaaminen onnistuu helposti, pitää salauksen
olla helppoa. Siksi useimmat Linuxin sähköpostiohjelmat tukevat GPG:tä
helpolla tavalla.
Kysymyksiä ja vastauksia
Mitä tarkoittaa “gpg: Warning: using insecure memory! “?
Jos koneen RAM-muisti tulee täyteen, osa muistista kirjoitetaan kovalevylle
virtuaalimuistiin (swap). Koska virtuaalimuisti ei ole salattu, koneellesi
murtautunut voi saada sieltä salaisen avaimen. Toisaalta koneelle
murtautunut saa ennen pitkää kaikki tietosi joka tapauksessa. Siispä
varoituksesta ei tarvitse normaalisti välittää. Katso myös GPG Faq
“6.1) Why do I get ‘gpg: Warning: using insecure memory!”’.
Toimiiko GPG Windowsilla?
Kyllä. Lisäksi Windowsille on kaupallinen tuote PGP. Moniin sähköpostiohjelmiin,
kuten Eudoraan ja Outlookiin saa PGP-lisäosan (plugin). PGP-lisäosat
toimivat ilmeisesti myös GPG:n kanssa. Onko kellään kokemuksia GPG:n
käytöstä PGP-plugineilla?
Bibliography
- 1
- Perens, Rudolph, Grobman, Treacy, Di Carlo 2002: Installing Debian
GNU/Linux 3.0 For Intel x86 http://www.debian.org/releases/stable/i386/install
Debianin virallinen asennusopas, kuvailee asennuksen vaiheittain.
GPL. - 2
- Bodnar 2002: http://www.distrowatch.com/ . Esittelee lähes kaikki
Linuxin levityspaketit. - 3
- World Wide Web Consortium: http://www.w3.org. Viralliset Web-standardit,
kuten XHTML. - 4
- Eckstein, Collier-Brown, Kelly 1999: Using Samba. OReillyn kirja Sambasta,
selkeämpi kuin man-sivut. Open Content Licence. http://www.oreilly.com/catalog/samba/chapter/book/ - 5
- Russell 2001: Linux 2.4 Packet Filtering HOWTO. Iptables-tulimuurin
opas vanhan ipchains-tulimuurin kirjoittajalta. Luku 5 kuvailee erittäin
yleiskäyttöisen palomuurin. http://www.netfilter.org/documentation/HOWTO//packet-filtering-HOWTO.html - 6
- Karvinen 2002: Vintuitive – vimrc for newbies. http://iki.fi/karvinen/vintuitive/
- 7
- Filesystem Hierarchy Standard Group (ed Russell, Quinlan) 2001: Filesystem
Hierarchy Standard. Millaisia tiedostoja löytyy mistäkin kansiosta
Unixeissa. http://www.pathname.com/fhs/2.2/ - 8
- Samuelsson et al 2001. Using Samba Improved. http://samba.cadcamlab.org/using/work/html/book1.html
- 9
- Free Software Foundation 1999: The GNU Privacy Handbook. GPG:n käyttöohje
ja julkisen avaimen salauksen perusteet. http://www.gnupg.org/gph/en/manual.html - 10
- Winter, Fischer v. Mollard, Baart: Gnu Privacy Guard (GnuPG) Mini
Howto (English). Keittokirjamainen lyhyt ohje avainten käsittelyyn,
salaamiseen ja purkamiseen GPG:llä. http://webber.dewinter.com/gnupg_howto/english/GPGMiniHowto.html - 11
- Helsingin Teknillisen Korkeakoulun ATK-keskus 2002: GPG:n käyttö atk-keskuksessa.
Lyhyt suomenkielinen ohje GPG:n avainten luomisesta ja lisäämisestä
avainrenkaaseen. http://www.hut.fi/atk/tietoturva/GPG_fin.html - 12
- Scribner 2002: GnuPG Frequently Asked Questions. http://www.gnupg.org/faq.html
GNU Free Documentation Licence
GNU Free Documentation License Version 1.2, November 2002 Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: * A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. * B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. * C. State on the Title page the name of the publisher of the Modified Version, as the publisher. * D. Preserve all the copyright notices of the Document. * E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. * F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. * G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. * H. Include an unaltered copy of this License. * I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. * J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. * K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. * L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. * M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version. * N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section. * O. Preserve any Warranty Disclaimers. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements." 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.