Dalej Wstecz Zawartość

## Opcje konfiguracji w pliku konfiguracyjnym bftpd

Poniżej znajduje się lista opcji obsługiwanych przez bftpd. Opcje z wartościami mogą znajdować się w pliku konfiguracyjnym, czyli /etc/bftpd.conf. Zwróć uwagę, że wartości opcji muszą znajdować się w cudzysłowiu. Przykładowo, poprawne jest:
PORT="21"
Natomiast to już nie:
PORT=21
Ponadto, wszystkie opcje muszą być pisane wielkimi literami.
W pliku bftpd.conf znajdują się dwie główne sekcje. Pierwsza z nich to global. Zawiera ona globalne opcje dotyczące całego serwera FTP. Druga sekcja to users. Powinna znajdować się zawsze na dole pliku konfiguracyjnego i może ona nadpisywać wartości globalne dla poszczególnych użytkowników. Przykładowo, domyślnie w pliku bftpd.conf ustawiono parametr DENY_LOGIN na "no", co pozwala się logować użytkownikom. Jest to ustawione w sekcji globalnej. Mimo to, także domyślnie, DENY_LOGIN ustawiono jest na "on" w sekcji użytkownika root. Chroni to przed dostępem do serwera FTP na koncie root.
Poniżej opisane są wszystkie opcje konfiguracyjne bftpd. Każdy opis składa się z nazwy zmiennej, opisu oraz możliwych parametrów.
Nazwa: DENY_LOGIN
Opis: Ta opcja pozwala lub zabrania zalogowania się do serwera. Rekomenduje się ograniczenie dostępu dla użytkownika root.
Wartości:
"no" - zezwala na logowanie
"yes" - zabrania logowania się na serwer
"Powód odmowy zalogowania." - Zabrania zalogowania i podaje użytkownikowi powód.
Nazwa: PORT
Opis: Numer portu, na którym nasłuchuje serwer. Opcja ta dotyczy tylko trybu standalone (demon).
Wartości:
"21" - domyślna
Nazwa: PASSIVE_PORTS
Opis: Możesz wymusić stosowanie określonych portów w trybie pasywnym. Passive oznacza, że klient otwiera porty danych, a serwer pozostaje pasywny. Ta opcja może być przydatna przy niektórych kombinacjach z firewallami. Oddzielaj wartości "," i definiuj zakresy przy użyciu "-". Bftpd będzie próbował przydzielać porty w porządku wzrastającym. Jeśli żaden z portów nie będzie mógł zostać przydzielony, nastąpi odmowa połączenia. Jeśli jednak chcesz, aby przydzielono inny wolny port, dodaj "0" do listy.
Wartości:
"0" - (zero) domyślna
"10000-20000" - użyj portów od 10000 do 20000
"15000-20000, 25000-30000" - użyj portów od 15000 do 20000 i 25000 do 30000.
Nazwa: DATAPORT20
Opis: which restrict out-going connections above port 1024.
Name: Jeśli połączenia danych PORT powinny być otwierane na porcie 20, podaj tu "yes". Prawdopodobnie będzie Ci to potrzebne jeśli Twój serwer jest za firewallem, który zabrania wychodzić pakietom na wyższych niż 1024 port. Zwróć uwagę, że to może być traktowane jako luka bezpieczeństwa, ponieważ serwer nie będzie mógł całkowicie pozbyć się swoich uprawnień roota, jeśli odpowiesz tu "yes".
Wartości:
"no" - domyślna. Jest ona rekomendowana ze względów bezpieczeństwa.
"yes" - włącz port 20 do danych. Rekomendowane do połączeń firewallowanych. ADMIN_PASS
Opis: Hasło administratora serwera bftpd służące do monitorowania serwera i obserwowania statystyk. Interfejs administratora nie jest póki co gotowy i na razie hasło powinno pozostać "x".
Wartości:
"x" - domyślna i rekomendowana.
Nazwa: INITIAL_CHROOT
Opis: Korzystając z tej opcji możesz całe środowisko FTP umieścić w chroot. Oprócz poniesienia bezpieczeństwa, ta opcja pozwala Ci na możliwość posiadania wirtualnych użytkowników, którzy nie istnieją w systemie. Dodatkowo, możesz stworzyć coś na zasadzie puli plików tworząc katalog z plikami, które są dowiązaniami symbolicznymi plików znajdujących się w katalogach użytkownikówo (to oznacza ustawienie opcji DO_CHROOT na "no" aby użytkownicy mogli uzyskać dostęp do tych katalogów. W katalogu chroot potrzebujesz plików: /etc/passwd, /etc/shadow, /etc/group w systemach GNU, a także bibliotek NSS w /lib).
Wartości: Ta opcja domyślnie jest wyłączona. Powinieneś podać ścieżkę do istniejącego katalogu jeśli chcesz stworzyć tradycyjne, bezpieczne środowisko ftp.
Nazwa: PATH_BFTPDUTMP
Opis: Plik bftpdump pozwala na logowanie wejść i wyjść użytkowników. Przydaje się to do ograniczania ilości jednocześnie zalogowanych użytkowników.Jeśli Cię nie interesuje ta funkcjonalność, możesz to wyłączyć (pusty string).
Wartości:
"/var/run/bftpd/bftpdutmp" - domyślna
"" - wyłącza logowanie.
Name: XFER_BUFSIZE
Opis: Ta opcja ustala rozmiar bufora przy przesyłaniu plików. Jeśli działasz w szybkiej sieci (co oznacza 100 Mbit/s lub więcej), powinieneś ustawić ją na 64000 lub coś podobnego. Transfer plików z localhosta na localhosta przy buforze 2048 daje około 15MB/s, a przy 64000 około 20MB/s. Przy klientach dialupowych powinieneś ustawiać mniejsze wartości. Tej opcji można także używać dla sztucznego ograniczenia przepustowości - ustaw wtedy niską wartość parametru XFER_BUFSIZE.
Wartości:
"2048" - domyślna
Nazwa: XFER_DELAY
Opis: Ta opcja pozwala ustawić odstęp czasowy pomiędzy wysyłką kolejnych porcji danych (w mikrosekundach). Służy do sterowania przepustowością i dotyczy każdego klienta. Sterowanie dotyczy tylko transferu danych (nie połączeń zarządzających). Wartość zero (0) oznacza brak opóźnień. Wartość 500000 wprowadza opóźnienie rzędu pół sekundy. Te wartości powinny być niskie aby uniknąć timeoutów przy połączeniach.
Wartości:
"0" - domyślna (brak opóźnień)
Nazwa: ALLOW_FXP
Opis: Gdy ustawiona na "yes", serwer zezwala na połączenia danych, które nie idą do klienta, który je zainicjował. Potrzebna jest ona w FXP. Zalecane jest wyłączenie tej opcji.
Wartości:
"no" - domyślna (zalecana)
"yes" - pozwala na wysyłanie danych do trzeciej strony.
Nazwa: CONTROL_TIMEOUT
Opis: Ta opcja określa czas (w sekundach), w którym klient może być nieaktywny (nie wysyła komend kontrolnych). Po upłynięciu tego czasu bftpd zrywa połączenie.
Wartości:
"300" - domyślna (5 minut)
Nazwa: DATA_TIMEOUT
Opis: Ta opcja określa długość przerwy przy ściąganiu plików (w trakcie transferu, w sekundach). Zwykle powinna być powyżej dziesięciu, jednak poniżej sześciesięciu. To pozwala sprawnie operować w przypadku połączeń dial-up.
Wartości:
"30" - domyślna (30 sekund)
Nazwa: RATIO
Opis: Używaj ratio, jeśli chcesz wymusić na użytkowniku wysłanie plików, zanim będzie mógł coś ściągnąć. Składnia wartości jest następująca: "upload/download". Przykładowo, "2/1" pozwoli na ściągnięcie 1MB danych po uprzednim wgraniu 1MB.
Wartości:
"none" - domyślna. Nie ogranicza pobierania.
"2/1" - pozwala ściągnąć 1MB za każde 2MB przesłane na serwer.
Nazwa: ROOTDIR
Opis: ROOTDIR wskazuje na główny katalog użytkownika po zalogowaniu. Domyślnie jest to %h (katalog domowy). "%u" to nazwa użytkownika. Ta opcja jest przydatna gdy ma się zestaw podkatalogów używanych przez bftpd. Na przykład, /var/ftp/username/
Wartość powinna być ustalona dla logowań anonimowych (na dole pliku konfiguracyjnego).
Wartości:
"%h" - (domyślna) logowanie do katalogu domowego użytkownika.
"%u" - zastępowane przez nazwę użytkownika.
Nazwa: UMASK
Opis: Domyślny umask dla plików i katalogów tworzonych przez użytkowników.
Wartości:
"022" - (domyślna) Nowe pliki tworzone są z prawami 755.
Nazwa: LOGFILE
Opis: Ta opcja wskazuje na plik, w którym logowane są ogólne informacje bftpd, m.in. przesyłane pliki, próby logowania i wylogowania. Można także użyć sysloga do tego celu.
Wartości:
"/var/log/bftpd.log" - domyślna
"syslog" - logowanie do sysloga.
"" - nie zapisuj niczego w syslogu.
Nazwa: HELLO_STRING
Opis: Ta opcja określa tekst, który zostanie przesłany klientom w momencie pierwszego logowania. Możesz użyć dowolnego tekstu, który mieści się w jednej linii. Dodatkowo, możesz stosować trzy wbudowane symbole (%h, %i, %v) aby umieścić dodatkową informację, gdzie: %h - nazwa hosta,
%i - adres IP serwera,
%v - wersja bftpd.
Uwaga: jeśli używasz "%h" i CHROOT, musisz skopiować pliki /etc/hosts i /etc/host.conf do katalogu chroot.
Wartości:
"bftpd %v at %i ready." - domyślna (pokaż adres IP oraz numer wersji serwera)
"Welcome to bftpd at %h" - wyświetl tekst powitalny z nazwą hosta.
Nazwa: AUTO_CHDIR
Opis: Ta opcja wkazuje serwerowi bftpd, w którym katalogu powinien się uruchamiać. Ta opcja jest względna do chroot.
Wartości:
"/" - (domyślna) zacznij w katalogu root (/) obecnego środowiska.
"/ftp" - zacznij w katalogu "/ftp".
Nazwa: AUTH
Opis: Ta opcja informuje bftpd, którego systemu autentyfikacji używać. Aktualnie dostępne są PAM i zwykły system haseł.
Wartości:
"PASSWD" - (domyślna) używaj podstawowego sprawdzania haseł.
"PAM" - używaj weryfikacji PAM.
Nazwa: FILE_AUTH
Opis: Ta opcja, gdy ustawiona, każe bftpd ignorować parametr AUTH i korzystać z pliku tekstowego do autoryzacji użytkowników. Wartość powinna wskazywać na plik tekstowy, do którego dostęp ma bftpd. Zobacz sekcję wartości aby poznać format pliku. bftpd będzie przeszukiwał plik tekstowy w celu znalezienia nazwy użytkownika. Jak ją znajdzie, porówna hasła.
UWAGA: Z tej opcji powinieneś korzystać bardzo ostrożnie i tylko w przypadku, gdy chcesz nadpisać zwykły system zabezpieczeń!
Wartości:
Plik tekstowy powinien być następującego formatu:
użytkownik hasło grupa katalog_domowy
Gdy użytkownik i hasło zgadzają się z tymi wysłanymi przez klienta, zostanie zalogowany. W przeciwnym razie nastąpi odmowa zalogowania. Grupa powinna być grupą użytkownika, natomiast katalog_domowy wskazuje na katalog, w którym użytkownik zostanie chrootowany. Przykładowo:
john secret users /home/john
jane mypassword users /home/jane/ftp
Nazwa: RESOLVE_CLIENT_IP
Opis: Włącz tę opcję, jeśli chcesz aby rozwiązywać adresy IP do nazw. Ta opcja może nie działać, jeśli Twój DNS nie jest prawidłowo skonfigurowany. Ponadto zwalnia to działanie całego systemu, gdyż klienci nie posiadający właściwych nazw DNS będą czekali długo na połączenie.
Wartości:
"no" - domyślna i zalecana
"yes" - rozwiązuje nazwy hostów, jeśli to możliwe
Nazwa: MOTD_GLOBAL
Opis: Ta opcja wskazuje bftpd gdzie znajduje się plik "motd". Zawartość tego pliku jest wysyłana klientowi przed zalogowaniem się.
Wartości: "/etc/ftpmotd" - domyślna
Nazwa: MOTD_USER
Opis: Ścieżka do wiadomości dnia (Motd). Zawartość pliku (jeśli plik istnieje) jest wysyłana użytkownikom po zalogowaniu się. Ta ścieżka jest względna do katalogu domowego użytkownika.
Wartości:
"/.ftpmotd" - domyślna
Nazwa: RESOLVE_UIDS
Opis: Gdy ta opcja jest włączona, nazwy użytkowników i grup są pokazywane zamiast zwykłych ich numerów (UID/GID). To może minimalnie zwolnić wyświetlanie zawartości dużych katalogów.
Wartości:
"yes" - (domyślna) pokazuje nazwy użytkowników i grup.
"no" - pokazuje numery użytkowników i grup.
Nazwa: DO_CHROOT
Opis: Gdy ta opcja jest włączona ("yes"), klient nie może wyjść poza katalog chroot. Wyłączenie opcji można traktować jako lukę bezpieczeństwa.
Wartości:
"yes" - (domyślna) rekomendowana - użytkownicy zostają w swoim katalogu domowym.
"no" - (niezalecana) pozwala na dostęp do dowolnego katalogu na serwerze.
Nazwa: LOG_WTMP
Opis: Włącz tę opcję, aby logować próby logowania w wtmp. To może być przydatne do audytów bezpieczeństwa.
Wartości:
"yes" - (domyślna) Wysyła informacje o próbach logowania do wtmp.
"no" - Nie loguje do wtmp.
Nazwa: BIND_TO_ADDR
Opis: Jeśli chcesz, żeby bftpd bindował się na jeden konkretny interfejs sieciowy, podaj tu jego adres. Możesz także użyć "any" aby bftpd wziął pierwszy dostępny interfejs. Ta opcja działa tylko w trybie demona.
Wartości:
"any" - (domyślna) Bierze pierwszy dostępny interfejs sieciowy.
"Twój adres IP" - próbuje bindować się na podanym adresie.
Nazwa: PATH_FTPUSERS
Opis: Ta opcja wskazuje plik (ftpusers), który zawiera listę użytkowników, którzy nie mogą logować się na serwer. Jeśli chcesz aby każdy mógł się logować, możesz podać tu nieistniejący plik.
Wartości:
"/etc/ftpusers" - domyślna
Nazwa: AUTH_ETCSHELLS
Opis: Włącz tę opcję jeśli chcesz zabronić logować się użytkownikom, których shell nie występuje w /etc/shells.
Wartości:
"no" - (default) pozwala logować się każdemu użytkownikowi
"yes" - Zabrania logować się użytkownikom bez shella w /etc/shells
Nazwa: ALLOWCOMMAND_
Opis: Przy użyciu opcji ALLOWCOMMAND_XXXX, możesz wyłączyć polecenie XXXX. Przykładowo, jeśli nie chesz, żeby użytkownik kasował pliki, możesz podać: ALLOWCOMMAND_DELE="no" Możliwe jest także wyłączenie komend dla specyficznych użytkowników, używając tych opcji na dole pliku konfiguracyjnego. Zerknij do sekcji Wartości na kilka przykładów.
Wartości:
ALLOWCOMMAND_DELE="no" - zabrania kasować i nadpisywać pliki
ALLOWCOMMAND_STOR="yes" - pozwala na umieszczanie plików na serwerze
ALLOWCOMMAND_SITE="yes" - pozwala na użycie komendy site
ALLOWCOMMAND_RETR="no" - zabrania ściągać pliki użytkownikowi
Nazwa: HIDE_GROUP
Opis: Pliki, które należą do tych grup (oddzielanych przecinkiem) są chowane w przypadku LIST/NLST. Ta opcja może być pomocna w systemach, gdzie bftpd może mieć dostęp do plików systemowych.
Wartości:
"" - (pusty string) domyślna. Nie ukrywa żadnych plików.
"root" - chowa pliki należące do grupy root.
Nazwa QUIT_MSG
Opis: Wartość tego pola zawiera komunikat przesyłany klientowi, kiedy użyje komendy "quit".
Wartości:
"See you later..." - domyślna.
Można tu podać dowolną wiadomość, pod warunkiem, że zmieści się w jednej linii pliku konfiguracyjnego.
Nazwa: USERLIMIT_GLOBAL
Opis: Określa ilość jednoczesnych połączeń z serwerem FTP. Jeśli ustawiona na "0", nie ma limitu jednoczesnych połączeń. To ustawienie nie jest polecane, ponieważ wprowadza możliwość ataków DoS, nawet jeśli użytkownicy są szybko wyrzucani.
Wartości:
"0" - (zero) domyślna i nie zalecana.
Na większości małych serwerów, liczba ta powinna być względnie niska ("20") ale powyżej ("5").
Nazwa: USERLIMIT_SINGLEUSER
Opis:
Ta opcja określa, jak wiele połączeń może nawiązać jeden użytkownik jednocześnie. To pozwala doprowadzić do sytuacji, kiedy aktywnych jest wiele jednoczesnych połączeń, ale inicjowanych przez różnych użytkowników.
Wartości:
"0" - (zero) domyślna. Pozwala na nielimitowaną ilość połączeń z jednego konta.
Nazwa: USERLIMIT_HOST
Opis: Ta opcja określa ilu użytkowników może podłączać się z tego samego adresu IP. Pozwala to uniknąć sytuacji gdy jeden użytkownik zajmie wszystkie możliwe połączenia. Jeśli chcesz pozwolić na nielimitowaną ilość połączeń, ustaw "0".
Wartości:
"0" - (zero) domyślna wartość, pozwala na nielimitowaną ilość połączeń z jednego IP.
Nazwa: GZ_UPLOAD
Opis: Ta opcja pozwala na kompresowanie plików w locie w trakcie uploadu. Plik otrzyma rozszerzenie ".gz". Zwykle ta opcja jest wyłączona, jednak może być przydatna w przypadku serwerów z mniejszą ilością przestrzeni dyskowej. Aby włączyć tę opcję, ustaw parametr na "yes".
Aby z tej opcji móc skorzystać, bftpd musi być skonfigurowany przy użyciu
"./configure --enable-libz" przed "make".
Wartości:
"no" - domyślna (rekomendowana dla większości zastosowań)
"yes" - Wymuszenie pakowania plików podczas transferu.
Nazwa: GZ_DOWNLOAD
Opis: Ta opcja pozwala na rozpakowywanie plików podczas ściągania Pliki z rozszerzeniami ".gz" będą rozpakowywany w trakcie wysyłki klientowi. Zwykle ta opcja powinna być wyłączona ("no"), ale w przypadku serwerów z wieloma skompresowanymi plikami można ją włączyć ("yes").
Aby jej używać, bftpd musi być skonfigurowane
"./configure --enable-libz" przed uruchomieniem "make".
Wartości:
"no" - domyślna (rekomendowana)
"yes" - Rozpakowywanie plików w trakcie wysyłki.

Next Wstecz Zawartość