środa, 07 stycznia 2009 
Start arrow FreeBSD arrow FTP arrow vsftpd - Very Secure FTP Server
Menu BSD4u
FreeBSD
OpenBSD
NetBSD
Dla *BSD
FAQ BSD4u
Forum BSDGuru.org
Security Advisory
Licencje
Images BSD
Menu ogólne
Start
Aktualności
Download
Sondy
Szukaj
Linki
Książki
About BSD4u
Info
Team BSD4u
Regulamin
Kanał #BSD4u
Kontakt
Sondy
Co sądzisz o naszym nowym Projekcie, i jak oceniasz zmianę koncepcji Projektu?
 
Popularne
Kompilacja i konfigu...
SQUID - najpopularni...
Neostrada+ i modem ...
NATowanie czyli jak ...
Samba - serwer plikó...
Upgrade systemu
Apache (konfiguracja...
Praktyczne IPFW
MRTG - statystyki ru...
CVSup - pomocny podc...
Neostrada na modemie...
Postfix z autoryzacj...
Postfix - bezpieczny...
System Portów (Kolek...
Dummynet - dzielenie...
Top Download
File icon Postfix - "Krok po kroku" v1.16860
File icon Postfix - "Krok po kroku" v1.06618
File icon PPTPd - "Prosty i szybki VPN" v1.0b6108
File icon sdi.sh3848
File icon uEagle 1.0p12966
File icon named.sh2910
File icon uEagle 0.99b2865
File icon cs.sh2786
File icon uEagle 1.02753
File icon uEagle 1.12558
Ostatnie komentarze
transparent a virus...
Dodał: grzywka18
Dnia: 2008-05-13 11:19:58
hmm
Dodał: dzibi
Dnia: 2007-12-12 10:01:14
Bez tytułu
Dodał: grzywka18
Dnia: 2007-12-11 17:46:06
Bez tytułu
Dodał: termid
Dnia: 2007-05-09 18:01:11
Bez tytułu
Dodał: sarelo33
Dnia: 2006-12-30 23:50:14
Jest ok ale..
Dodał: theviant
Dnia: 2006-11-16 08:10:05
Google

Google


Newsletter
Zapisz się na nasz newsletter, jeżeli chcesz być na bieżąco informowany o aktualnościach..




vsftpd - Very Secure FTP Server - 1. Instalacja i konfiguracja Drukuj E-mail
Oceny: / 21
KiepskiBardzo dobry 
czwartek, 10 czerwca 2004 - Napisał: Tomasz Stała (21100 odsłon)
Spis treści
1. Instalacja i konfiguracja
2. Uruchamianie serwera ftp
3. Dodatkowe opcje

1. Czym jest vsftpd ?

"vsftpd - probably the most secure and fastest FTP server for UNIX-like systems"

Jest to prawdopodobnie najbezpieczniejszy i najszybszy UNIX'owy serwer FTP. Jego zaletami są m.in. prostota konfiguracji (bardzo szybko możemy postawić bardzo wydajny i bezpieczny serwer FTP), szybkość (transfer jest o wiele większy niż w przypadku innych serwerów ftp). Dodatkowo warto wspomnieć, że w jego kodzie nie znaleziono "błędów krytycznych". Używany jest m.in. na serwerach ftp.redhat.com, ftp.openbsd.org, ftp.suse.com, ftp.ximian.com, ftp.kde.org, ftp.debian.org, ftp.gnome.org, ftp.gnu.org i inne, co potwierdza tezę, że vsftpd jest zaufanym i dojrzałym narzędziem. Sama nazwa mówi za siebie - "vs" jest skrótem od Very Secure. Jeżli chcesz mieć bezpieczny, wydajny i stabilny serwer FTP, powiniene. spróbować vsftpd. Opisana tu instalacja i konfiguracja tyczy się systemu FreeBSD, ale jest bardzo podobna w przypadku innych UNIX'owych systemów.

2. Instalacja

Proponowałbym zaopatrzenie się w najnowszą wersję źródeł demona, którą powinieneś znaleźć na stronie http://vsftpd.beasts.org/. Możesz także użyć do jego instalacji portów, wydajemy więc poniższe polecenia:

# cd /usr/ports/ftp/vsftpd
# make build && make install && make clean

Gdy vsftpd zainstalował się bez żadnych problemów, to możemy teraz przejść do jego konfiguracji, przed tym jednak sprawdź jeszcze czy nie masz już uruchomionego jakiegoś innego serwera FTP, jeżeli tak - wyłącz go.

Wypadało by też utworzyć nowego użytkownika oraz grupę, aby serwer nie był uruchamiany z poziomu root'a (ze względu na bezpieczeństwo). Wydajemy więc następujące polecenia:

# pw groupadd -g 75 -n ftp
# pw useradd -u 75 -g ftp -c "FTP Service" -d /home/ftp -m -s /sbin/nologin -n ftp

Będziemy też potrzebować pustego katalogu, do którego użytkownik `ftp` nie będzie miał prawa dostępu. Do czego on się przyda opiszę poniżej. Niech tym katalogiem będzie /var/chroot/vsftpd. Aby utworzyć ten katalog wydajemy następujące polecenie:

# mkdir /var/chroot/vsftpd/

Po wykonaniu powyższych czynności możemy przejść do konfiguracji, która jak już opisałem wcześniej jest bardzo prosta.

3. Konfiguracja

Format, w jakim są zapisywane opcje konfiguracyjne wygląda następująco:

opcja=wartość

Zauważ, że nie ma spacji pomiędzy znakiem `=`, a nazwą opcji oraz wartości. Takiej koncepcji należy się trzymać przy konfigurowaniu vsftpd.

Aby wszystko w naszym systemie było w miarę uporządkowane, proponuję już na początku utworzyć katalog `vsftpd`, w którym będą znajdować się wszystkie potrzebne nam pliki konfiguracyjne (tj. userlisty, bannery) o tym w dalszej części artykułu. Na razie zajmiemy się konfiguracją. Edytujmy więc plik vsftpd.conf. (np. edytorem VI):

# mkdir /usr/local/etc/vsftpd
# vi /usr/local/etc/vsftpd.conf

Rozdział ten podzieliłem na 2 podrozdziały, w których opiszę kolejno serwer do zastosowań "domowych" oraz serwer dla anonimowych użytkowników".

3.1. Podstawowa konfiguracja

Poniżej został przedstawiony plik zawierający podstawową konfigurację vsftpd, ze względów bezpieczeństwa serwera zabronimy użytkownikom poruszania się po całym systemie. Inaczej mówiąc ograniczymy możliwość poruszania się do jego katalogu domowego. Oto przykładowa zawartość takiego pliku:

--- vsftpd.conf ---

# Ustawiamy tutaj, z poziomu jakiego użytkownika ma być uruchamiany nasz serwer:
nopriv_user=ftp

# Uruchomienie serwera w trybie standalone. Jeśli chcemy aby nasz vsftpd był
# uruchamiany w trybie inetd, rezygnujemy z tej opcji, ponieważ domyślnie jest
# ona ustawiona na "NO": l
isten=YES

# Definiujemy, tutaj na jakim porcie ma nasłuchiwać serwer (domyślnie jest to port 21):
listen_port=21

# Zabronienie logowania anonimowych użytkowników:
anonymous_enable=NO

# Zezwolenie logowania dla lokalnych użytkowników
local_enable=YES

# Pozwolenie do zapisu we własnym katalogu
write_enable=YES

# Umask (022 jest używany przez większość serwerów ftp)
local_umask=022

# Włączenie logowania
xferlog_enable=YES

# Ścieżka do pliku z logami
xferlog_file=/var/log/xferlog.log

# Logi w formacie xferlog (jest wykorzystywany m.in. przez wu-ftpd)
xferlog_std_format=YES

# Maksymalna liczba połączonych użytkowników
max_clients=5

# Maksymalna liczba użytkowników mogących się połączyć z tego samego adresu IP
max_per_ip=2

# Banner, który będzie wyświetlany przy każdym połączeniu z serwerem
ftpd_banner=Prywatny serwer FTP - Powered by: vsftpd

# Userzy nie mogą wychodzić poza swój katalog domowy
chroot_local_user=YES

# Ustawiamy katalog dla chroot'a:
secure_chroot_dir=/var/chroot/vsftpd

# Lista użytkowników, którzy mogą wychodzić poza swój katalog domowy,
# musisz utworzyć ten plik.
# np: touch /var/chroot/vsftpd/vsftpd.chroot_list
# Dodanie użytkownika odbywa się poprzez dopisanie nazwy usera do tego pliku.
# np: echo "tomek" >> /var/chroot/vsftpd/vsftpd.chroot_list
chroot_list_enable=YES
chroot_list_file=/var/chroot/vsftpd/vsftpd.chroot_list

--- end of vsftpd.conf ---

Zapisujemy ustawienia (ESC + :wq). Jeśli to nam na razie wystarczy, przechodzimy do kolejnego rozdziału dotyczącego uruchamiania vsftpd. Jeśli chcemy utworzyć drugi serwer, który będzie przeznaczony tylko i wyłącznie dla anonimowych użytkowników - czytamy dalej.

3.2. Konfiguracja ftp dla anonimowych użytkowników

Utworzymy sobie najpierw drugi plik konfiguracyjny, który będzie nosił nazwę np. `vsftpd2.conf`:

# touch /usr/local/etc/vsftpd/anonymous.conf
# vi /usr/local/etc/vsftpd/anonymous.conf

Następnie edytujemy go i ustawiamy w nim następujące opcje:

--- anonymous.conf ---

# Nazwa użytkownika, z pod którego będziemy uruchamiali vsftpd
nopriv_user=ftp
# Uruchamianie w trybie standalone
listen=YES

# Port, na którym będzie nasłuchiwał nasz anonimowy ftp
# (ustawiamy tą wartość według własnych potrzeb):
listen_port=2121

# Nazwa użytkownika, który będzie odpowiedzialny za obsługę anonimowego ftp
# Jego katalog domowy, będzie jednocześnie katalogiem domowym dla anonimowych użytkowników:
ftp_username=ftp

# Katalog dla chroot'a:
secure_chroot_dir=/var/chroot/vsftpd

# Zabraniamy logowanie na lokalnych użytkowników:
local_enable=NO

# Zezwalamy na logowanie się na anonimowego użytkownika (anonymous):
anonymous_enable=YES

# Serwer nie będzie pytał o hasło, podczas logowania na anonymous:
no_anon_password=YES

# Pozwalamy na download plików, które będą miały ustawione prawa do odczytu (readable):
anon_world_readable_only=YES

# Zabraniamy na upload plików:
anon_upload_enable=NO

# Ukrywamy prawdziwych użytkowników oraz grup dla plików lub katalogów
# (vsftpd zamieni je na nazwy użytkownika odpowiedzialnego za anonimowy ftp):
hide_ids=YES

# Ustawiamy komunikat powitalny:
ftpd_banner=Anonimowy serwer FTP - Powered by: vsftpd

# Logowanie w standardzie vsftpd:
xferlog_enable=YES
xferlog_std_format=NO
vsftpd_log_file=/var/log/vsftpd.log

--- end of anonymous.conf ---

Tak skonfigurowany serwer jest gotowy do uruchomienia, jak to zrobić opisane jest poniżej w kolejnym rozdziale. Oczywiście możesz powyższy przykład zmodyfikować według własnych upodobań. Jest jeszcze jedna ważna rzecz, o której warto wspomnieć przy anonimowym serwerze ftp, mianowicie sprawa uploadu plików. Aby użytkownicy mogli wysyłać pliki na nasz serwer musimy utworzyć nowy katalog np. `upload` i nadać mu odpowiednie prawa do odczytu i zapisu. Katalog powinien znajdować się w katalogu domowym użytkownika ftp (odpowiadającego za anonimowy serwer ftp):

# mkdir /home/ftp/upload
# chown ftp:ftp /home/ftp/upload

Następnie do pliku anonymous.conf dodajemy lub modyfikujemy następujące opcje:

# Pozwolenie do zapisu w domowym katalogu:
write_enable=YES

# Zezwolenie do uploadu plików:
anon_upload_enable=YES

# Pozwolenie anonimowemu użytkownikowi do tworzenia nowych katalogów:
anon_mkdir_write_enable=YES

# Pozwolenie do modyfikacji plików/katalogów (nadpisywanie/kasowanie/zmiana nazwy):
anon_other_write_enable=YES

# Domyślny umask dla plików utworzonych przez użytkowników korzystających z anonimowego ftp:
anon_umask=022

Oczywiście korzystanie z powyższych opcji będzie możliwe jedynie w katalogu, który będzie zawierał odpowiednie prawa do zapisu w katalogu domowym użytkownika ftp.

Po zapoznaniu się i poprawnym skonfigurowaniu vsftpd zapraszam do przeczytania kolejnego rozdziału poświęconemu uruchamianiu tego demona.



Ostatnio aktualizowany ( piątek, 11 listopada 2005 )

dalej »
Ciekawostki
By otrzymać plik man ale w formacie PostScript, użyj flagi ``-t'' do programu man(1): ``man -t ''. Na przykład:
% man -t grep > grep.ps # Zapisz wersję PS do pliku
lub
% man -t printf | lp # Wyślij wynik do drukarki
Pobierz
FreeBSD
OpenBSD
NetBSD
DragonFlyBSD
PC-BSD
FreeSBIE LiveCD
4.4BSD Lite
Reklama M3M.pl
Domeny
Książki

FreeBSD. Księga eksperta

FreeBSD. Księga eksperta

Cena: 125.00 zł
Dodaj do koszyka


FreeBSD. Podstawy administracji systemem

FreebBSD

Cena: 64.90 zł
Dodaj do koszyka


OpenBSD. Podstawy administracji systemem

OpenBSD

Cena: 84.90 zł
Dodaj do koszyka


OpenBSD. Tworzenie firewalla za pomocą PF

Firewall PF

Cena: 44.90 zł
Dodaj do koszyka

Licznik odwiedzin
Odwiedziło już nas
2587964
Internautów od lutego 2003

Korzystamy ze statysyk