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/&lt;brukie@gmx.net/&gt;</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:&tilde;$ 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&amp; 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