1<!doctype linuxdoc system> 2 3<article> 4 5<!-- Title information --> 6 7<title>dokumentacja bftpd [jezyk polski]</title> 8<author> 9 <name>napisana przez Max-Wilhelm Bruker <tt/<brukie@gmx.net/></name> 10</author> 11<!--<date>$Id: bftpddoc-pl.sgml,v 1.1 2007/04/16 12:01:13 mutalis Exp $</date>--> 12 13<abstract> 14Ten dokument stanowi dokumentacje serwera bftpd. 15</abstract> 16 17<!-- Table of contents --> 18<toc> 19 20<!-- Begin the document --> 21 22<sect>Wprowadzenie 23 24 <p> 25bfptd jest serwerem FTP dla Linuxa, BSD/OS, FreeBSD, Solarisa, DG-UXa oraz Tru64 (nie wiem czy dziala on na innych systemach, jesli probowales, napisz do mnie). Uruchamiany moze byc poprzez inetd badz w trybie standalone (demon). 26 </p> 27 <p> 28 bftpd stara sie byc bardzo elastycznym przy zachowaniu malego rozmiaru oraz swojej szybkosci. Mozesz wprowadzac wartosci domyslne dla kazdej opcji w konfiguracji a nastepnie nadpisywac je poprzez lokalne parametry. 29</p> 30 <p> 31Do zalet bftpd zaliczyc mozna: 32 <itemize> 33<item> Prosta konfiguracje 34<item> Predkosc 35<item> Obsluge wiekszosci komend FTP RFC 36<item> Kompresje w locie do archiwow .tar.gz 37<item> Bezpieczenstwo poprzez proste wprowadzenie chroota 38<item> Brak koniecznosci udostepniania basha oraz innych komend w srodowisku chroot 39<item> Logowanie do wtmp oraz do pliku badz demona syslogd 40<item> Obsluge PAM oraz hasel passwd/shadow 41<item> Obsluge komend SITE CHOWN/CHMOD 42 43 </itemize> 44 </p> 45</sect> 46 47<sect> Instalacja 48<sect1> Kompilacja 49<p> 50Najpierw uruchom nastepujace polecenia (zamieniajac x.x.x na wersje, ktora instalujesz): 51 <tscreen><verb> 52tar xzf bftpd-x.x.x.tar.gz 53cd bftpd-x.x.x 54./configure 55make 56make install [wymaga roota] 57 </verb></tscreen> 58Wiedz, ze jesli upgradujesz bftpd ze starszej wersji, musisz recznie skopiowac plik bftpd.conf do katalogu /etc, poniewaz polecenie 'make install' nie nadpisuje pliku konfiguracyjnego. 59 </p> 60 <p> 61 Uwaga: Jesli chcesz korzystac z opcji kompresji w locie do .tar.gz, musisz sciagnac kody zrodlowe gzipa oraz paxa i rozpakowac je do katalogu zrodlowego bftpd. Nastepnie, zamiast uruchomic "./configure", wykonaj &dquot;./configure --enable-pax=katalog-z-paxem --enable-gzip=katalog-z-gzipem&dquot;. 62 </p> 63<sect1> Uruchamianie serwera 64<p> 65Do wyboru masz uruchamianie bftpd poprzez inetd oraz w trybie standalone (demon). 66 <descrip> 67<tag> Jesli chcesz korzystac z inetd: </tag> 68 Dodaj nastepujacy wpis do /etc/inetd.conf: 69<tscreen>ftp stream tcp nowait root /usr/sbin/bftpd bftpd<verb></verb></tscreen> 70 Wyslij inetdowi sygnal HUP lub zrestartuj system. Od tego momentu bftpd powinien pracowac. 71<tag> Jesli chcesz uruchomic bftpd jako demona (standalone): </tag> 72 Kaz systemowi uruchamiac: 73 <tscreen><verb>/usr/sbin/bftpd -d</verb></tscreen> 74 przy starcie. 75 </descrip> 76 </p> 77 78<sect>Konfiguracja 79<sect1>Zarzadzanie uzytkownikami<p> 80Mozesz obslugiwac konta uzytkownikow w bardzo prosty sposob, edytujac plik /etc/passwd oraz, jesli Twoj system to obsluguje, /etc/shadow. Kazdy uzytkownik wystepujacy w /etc/passwd moze sie polaczyc z serwerem jesli poda haslo i spelni wymagania konfiguracji serwera bftpd. Mozna rowniez zalozyc konto anonymous, ustawiajac zmienna ANONYMOUS_USER na yes. bftpd obsluguje rowniez PAM. 81</p> 82<sect1> Plik konfiguracji (/etc/bftp.conf) 83<sect2> Sekcja globalna 84<p> 85W tej sekcji mozesz nadawac wartosci opcjom konfiguracji. Skladnia jest nastepujaca: 86<tscreen><verb> 87global { 88 nazwa1=wartosc1 89 nazwa2=wartosc2 90} 91</verb></tscreen> 92</p> 93<sect2>Sekcja uzytkownikow 94<p> 95W konfiguracji wystepuje rowniez sekcja uzytkownikow, w ktorej mozesz nadpisywac wartosci globalne dla poszczegolnych uzytkownikow. Przyklad: 96<tscreen><verb> 97global { 98 nazwa1=wartosc1 99 nazwa2=wartosc2 100} 101user foo { 102 nazwa1=wartosc3 103} 104</verb></tscreen> 105Jesli uzytkownik foo sie zaloguje, to nazwa pierwsza bedzie miala wartosc3. Jesli zalogowany jest inny uzytkownik, nazwa1 ma warosc1, natomiast nazwa2 ma zawsze wartosc2. 106 107</p> 108<sect2>Sekcja grup uzytkownikow 109<p> 110Mozesz takze definiowac konfiguracje grupom uzytkownikow - podobnie jak dla jednego uzytkownika, tylko mozesz przydzielic ich kilku pod postacia grupy. Mozesz rowniez umieszczac w konfiguracji grupy systemowe dodajac do ich nazwy znak @. Przyklad: 111<tscreen><verb> 112group foo,bar,@baz { 113 nazwa1=wartosc1 114} 115</verb></tscreen> 116Te opcje oddzialuja na uzytkownikow foo i bar oraz na kazdego z grupy systemowej baz. 117</p> 118<sect2>Sekcja katalogow 119<p> 120Mozesz ustalac opcje, ktore beda wazne tylko dla uzytkownikow znajdujacych sie w danym katalogu, badz jego podkatalogach. Wez pod uwage, ze musisz umiescic te struktury w opcjach globalnych, uzytkownikow oraz grup. W ten sposob mozesz takze nadpisywac specyficzne ustawienia katalogu dla danych uzytkownikow. Przykladowo: 121<tscreen><verb> 122global { 123 nazwa=wartosc1 124 directory /foo { 125 nazwa1=wartosc2 126 } 127} 128user bar { 129 directory /foo { 130 nazwa1=wartosc3 131 } 132} 133</verb></tscreen> 134Tutaj, nazwa1 bedzie miala warosc3 jesli uzytkownik bar bedzie w katalogu /foo. Natomiast wartosc2 przybierze jesli inny uzytkownik znajdzie sie w katalogu /foo. Kazdy inny przypadek spowoduje nadanie nazwie1 wartosci1. 135</p> 136<p> 137Wyjasnienie tych opcji znajdziesz w pliku konfiguracyjnym bftpd (jesli nie upgradowales bftpd, plik zostal juz skopiowany do /etc). Zmodyfikuj oczywiscie plik do twoich potrzeb. Jednak domyslna konfiguracja tez powinna byc w porzadku. 138</p> 139 140<sect>FAQ 141<sect1>Problemy z kompilacja 142<sect2>Nie moge skompilowac bftpd 143<p> 144Daj mi znac. Powiedz na jakim systemie i architekturze go kompilowales, przeslij tez wyjscie calego procesu kompilacji (configure i make). Nie dostaje ton poczty, wiec postaram sie rozwiazac Twoj problem. Jesli natomiast nie odpowiem, prawie zapomnialem o Twoim mailu, wiec go ponow :) 145</p> 146<sect2>Wystepuja dziwne ostrzezenia 147<p> 148To jest calkiem mozliwe na platformach, na ktorych nie testowalem bftpd. Nawet jesli bftpd skompiluje sie prawidlowo i dziala bez zarzutu, prosze, przeslij mi informacje na ten temat, gdyz kompilator moze powodowac niezauwazalne na pierwszy rzut oka problemy. 149</p> 150<sect2>Make mowi ze nie moge uzywac wtmp 151<p> 152Prawdopodobnie uzywasz Solarisa. Poniewaz nie mam dostepu do takiej maszyny, nigdy nie moglem sprawdzic jej wtmp. Jesli otrzymujesz taki komunikat i nie wiesz czym jest w ogole wtmp, nie martw sie o to. Jesli jest inaczej, pomoz mi rozwiazac problem. 153</p> 154<sect1>Problemy przy uruchamianiu 155<sect2>Otrzymuje komunikat &dquot;Could not get peer IP address.&dquot; 156<p> 157Uruchomiles bftpd przez konsole. Jesli chcialbys z niego korzystac w trybie standalone, musisz dodac opcje &dquot;-d&dquot;. Jesli jednak ustawiles go jako usluge inetd, sprawdz to przez: 158<tscreen><verb> 159hostname:˜$ ftp localhost 160</verb></tscreen> 161</p> 162<sect2>Dostaje blad &dquot;Bind failed: Address already in use.&dquot; 163<p> 164Ten blad oznacza, ze inny proces juz wykorzystuje port, na ktorym chcesz uruchomic serwer bftpd. Mozesz zmienic numer portu bftpd w pliku konfiguracyjnym (bftpd.conf) - opcja PORT w strukturze globalnej. Domyslnie ustawiony jest na 21. Jesli nie zmieniales tego portu, prawdopodobnie zapomniales wylaczyc swoj stary serwer FTP. Zajrzyj do /etc/inetd.conf oraz do wydruku polecenia &dquot;ps aux | grep ftp&dquot;. 165</p> 166<sect1>Problemy podczas sesji FTP 167<sect2>Mam blad podobny do &dquot;500 Unknown command: 'foo'&dquot; 168<p> 169Twoj program wyslal komende, ktorej bftpd nie rozpoznal. To jest moj blad, chyba ze rzeczywiscie wyslales nieistniejace polecenie. Sprawdz czy sie nie pomyliles przy jego wpisywaniu i wyslij mi raport, jesli masz pewnosc, ze komenda byla dobra. 170</p> 171<sect2>Sesja sie konczy bledem 421 172<p> 173Jesli porobujesz sie zalogowac ze zlym haslem, bftpd zerwie polaczenie. Jesli sie zalogowales zanim blad sie pojawil, badz blad wystapil przed zalogowaniem, to na pewno jest moj blad. Powiedz mi o tym. 174</p> 175<sect1>Rozne 176<sect2>Jak dziala kompresja w locie? 177<p> 178Zalozmy, ze masz katalog nazywajacy sie foo. Nawet jesli nie ma pliku o nazwie foo.tar.gz, mozesz jednak uzyc polecenia RETR i bedzie on zaweral zawartosc katalogu foo, tar-gzipowana. Mozesz rowniez sciagac pliki: 179<itemize> 180<item>dirname.tar</item> 181<item>filename.gz</item> 182</itemize> 183Jesli chcesz korzystac z tej opcji, wkompiluj ja najpierw (patrz: instalacja) 184</p> 185<sect2>Moje opcje dla polaczen anonymous nie dzialaja 186<p> 187Jesli w strukturze jest opcja ALIAS=...., nie musisz uzupelniac jej opcjami. Zamiast tego, zrob to w sekcji, do ktorej sie alias odnosi. 188</p> 189<sect2>Dlaczego dokumentacja jest tak uboga? 190<p> 191Odpowiedz jest prosta, nikt niczego nie napisal :)<newline> 192Nigdy nie wiem co napisac, wiec jesli masz jakas wizje wzbogacenia dokumentacji, prosze, poinformuj mnie o tym. To samo dotyczy tlumaczen na inne jezyki. Jesli chcialbyc cos stworzyc, zrob to, jednak zwracaj uwage na bledy stylistyczne i literowki. 193</p> 194<sect>Credits 195<sect1>Testowanie na roznych platformach 196<p> 197<itemize> 198<item>David L. Nicol (david@kasey.umkc.edu) testowal bftpd na Tru64.</item> 199<item>JackRipper (vic@altoona.net) testowal bftpd na BSD/OS oraz DG-UX.</item> 200<item>Christian Beyerlein (christian@beyerlein.de) testowal bftpd na FreeBSD i Solarisie.</item> 201<item>Ludzie z kanalu #linux (IRCNet) sprawdzali bftpd na roznych systemach.</item> 202</itemize> 203</p> 204<sect1>Pomysly, uwagi& fragmenty kodu 205<p> 206<itemize> 207<item>Josh Woodcock (josh@hamparts.com) podzielil sie kiloma uwagami - Solaris 8.</item> 208<item>Floh (floh@maflohsoft.de) zasugerowal wbudowac obsluge ASCII.</item> 209<item>Erik Hensema (erik@hensema.xs4all.nl) znalazl blad w netfilterze 2.4.0 wplywajacy na bftpd.</item> 210<item>Heiko Rother (rother@cmsnet.de) mial wiele dobrych pomyslow (patrz changelog).</item> 211<item>Christophe Bailleux (cb@grolier.fr) wprost uwielbia znajdowac problemy w listingowaniu katalogow. Poza tym mial wiele uwag i podeslal wiele fragmentow kodu.</item> 212<item>Jonathan Heusser (jonathanheusser@gyml.unibas.ch) znalazl blad przepelnienia bufora.</item> 213<item>Christian Beyerlein (christian@beyerlein.de) zaproponowal aliasy uzytkownikow.</item> 214<item>Elmusafir (jslmarti@campus.cem.itesm.mx) doniosl o bledzie we wspolpracy ze Staroffice, ktory naprawiono w wersji 1.0.8.</item> 215<item>Alex Madden (alexm@immstudios.com) oraz Daniel Mack (daniel.mack@nextra.de) napisali o niekompatybilnosci z Solarisem - naprawiono w 1.0.8.</item> 216<item>Daniel Mack (daniel.mack@nextra.de) podeslal duzego patcha (patrz changelog).</item> 217</itemize> 218</p> 219<sect1>Pisanie dokumentacji 220<p> 221<itemize> 222<item>Radek Michalski (radek@end.p-s.com.pl) przetlumaczyl dokumentacje bftpd na jezyk polski.</item> 223</itemize> 224</p> 225<sect1>Inne 226<p> 227<itemize> 228<item> 229Kilka pomyslow struktry kodu zaczerpnalem z betaftpd Steinera H. Gutersona. Ale to raptem kilka linii. 230</itemize> 231</p> 232</article> 233