KONFIGURACJA
SERWERA FTP (PROFTPD)
1) Instalacja serwera
Najnowsza wersja serwera ProFTPd znajduje się pod adresem : ftp://ftp.proftpd.org/distrib/ Mamy tu możliwość ściągnięcia źródeł lub gotowych paczek zawierających serwer
ftp. W katalogu, który powstanie po rozpakowaniu źródeł programu wydajemy polecenie : ./configure [opcje] Najważniejsze opcje konfiguracyjne to : --prefix=/ścieżka - miejsce, w które zostanie zainstalowny nasz serwer ftp --with-modules=mod_moduł1:mod_moduł2:... - dodanie modułów : mod_pam - obsługa PAM (umożliwia obsługę użytkowników nie tylko jako anonymous) mod_ratio - włączenie ratio mod_readme - pozwala na obsługę plków README itp. mod_ldap - obsługa LDAP mod_sql - obsługa Sql --sysconfdir=/ścieżka - położenie pliku konfiguracyjnego (standardowo /usr/local/etc ) --localstatedir=/ścieżka - położenie plików dziennika zdarzeń (standardowo /usr/local/var) --enable-shadow - umożliwia korzystanie z pliku shadow zawierającego hasła użytkowników
Przykładowo polecenie to może wyglądać następująco : ./configure --prefix=/usr/local/proftpd --enable-shadow --with-modules=mod_pam Kompilację i instalację dokonujemy poprzez polecenia : make
Jeśli serwer został skompilowany z modułem pam, należy skopiować plik /contrib/ftpd.pamd na /etc/pam.d/ftp Następnym krokiem jest stworzenie katalogu ftp : mkdir /home/ftp i nadanie mu odpowiednich praw : chmod 755 /home/ftp
2) Uruchamianie i zatrzymywanie serwera Serwer ftp możemy uruchamiać na dwa sposoby :
Jeśli chcemy aby serwer uruchamiał się jako standalone należy na końcu pliku /etc/rc.d/rc.local umieścić linię ze ścieżką do naszego serwera : /usr/local/sbin/proftpd. Należy pamietać o wstawieniu znaku # przed linią odpowiadającą za uruchamianie serwera w pliku inetd.conf lub wstawić dyrektywę disable = yes w pliku z konfiguracją dla xinetd.
Aby serwer uruchamiany był tylko do obsługi przychodzących rządań (inetd) należy dodać odpowiednie wpisy do pliku superserwera (inetd lub xinetd). /etc/inetd.conf ftp stream tcp nowait root /usr/sbin/proftpd proftpd
/etc/xinetd.conf service ftp
Konfiguracja serwera ProFTPd polega podbnie jak konfiguracja APACHA na ustawianiu odpowiednich dyrektyw. Plikie konfiguracyjny serwera jest plik : /usr/local/etc/proftpd.conf
Najważniesze dyrektywy konfiguracyjne to :
ServerType typ serwera : standalone , inetd
ServerAdmin adres_administratora Zawiera adres e-mailowy administratora.
ServerName "nazwa serwera" Wyświetlana podczas logowania nazwa serwer.
User nazwa_użytkownika Określa właściciela uruchomionego serwera.
Group nazwa_grupy Określa grupę właściciela uruchomionego serwera.
MaxClients liczba_połączeń Określa maksymalną liczbę obsługiwanych jednocześnie połączeń ftp.
TransferLog /ścieżka/plik Okeśla miejsce zapisywania logów serwera dotyczących transferu plików.
DefaultRoot /ścieżka/katalog Określa katalog główny serwera.
AuthUserFile /ścieżka/plik Określa alternatywny plik passwd o identycznym formacie jak
systemowy plik /etc/passwd.
Umask maska Ustawia maskę z uprawnieniami dla nowo tworzonych plików i katalogów. Ósemkowy zapis praw dostępu :
<Anonymous root-directory> </Anonymous> Blok konfiguracyjny używany do udostępniania serwera ftp użytkownikom nie
posiadającym konta na serwerze - tzw. użytkownikom anonimowym.
<Directory /ścieżka/katalog> </Directory> Blok konfiguracyjny umożliwiający zmianę ustawień danego katalogu.
<Limit komenda grupa_komend> </Limit> Blok konfiguracyjny używany do określania szczegółowych restrykcji dotyczących wykonywania komend ftp wysyłanych przez klienta. Komendy : CWD , CDUP - zmiana katalogu Grupa komendy : READ - wszystkie komendy ftp wiążące
się z czytaniem pliku, np.: RETR, STAT
Allow from [all , network , host , domain] Dyrektywa ta jest używana wewnątrz bloku <Limit> i określa dla kogo będą
udostępnione odpowiednie komendy.
Deny from [all , network , host , domain] Dyrektywa ta jest używana wewnątrz bloku <Limit> i określa dla kogo będą zabronione odpowiednie komendy.
AllowAll Dyrektywa używana wewnątrz bloku <Limit> do udostępnienia wszystkim danej komendy lub grupy komend.
DenyAll Dyrektywa używana wewnątrz bloku <Limit> do zabronienia wszystkim danej komendy lub grupy komend.
<VirtualHost adres> </VirtualHost> Blok konfiguracyjny używany do tworzenia wydzielonych konfiguracji, które będą stosowane w stosunku do różnych nazw hostów lub adresów IP (na tym samym komputerze).
Przykładowy plik konfiguracyjny : proftpd.conf GRUPA MEDIA INFORMACYJNE & ADAM NAWARA |