Linux BSD
Strona główna

Czym jest FreeBSD

No ip

Instalacja oprogramowania w linuxie

Instalacja samby

konfiguracja vsftpd



Instalacja serwera VSFTP pod FreeBSD

w tym artykule postaram się opisać sposób instalacji serwera VSFTP w środowisku FreeBSD, opis będzie oparty na FreeBSD w wersji 5.2 ale może być także z powodzeniem zastosowany do wersji 6.x.




DLACZEGO VSFTP?





Uważam, że VSFTP, jest jednym z najlepszych klientów dla UNIXa, w tym i FreeBSD, ma ogromne możliwości konfiguracyjne, jest też szybki i bardzo bezpieczny ( zgodnie ze swoją nazwą, gdyż VSFTP oznacza "very secure FTP", dodatkowym czynnikiem przemawiającym za VSFTP jest jego renoma, wielkie serwery takie jak : kernel.org, redhat.com czy Fedora.com, korzystają właśnie z VSFTP.





ZAŁOŻENIA :




zakładam, że czytelnik ma podstawową wiedzę z zakresu poruszania się po FreeBSD, tzn. zna polecenia takie jak : ls, mkdir itp. oraz potrafi poruszać się po jakimś edytorze tekstu.




Zaczynamy...





Najpierw musimy oczywiście pobrać źródła naszego serwera, najprościej będzie wykorzystać wersję z portów, a więc wydajemy polecenia :

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


Po jakimś czasie na naszym dysku pojawi się zainstalowany serwer, teraz pozostaje nam go skonfigurować, musimy najpierw jednak utworzyć użytkownika, z poziomu którego uruchamiany będzie nasz serwer, tak by nie był on uruchamiany z poziomu roota, wydajemy więc 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





Jak widać z powyższego utworzyliśmy grupę ftp i użytkownika ftp, w tejże grupie, z katalogiem domowym /home/ftp i bez prawa do logowania się na Stella. Powinniśmy jeszcze utworzyć katalog, który będzie środowiskiem chroot-owanym dla użytkowników FTP, wydajemy więc polecenie





# mkdir /var/vsftpdir/




Teraz musimy utworzyć plik konfiguracyjny serwera vsftpd.conf w jakimś katalogu wydając np. polecenia :




mkdir /var/vsftp


mkdir /usr/local/etc/vsftpd


touch /usr/local/etc/vsftpd.conf




teraz trzeba go wyedytować jakimś edytorem, poniżej przedstawiam mój plik konfiguracyjny wraz z objaśnieniami, rozpoczynającymi się od #

nopriv_user=ftp


# Ustawiamy tutaj, z poziomu jakiego użytkownika ma być uruchamiany serwer

listen=YES


# opcja określa, że serwer FT ma być uruchamiany w trybie standa;pne

listen_port=21
Określamy na jakim porcie serwer ma nasłuchiwać



anonymous_enable=YES


# zezwalamy na anonimowy dostęp

local_enable=YES
# zezwalamy na logowanie na serwer lokalnie



write_enable=YES
# pozwalamy na zapis w katalogu użytkownika


local_umask=022
# definiujemy domyślną maskę dla plików


xferlog_enable=YES
# Włączenie logowania

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


max_clients=10
# Definiujemy maksymalną ilość połączeń z naszym serwerem


max_per_ip=1
# podobnie jak powyżej, ale określa liczbę połączeń z jednego IP


chroot_local_user=YES
# zabraniamy użytkownikom wychodzić po za swój katalog domowy

secure_chroot_dir=/var/vsftpdir/
# ustawiamy katalog główny w środowisku chroot-owanym


chroot_list_enable=YES
# Jeśli chcemy by niektórzy użytkownicy ( np. my ) mogła jednak wychodzić # # po za swój katalog domowy uaktywniamy tą opcję.




banner_file=/var/vsftp/banner


# określamy ścieżkę do pliku z bannerem ( tzn. komunikatem powitalnym
# serwera




chroot_list_file=/var/chrobot=/var/vsftp/userlist


# jeśli opcja powyżej została uaktywniona to tutaj musimy zdefiniować
# Ścieszkę go pliku z listą użytkowników




ftp_username=ftp


# nazwa użytkownika z jakim będą łączyć się anonimowi użytkownicy do
# naszego serwera ( katalog tego użytkownika będzie również katalogiem jaki # zobaczy użytkownik po zalogowaniu )




no_anon_password=YES


# użytkownik nie będzie pytany o hasło przy połączeniach anonimowych

anon_world_readable_only=YES


# zezwalamy anonimowym użytkownikom na download plików


anon_upload_enable=YES


# umożliwiamy zapis plików na serwer anonimowym użytkownikom




anon_mkdir_write_enable=YES


# pozwalamy anonimowym użytkownikom tworzyć nowe katalogi




anon_other_write_enable=NO


# zabraniamy użytkownikom modyfikowanie istniejących plików i katalogów




anon_umask=022


# domyślna maska dla plików zapisywanych przez anonimowego użytkownika




Teraz zapisujemy ustawienia, niestety, to jeszcze nie koniec, po pierwsze jeśli zdecydowaliśmy się na anonimowy upload na nasz serwer to teraz musimy utworzyć w katalogu /home/ftp jakiś katalog do którego nasi goście będą mogli "wrzucać" swoje pliki, oraz nadać temu katalogowi odpowiednie prawa dostępu, w tym celu wydajemy polecenia :




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


Gdy już to zrobimy pozostaje nam uruchomić nasz serwer w tym celu wydajemy polecenie touch /usr/local/etc/rc.d/ vsftpd.sh i wstaw do utworzonego w ten sposób pliku taki oto skrypt





#!/bin/sh
case $1 in
start)
/usr/local/libexec/vsftpd &
echo -n "start serwera"
;;
stop)
killall vsftpd
echo -n "wylaczanie serwera"
;;
reload)
killall vsftpd /usr/local/libexec/vsftpd &
echo -n "przeladowanie serwera"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac




Teraz restart systemu i nasz serwer powinien działać, zamiast restartować cały system można też wydać jedno z następujących poleceń




# /usr/local/etc/rc.d/vsftpd.sh start # start serwera
# /usr/local/etc/rc.d/vsftpd.sh stop # stop serwera
# /usr/local/etc/rc.d/vsftpd.sh reload # przeładowanie serwera


powered by jPO

Informacje zawarte na niniejszej stronie w całości pochodzą z serwisu Wikipedia.org