Stavíme IRC Bota II. – Shell

Co je to Shell?
Pro běh bota Eggdropa potřebujete ‚shell account‘. V podstatě se jedná
o osobní účet pro přístup k serveru, který je připojen do Internetu
pevným vysokorychlostním připojením. Účty shellu běží na operačním systému
Unix, Linux a podobných na bázi původního Unixu.

K přístupu na shell se požívá telnet, ssh (secure shell) a FTP.
Účet vám poskytuje volné místo (většinou okolo 5 až 30 MB pro základní účty)
pro ukládání souborů a spouštění programů na Unixovém stroji. Nejoblíbenějšími
příbuznými Unixu, s jejchž shellovými účty se setkáte, jsou bezesporu
operační systémy Linux a FreeBSD. Bohužel, narozdíl od Eggdropa, shellové
účty většinou nejsou zdarma. Ale protože jsou stále připojeny do Internetu,
shellové účty jsou velmi oblíbené a stojí si jako efektivní platforma pro hostování
IRC botů. Shellový účet může být rovněž využit pro ostatní věci, související s IRC,
například spuštění bounceru, vlastního IRC serveru, downloadu souborů vysokou
rychlostí pro dočasné uložení (pak si je stáhnete do svého počítače),
odesílání/přijímání e-mailů a správě www stránek. Pro spuštění a správu IRC bota není
třeba mít zkušenosti s Unixovým shellovým účtem, ale budete se muset naučit několik
základních příkazů shellu.

Kde se dá shell obstarat?
Někteří ISP poskytují Unixový shellový účet zdarma s dialup. účty.
Často ale IRC boti na těchto účtech nejsou povoleni anebo zde chybí potřebné
komponenty pro kompilaci a běh Eggdropa. V našich končinách se většinou
dá celkem jednoduše získat Linuxový shell na některém z vysokoškolských serverů,
které většinou běží na tomto výborném operačním systému. Takový účet vesměs získávají
studenti pro účely studia a správci těchto serverů většinou proti běhu IRC botů nic nenamítají,
i když v některých případech je jejich provoz zakazován.

Používání vašeho shellu

Pro používání shellového účtu bude potřebovat dva programy – SSH
klient
a FTP klient. SSH se používá pro provádění příkazů ve shellu a FTP
pro přenos souborů mezi shellem a vaším počítačem. LeechFTP
(již se nevyvíjí, ale stále se dá stáhnout) a SmartFTP
jsou oblíbené FTP klienty zdarma. Jedním z volně dostupných SSH klientů je
PuTTY
.
Když je aktivován váš shell, měli byste obdržet informace, které obsahují
hostname shellu a hostname FTP serveru
(většinou má FTP server stejné hostname jako shell). Nejdříve
s budete muset spojit pomocí telnetu se svým shellem. Spusťte svůj telnet
nebo SSH klient a zadejte adresu shellu (např.: shell1.supershell.cz).
Dudete dotázáni na vaše uživatelské jméno a heslo.
Potom se většinou zobrazí motd(message of the day – uvítací text) a pak už uvidíte něco
co vypadá (a pracuje) velmi podobně jako příkazový řádek MS-DOSu.

Příkazy Shellu

Nejdříve se musíte seznámit s několika základními příkazy shellu.
S těmito příkazy budete moci provádět základní operace shellu.

cd – Přejde do určeného adresáře,
podobně jako DOSový příkaz cd. K přepnutí do adresáře výše než současný,
napište dvě tečky jako adresář, takto: cd ...
Napsání cd ~ vás vrátí do vašeho domovského adresáře (tilda je
zkratka pro cestu do vašeho domovského adresáře, např. /home2/user/lamerz).

gunzip – Rozbalí obsah gz souboru
(který je podobný souborům .zip), např. gunzip super.tcl.gz.

kill -9 – Zabije proces s danným pid číslem.
Číslo pid procesu můžete zjistit příkazem ps x
vysvětleným níže. Tento příkaz je užitečný pro zabití vašeho Eggdropa,
když se vám nedaří jej vypnout jinými způsoby.

ls – Tento příkaz je velmi podobný příkazu DOSu dir.
Vypisuje obsah daného adresáře. Pro podrobnější výpis napište ls -al.

mv – Přejmenuje soubor nebo adresář.

passwd – Umožní vám změnu hesla pro váš shellový účet (budete
dotázáni na staré heslo a pak zadáte nové).

