Při pravidelném používání elektronické pošty narazíme čas od času
na nečekané potíže v podobě pošty, která se po odeslání vrátí
zpět. Zpravidla to znamená, že dostaneme zprávu s označením
v řádce Subject
znějící:
Subject: Returned mail: User unknown |
Odesilatelem takové zprávy je většinou program zvaný MAILER-DAEMON
, což
je program starající se o doručování pošty na unixovských systémech
a označující sám sebe jako:
From: Mail Delivery Subsystem |
Obdržení takové zprávy znamená, že naše odeslaná pošta se vrátila bez doručení adresátovi. Předtím, než se s tímto problémem obrátíme na systémového administrátora našeho počítače, bývá dobré pozorně si prohlédnout hlavičku této zprávy. Obsahuje informace o příčině problému a často z ní velice jednoduše můžeme přijít na řešení. Nejčastěji to bývá překlep ve jméně či adrese stroje, kam posíláme zprávu - pak stačí využít toho, že součástí chybové zprávy je i úplný text pošty, kterou jsme posílali, a zkusit jej odeslat ještě jednou.
Při prohlížení hlavičky chybové zprávy musíme pamatovat na to, že nás
zajímají i položky, které pro nás za normálních okolností může
program, kterým si poštu prohlížíme, odfiltrovávat. V programu elm
bychom tak hned zkraje měli použít příkaz h
, kterým zviditelníme přesný
text hlavičky bez jakýchkoli úprav. Uvidíme tak začátek textu ve tvaru
připomínajícím třeba:
From MAILER-DAEMON@varda.ics.muni.cs Thu May 20 02:52:24 1993 Received: by varda.ics.muni.cs (5.65c/UW-NDC Revision: 2.21 ) id AA23261; Thu, 20 May 1993 00:52:25 +0200 Date: Thu, 20 May 1993 00:52:25 +0200 From: Mail Delivery Subsystem <MAILER-DAEMON@varda.ics.muni.cs> Subject: Returned mail: User unknown Message-Id: <199305192252.AA23261@varda.ics.muni.cs> To: zlatuska ----- Transcript of session follows ----- 550 baggins... User unknown ----- Unsent message follows ----- Received: by varda.ics.muni.cs (5.65c/UW-NDC Revision: 2.21 ) id AA23259; Thu, 20 May 1993 00:52:25 +0200 Message-Id: <199305192252.AA23259@varda.ics.muni.cs> Subject: How to mix Black Velvet? To: baggins Date: Thu, 20 May 1993 00:52:24 +0200 (EET) From: Jiri Zlatuska <zlatuska@varda.ics.muni.cs>
Úvodní část zprávy má několik oddílů. První z nich je hlavička vlastní
zprávy s chybou, kterou nám MAILER-DAEMON
posílá, včetně obvyklých
informací o tom, kudy nám zpráva byla doručena. Tento příklad se celý
odehrává na jediném počítači: autor se pokusil poslat zprávu uživateli
baggins
, který ovšem na jeho domovském systému není registrován.
Pod záhlavím Transcript of session follows
následuje část obsahující
zprávu o problémech, které se vyskytly. V našem případě je to
konstatování User unknown
, indikující, že uživatel (poštovní schránka)
se jménem baggins
není na daném systému znám - právě toto je
nejčastější situace vyplývající buď z překlepu v uživatelském jméně
nebo z opomenutí označit v adrese kromě jména i jméno počítače
za znakem @
, kdy se poštovní doručovatel snaží najít příslušného
uživatele na tom počítači, odkud odesíláme poštu. K dešifrování řady
typů chybových zpráv není potřeba žádný chybovník ani znalost příslušných
chybových kĎdů (autor sám neví, kde by něco takového hledal), protože doprovodný
anglický text a pozorná kontrola adres z chybových zpráv obvykle postačí.
Záhlaví Unsent message follows
pak uvádí doslovný text zprávy, kterou
jsme se původně pokoušeli posílat, včetně úvodních informací, kudy zpráva
k cílovému počítači putovala.
Kromě ilustrace reakce na prostý překlep ve jméně uživatele si ukážeme ještě příklad poněkud komplikovanější, se kterým měla možnost se setkat řada návštěvníků Velké Británie. Představme si, že se snažíme poslat poštu svému kolegovi Bagginsovi doma, ta se však vrátí zpět s následujícím záhlavím:
Received: from skye.dcs.ed.ac.uk by dcs.ed.ac.uk id aa12560; 6 May 93 10:54 BST From: Mail Delivery Subsystem <MAILER-DAEMON@dcs.ed.ac.uk> Date: Thu, 6 May 93 10:54:52 BST Message-Id: <2981.9305060954@skye.dcs.ed.ac.uk> Subject: Returned mail: User unknown To: zlatuska@dcs.ed.ac.uk Status: RO ----- Transcript of session follows ----- Connected to mmdfhost: >>> RCPT To: <baggins@varda.ics.muni.cs.ed.ac.uk> <<< 550 (BHST) Unknown host/domain name in "baggins@varda.ics.muni.cs.ed.ac.uk" 550 baggins@varda.ics.muni.cs.ed.ac.uk... User unknown ----- Unsent message follows ----- Date: Thu, 6 May 93 10:54:52 BST Message-Id: <2981.9305060954@skye.dcs.ed.ac.uk> From: Jiri Zlatuska <zlatuska> Subject: Re: Good single malt? To: Bilbo Baggins <baggins@varda.ics.muni.cs.ed.ac.uk> In-Reply-To: Bilbo Baggins' message of Thu, 6 May 1993 11:03:02 +0200 (EET)
Ze zprávy z poznámky User unknown
můžeme usoudit, že uživatel
daného jména neexistuje, ale to by nebyl dobrý závěr: ve skutečnosti jsme
pomocí reply
odpovídali na jeho předchozí zprávu, takže
na druhé straně uživatel tohoto jména prostě musí být. Skutečná
příčina leží o řádek výš, kde se konstatuje, že počítač (host
)
nebo jeho doména není v Internetu známa: Unknown host/domain name in
"..."
. Prohlédneme-li si pozorně adresu, o kterou se jedná, vidíme
okamžitě proč: místo varda.ics.muni.cs
je tam totiž uvedena zkomolenina
varda.ics.muni.cs.ed.ac.uk
. Stačí adresu opravit a poslat zprávu
znova. Totiž - všude na světě kromě Británie: toto zkomolení adresy
za nás udělal místní pošťák (zmiňovali jsme se o této ostrovní
anomálii v části věnované doménovým adresám), který všechny adresy končící
na .cs
považuje za "obrácené" britské adresy směřované
na katedru Computer Science (cs
) a postaral se
o automatickou změnu adresy, která pro Brity zpravidla funguje.
Ocitneme-li se v Británii v takové situaci, může se stát, že nám
nepomůže nic jiného, než požádat místního systémového administrátora
o opravu tabulek a příp. i zanesení adres, se kterými doma
budeme komunikovat, jako výjimek do standardních úprav místních adres.
Jedním z výsledků rozdělení Československa bude i zánik domény
.cs
během asi roku, kdy ji nahradí domény .cz
a .sk
,
vycházející z ISO zkratek pro oba nové státy. Po této změně
problémy v Británii zmizí, avšak může se stát, že zprávy s doménou
.cs
se začnou vracet s indikací neexistující domény přesně jako
v našem příkladu - pomůže pak znovuodeslání zprávy s opravenou doménou
(některé z těchto úprav za nás ale bude dělat automaticky pošťák,
takže narazit bychom měli opravdu jen ve výjimečných případech).
Čas od času se ocitneme v situaci, kdy si potřebujeme
např. ověřit, zda uživatel daného jména na některém počítači existuje.
V prostředí Internetu a unixovských počítačů lze k tomuto účelu
použít příkaz finger
, který nám tuto informaci ve většině případů
poskytne1. Nejjednodušší je
použít tento příkaz ve tvaru
finger jméno@ adresa |
kde adresa je úplná adresa počítače v doménovém tvaru. Výsledkem může být např.:
varda.p06$ finger baggins@cs.city.ac.uk [cs.city.ac.uk] Login name: baggins In real life: Bilbo Baggins Directory: /homes/baggins Shell: /bin/csh Last login Sat May 8 10:35 on ttyp1 from 147.251.12.8 Mail last read Mon May 3 09:21:15 1993 Project: Trying to understand life Plan: Once I understand life, I'm gonna enjoy it.
Dozvídáme se tak nejen, že uživatel baggins
má na počítači
cs.city.ac.uk
účet, ale i řadu dalších informací, konkrétně dobu
posledního použití účtu (last login
) a posledního čtení pošty (mail
last read
) - ne všechny systémy však v těchto polích vracejí
použitelné údaje (nepoužitelný šum nám zde vrací zejména SCO UNIX, který je
často používán jako Unix běžící na počítačích třídy PC). V polích
project
a plan
se zobrazí informace, které si uživatel zapsal
do souborů .plan
a .project
ve svém domovském
adresáři (často je to využíváno třeba na informace o telefonu, adrese,
či úředních hodinách). V případě, že máme štěstí a uživatel daného jména je
zrovna přihlášen, dostaneme místo last login ...
informaci
ve tvaru
On since May 19 16:06:42 on ttyp7 from varda.ics.muni.cs. 2 hours 35 minutes Idle Time
informující nás jednak o tom, kdy se přihlásil, jednak o tom, před jak
dlouhou dobou naposledy sáhl na klávesnici (idle time
) - tato
informace se může hodit pro rozhodnutí, má-li smysl kontaktovat ho třeba
pomocí programu talk
.
Příkaz finger
lze použít i na zjištění, kteří všichni uživatelé
jsou zrovna přihlášeni na nějakém počítači. Vynecháme-li jméno
a zadáme jako parametr jen @
adresa, dostaneme třeba
po dotazu na počítač arwen
odpověď
ve tvaru2:
varda.p06$ finger @arwen [arwen.ics.muni.cs] Login Name TTY Idle When Office mejzlik Petr Mejzlik 05 2:41 Tue 17:21 mejzlik Petr Mejzlik 04 5:08 Wed 14:36 sarek Milan Sarek 12 6:17 Tue 17:30 UVT zlatuska Jiri Zlatuska 2B Thu 00:46 UVT sarek Milan Sarek p00 1:02 Wed 17:52 UVT
Počítače zapojené do Internetu protokolem TCP/IP poskytují službu, která
dovede otestovat stav připojení konkrétního počítače. Elektronická pošta by měla
poměrně spolehlivě chodit i tehdy, dochází-li k občasným výpadkům
části sítě či krátkodobým odpojením
počítačů3, informace o stavu
napojení nám ale může dát indikaci např. o možné době, kdy čekat odpověď,
či zda je možné dálkové napojení pomocí telnet
apod. Příkaz,
kterým můžeme otestovat připojení libovolného počítače v síti Internet, je
ping
, kterému se jako parametr zadá úplné doménové jméno počítače,
příp. internetová adresa ve tvaru čtyř čísel oddělených tečkou.
Výsledkem je výpis tvaru (ukončíme ho pomocí ^C
nebo ^\
):
varda.p06$ ping cs.city.ac.uk PING cs.city.ac.uk: 56 data bytes 64 bytes from 138.40.91.8: icmp_seq=0. time=280. ms 64 bytes from 138.40.91.8: icmp_seq=1. time=490. ms 64 bytes from 138.40.91.8: icmp_seq=2. time=330. ms Quit
Kromě toho, že je počítač cs.city.ac.uk
v dosažitelném stavu,
získáváme ještě údaj o době, kterou potřebuje 64 znaků na cestu
od nás na cílový počítač a zpět - vidíme, že se jedná o dobu mezi
280 a 490 ms.
Poznamenejme výslovně, že ping
testuje jen stav napojení
v Internetu a pro počítače mimo tuto síť samozřejmě použitelný není.
Podobně je tomu i v případě příkazu finger
, kdy se navíc ještě
musíme omezit jen na unixovské systémy.
1 | Výjimkou jsou počítače, kde je tato služba z bezpečnostních
důvodů znepřístupněna.
... zpět do textu |
2 | Pole idle znamenají čas od posledního doteku
klávesnice (v daném případě je na arwen poměrně
mrtvo, protože se jedná o stav z jedné hodiny
po půlnoci) a pole when ukazuje dobu, kdy se
uživatel přihlásil. Plný několikařádkový výpis bychom získali
uvedením parametru -l , tj. příkazem
finger -l @arwen .
... zpět do textu |
3 | Obě tyto věci by však měly nastávat jen výjimečně: Individua
s obsesí vypínat počítače je vhodné držet pro jistotu
pod zámkem a k unixovským serverům je pod žádnou
záminkou nepouštět!
... zpět do textu |