Bociek PLD - Pisarz
I. Informacje podstawowe
II. Instalacja
III. Podręcznik użytkownika
IV. Podręcznik administratora
Usługi dostępne w PLD
ProFTPD - serwer FTP
V. Tworzenie PLD - Praktyczny poradnik
VI. O podręczniku
O tej książce
Spis treści
Inne wersje tego dokumentu
HTML (jeden plik)
Odnośniki
Tworzymy dokumentację PLD
Strona PLD
Listy dyskusyjne PLD

ProFTPD - serwer FTP

<- ->
 

Wstęp

Dużą zaletą ProFTPD jest jego prostota. Plik konfiguracyjny demona do złudzenia przypomina ten od Apache. Jego zrozumienie nie powinno sprawiać trudności.

Instalacja

Zanim przystąpisz do instalacji powinieneś zdecydować w jakim trybie ma pracować usługa. Jako demon, czy ma być uruchamiana poprzez superserwer inetd. Tryb inetd polega na tym, że proces proftpd zostanie uruchomiony dopiero po odebraniu przez inetd żądania o tę usługę. Natomiast w trybie daemon ProFTPD jest uruchomiony cały czas i pracuje niezależnie od inetd. Tak więc, jeżeli Twój komputer, który przeznaczysz na serwer nie jest zbyt szybki, powinieneś wybrać ProFTPD uruchamianego poprzez inetd. Dystrybucja udostępnia obie te możliwości. Pakiet proftpd-inetd zapewnia uruchamianie poprzez inetd, natomiast po zainstalowaniu usługi z pakietu proftpd-standalone uruchamiana ona będzie w trybie daemon. W opisie posłużymy się wersją daemon. Instalujemy pakiet proftpd-standalone

Podstawowa konfiguracja demona

Jak już wspomniałem we wstępie, ProFTPD jest jednym z prostszych w konfiguracji programów serwerowych. Wszystkie pliki potrzebne do jego skonfigurowania znajdują się w katalogu /etc/ftpd.

# ls -1 /etc/ftpd
ftpusers
proftpd.conf

W pliku ftpusers znajduje się lista użytkowników, którym odebrana została możliwość logowania się do serwera ftp. Poszczególne pozycje z tej listy zakończone są znakiem nowej linii, tak więc każda pozycja jest rozmieszczona jedna pod drugą. Natomiast plik proftpd.conf zawiera właściwą konfigurację usługi.

ServerName                      "ProFTPD"
ServerIdent                     off
ServerType                      standalone
DeferWelcome                    off
DefaultServer                   on
DefaultRoot                     ~

  • ServerName określa nazwę serwera wyświetlaną łączącym się z nim użytkownikom.

  • ServerIdent pozwala na wyświetlenie wiadomości powitalnej podczas połączenia, np. zawartości pliku .message. Domyślnie wyłączona.

  • ServerType ustawia tryb pracy demona ProFTPD

  • DeferWelcome Nie pokazuje wiadomości powitalnej dopóki użytkownik się nie zautoryzuje.

  • DefaultServer Określamy konfigurację jako domyślną

  • DefaultRoot Wyznaczamy nadrzędny dla każdego użytkownika katalog spoza którego nie będzie mógł wyjść. W listingu powyżej będzie to katalog domowy.

Poniżej znajduje się szereg zakomentowanych opcji pozwalających na konfigurację połączeń bezpieczną metodą przy użyciu SSL. Jeżeli jesteś zainteresowany ich użyciem powinieneś zapoznać się z dokumentacją on line serwera ProFTPD. Przechodzimy teraz do dalszej konfiguracji.

Port                            21
Umask                           022
User                            ftp
Group                           ftp
AuthPAMAuthoritative            on

  • Port Definiujemy tutaj port na którym serwer będzie oczekiwał nadchodzących połączeń

  • Umask Tryb umask 022 jest typowym standardem dla ogolnie dostępnych plików i katalogów

  • User Konto użytkownika na którego uprawnieniach pracuje usługa

  • Group Grupa do której należy konto użytkownika usługi

  • AuthPAMAuthoritative Dajemy możliwość autoryzacji użytkowników poprzez moduł PAM jeśli jest to możliwe.

Przedstawione tutaj wartości poszczególnych opcji są domyślnie ustawiane w pliku konfiguracyjnym w trakcie instalacji pakietu. Jak najbardziej możesz z nich korzystać. Na pewno nie powinieneś zmieniać takich ustawień jak użytkownik czy grupa, port oraz sposób autoryzacji.

Konfiguracja dostępu

<Directory />
	AllowOverwrite          on
</Directory>

Zezwalamy na nadpisywanie plików w obrębie katalogu do którego użytkownik się zaloguje. Poniżej w pliku znajduje się przykładowa konfiguracja dla użytkownika anonimowego. Sekcja mieści się wewnątrz znacznika <Anonymous ~ftp></Anonymous>. Poniższy wykaz omawia najczęściej wykorzystywane dyrektywy w tej sekcji.

User			ftp
Group			ftp
AnonRequirePassword	off
RequireValidShell	off

  • User - konto użytkownika którego prawa będzie uzyskiwała osoba logująca się do serwera

  • Group - grupa do której należy powyższe konto.

  • AnonRequirePassword - w powyższym przykładzie wyłączona. Umożliwia użytkownikom anonimowym logowanie się bez hasła.

  • RequireValidShell - opcja ta powoduje, że ProFTPD nie sprawdza czy dany użytkownik, który się loguje posiada przypisaną w /etc/shells powłokę.

UserAlias		anonymous ftp
MaxClients		10
DisplayLogin		welcome.msg
DisplayFirstChdir	.message
AllowStoreRestart 	on

  • UserAlias - przyporządkowuje nazwę użytkownika do systemowego konta. W przykładzie anonymous został przypisany kontu ftp.

  • MaxClients - ilość jednoczesnych połączeń anonimowych które będą realizowane przez serwer.

  • DisplayLogin - określamy plik którego zawartość będzie wyświetlana po starcie.

  • DisplayFirstChdir - plik którego zawartość będzie wyświetlana po pierwszym wejściu do katalogu.

  • AllowStoreRestart - pozwala klientom wznawiać upload.

<Limit WRITE>
	DenyAll
</Limit>

Zabraniamy klientom pisania do katalogu /home/services/ftp/pub.

<Directory /home/services/ftp/pub/Incoming>
	<Limit READ>
		DenyAll
	</Limit>
	<Limit WRITE>
		AllowAll
	</Limit>
	<Limit STOR>
		AllowAll
	</Limit>
</Directory>

Katalogowi Incoming zostały precyzyjnie określone prawa dostępu. W powyższym przykładzie każdy ma dostęp do zapisu w tym katalogu natomiast nikt nie posiada prawa do jego odczytywania.

Zakończenie

Dostęp do serwera ftp możemy ograniczać na kilka sposobów. Można limitować ilość jednoczesnych połączeń, stworzyć listę adresów IP, które będą miały prawo do zapisu czy odczytu określonych katalogów.

Na tym zakończymy podstawową konfigurację serwera ProFTPD. Więcej informacji na jego temat znajdziesz na stronach z jego dokumentacją.

 
&lt;- ->