pico -w – Otevře zvolený soubor v textovém editoru pico.
Volba -w zabrání špatnému zobrazení Tcl skriptů, protozě povolí zobrazení dlouhých řádků.

ps x – Zobrazí všechny vaše ‚procesy‘ spuštěné ve shellu.
To jsou věci jako Eggdrop, IRC bouncery, a otevřená telnetová
či FTP sezení. Tento příkaz je užitečný pro získání pid
(proces ID) čísla procesu. Pro zobrazení využití vašich procesů
napište ps ux.

pwd – Zobrazí pracovní cestu k nynějšímu pracovnímu adresáři. např.:
/home2/user/lamerz/mujbot.

quota – Zobrazí, kolik místa na disku máte k dispozici a kolik
využíváte.

rm – Smaže soubor. Pro smazaání adresáře a celého
jeho obsahu (včetně podadresářů), použijte rm -rf .

tar -xf – Používá se pro rozbalení tar archívu. K rozbalení
tar.gz nebo .tgz archívu, použijte tar -zxf (pokud to nefunguje,
použijte gunzip a pak tar -xf ).

Uvedené příkazy jsou základem, který potřebujete znát, abyste úspěšně nastavili
a spustili Eggdropa. Po získání zkušeností s používáním shellu, se můžete se naučit některé další příkazy.
Některé z ostatních užitečných a zajímavých příkazů jsou uvedeny níže.

netstat – Zobrazí všechna spojení navázaná se serverem a ze serveru.

top – Zobrazí podrobnosti o využití systému.

uptime – Zobrazí čas od zapnutí systému a jeho vytížení.

vhosts – Zobrazí seznam vhostů dostupných pro použití (ne všechny shelly znají tento příkaz).

Použití FTP se shellem

Jedno z mnoha využití shellových účtů je download souborů ze serveru
na shell pomocí FTP (je to trochu odlišné od přenosu souborů
mezi vaším počítačem a shellem pomocí FTP). K tomuto účelu
se připojte k vašemu shellu pomocí telnetu nebo SSH a použijte shellový
FTP klient. Ten funguje podobně jako download souborů do vašeho počítače,
ale v tomto případě se soubory ukládají do vašeho shellu a vy si je můžete
později stáhnout i do svého počítače.
Rychlý shell je dobrý pro stahivání souborů mnohem vyššími rychlostmi, než
je typické dial-up připojení.

Pro download souboru, napište ftp v příkazovém řádku shellu. Tak se ocitnete
v příkazové řídku pro ftp. Níže jsou uvedeny základní příkazy, které budete
potřebovat pro download souborů do vašeho shellu pomocí ftp (zobrazeny
jsou v pořadí, jak je budete používat).

open <server> – Připojení ke zvolenému FTP serveru.
Pokud jeřipojení úspěšné, budete dotázáni k zadání jména a hesla
(pro mnoho serverů, napište anonymous jako jméno a uživatel@doména.cz
jako vaše heslo).

ls – Zobrazí obsah daného adresáře na FTP serveru.

cd <adresář> – Přejdete do určeného adresáře na
FTP serveru. Pro přechod do adresáře nad nynějším, napište jako jméno adresáře
dvě tečky. Např.: cd ...

bin – Přepne do binárního módu. Tento příkaz je třeba použít před tím,
než začnete stahovat nějaké soubory.

hash – Povolí zobrazení hash značek během stahování souboru.
Hodí se pro monitorování půběhu stahování.

prompt – Zakáže dotazování mezi příjmy, pokud stahujete více souborů
použitím příkazu mget (níže).

get <soubor> – Stáhne určený soubor do vašeho shellu.

mget <soubor1 soubor2 souborN> – Stáhne všechny určené soubory,
jeden po druhém. Tento příkaz podporuje zástupné znaky, např.: mget egg*
stáhne všechny soubory v daném adresáři na FTP serveru se jmény
začínajícími na ‚egg‘.

close – Odpojí vás od FTP serveru.

quit – Ukončení ftp programu.

Jako poslední poznámku se hodí uvést, že heslo ke shellovému účtu si nechávejte
pro sebe a nesdělujte jej ostatním! Poskytnutím přístupu k vašemu shellu si říkáte o problémy.
Pokud opravdu chcete dát někomu přístup na váš shell, ujistěte se, že mu můžete věřit
a také že to není v rozporu s pravidly poskytovatele vašeho shellu.

Když už tedy máte shellový účet a již ovládáte základní příkazy, jste připraveni pro
nastavení Eggdropa.