|
Artykuł ten jest oparty na tekście Pana Rafała Zająca ze strony www.eioba.pl. Opisuje on konfigurację serwera ProFTP na Slackware Linux.
Po zainstalowaniu serwera z paczki .tgz można od razu przejść do jego konfiguracji. Najpierw jednak worzymy katalogi w których będą gromadzone dane i nadajemy im odpowiednie prawa do zapisu i odchytu wydając kolejno polecenia w konsoli.
mkdir exchange mkdir -p ftp/pub/uploads chown root.users exchange chown root.ftp ftp chown ftp.ftp ftp/pub chown ftp.ftp ftp/pub/uploads chattr +T exchange chmod 1770 exchange chmod 0750 ftp chmod 0550 ftp/pub chmod 0770 ftp/pub/uploads Konfigurację samego serwera przeprowadza się edytując plik /etc/proftpd.conf. Więc wyedytujmy ten plik i zamieśćmy tam poniższe wpisy # proftpd.conf 0.1 2004/12/8 18:49:26 (Rafal Zajac) # # proFTPD Configuration file by Rafal Zajac # Downloaded from http://www.slackware.prv.pl # # Copyright (C) 2004 Rafal Zajac <rzajac{at}gmail{dot}com> # Released under the GPL v2 only.
# Uruchamiamy serwer jako samodzielny proces ServerType standalone DefaultServer on
#------------------ Bannery -------------- # Wyswietlamy powitanie jeszcze przed logowaniem uzytkownika DisplayConnect /etc/ftpconnect.msg
# Wyswietlamy powitanie po zalogowaniu DisplayLogin ../.ftplogin.msg
# AccessDenyMsg "Access to this server has been denied. \ If you feel this rejection is in error please contact rzajac@gmail.com. \ This failed logon has been logged."
#--------------- Bannery end -------------
# Informacje dotyczace programu serwera ServerIdent on "Ftp Server"
# Zapobiegamy atakom DoS MaxInstances 50
# Maksymalna ilosc uzytkownikow MaxClients 30
# Zezwalamy na dokonczenie przerwanego pobierania pliku AllowRetrieveRestart on
# Zezwalamy na dokonczenie przerwanego wysylania pliku AllowStoreRestart on
# Podajemy na ktorym porcie ma nasluhiwac serwer (domyslnie 21) Port 21
# Definiujemy porty jakie beda uzywane dla polaczen pasywnych PassivePorts 60000 61000
# Maska z jaka beda tworzone pliki i katalogi na serwerze Umask 0177 0077
# Uzytkownik i grupa do ktorych bedzie nalezal proces serwera po uruchomieniu User ftp Group ftp
# Gdzie i jak serwer bedzie przechowywal logi SystemLog /var/log/proftpd.log TransferLog /var/log/xferlog LogFormat default "%h %l %u %t \"%r\" %s %b" LogFormat auth "%v [%P] %h %t \"%r\" %s" LogFormat write "%h %l %u %t \"%r\" %s %b"
# Zamykamy zalogowanych uzytkownikow w tzw. chroot jail # w zaleznosci od grupy DefaultRoot /home users DefaultRoot /home/ftp ftp
# Pozwalamy na nadpisywanie plikow w katalogu domowym <Directory ~> AllowOverwrite on </Directory>
# Konfiguracja katalogu uploads <Directory /home/ftp/pub/uploads/*> # Zaden uzytkownik nie moze nadpisac, skasowac # lub przeczytac plikow w katalogu uploads <Limit READ DELE RNFN RNTO> DenyAll </Limit>
# Kazdy moze dodac plik do katalogu uploads <Limit STOR> AllowAll </Limit>
</Directory>
# Konfiguracja dla uzytkownikow anonimowych <Anonymous ~ftp>
# Kazdy moze sie zalogowac <Limit LOGIN> AllowAll </Limit>
# Maksymalna ilisc uzytkownikow anonymous # jednoczesnie na serwerze MaxClients 5 "Przykro mi maksymalna ilosc uzytkownikow %m -- sprobuj ponowne za jakis czas"
# Uzytkownik i grupa do ktorych bedzie nalezal # proces serwera po uruchomieniu User nobody Group nobody
# Uzytkownik "anonymous" = "ftp" UserAlias anonymous ftp
# Nic nie moze byc zapisane w katalogach # udostepnionych temu uzytkownikowi <Limit WRITE> DenyAll </Limit>
# Konfiguracja katalogu uploads <Directory uploads/*>
<Limit READ> DenyAll </Limit>
<Limit STOR> AllowAll </Limit> </Directory>
</Anonymous> Zapisujemy wprowadzone zmiany i dodajemy wpis do /etc/rc.d /rc.local aby proftp startował automatycznie wraz z restartem naszego komputera. echo uruchamiany jest serwer proftpd /usr/sbin/proftpd i zapisujemy zmiany Serwer oczywiście można uruchomić z konsoli wydając polecenie proftpd. Dla osób lubiących grzebać w konfigach, a także dla tych którzy chcą konfigurację bardziej dostosować do swoich potrzeb podaje za co odpowiadają poszczegulne komendy w konfigu. -
ServerName Wyświetla nazwę serera userom łączącycm się do ftp. -
ServerIdent wyświetla wiadomość powitalną podczas połączenia, np. zawartości pliku .message. -
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ść. -
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. -
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 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 - przyporządkowuje nazwę użytkownika do systemowego konta. -
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.
Uruchomienie serwera jak widać jest banalnie proste. Na koniec jeszcze mała uwaga jako że serwer nie wprowadza limitów danych jakie może user zamieścić zachodzi potrzeba skonfigurowania i uruchomienia quota aby nie okazało się, że jakiś maniak zapcha nam cały dysk swoimi danymi. |