Miesięczne archiwum: Sierpień 2011

Instalacja Pure-ftpd – autoryzacja z pliku

Instalujemy pure-ftpd

apt-get install pure-ftpd

Blikujemy możliwość logowania z kont innych niż zapisanych w pliku poprzez zmianę wartości z YES na NO w pliku:

/etc/pure-ftpd/auth/70pam

Tworzymy symlinka do pliku z hasłami. W moim przypadku plik jest w lokalizacji
/etc/pure-ftpd/conf/PureDB, a będąc w folderze /etc/pure-ftpd/auth wydaję komendę:

ln -s ../conf/PureDB 50pure

W folderze /etc/pure-ftpd/conf tworzę taką strukturę plików:

AltLog
ChrootEveryone
MinUID
NoAnonymous
PAMAuthentication
PureDB
UnixAuthentication

Gdzie:
AltLog – zawiera informację gdzie będą zapisywane logi z transferu np. clf:/var/log/pure-ftpd/transfer.log
ChrootEveryone – czy każdy użytkownik ma być traktowany jako oddzielna część systemu np. yes
MinUID – minimalny UID użytkownika, czyli jaki może mieć UID systemowy. Ja daję taki jak jest www-data, gdyż najczęściej takiego używam, jednak dla większego zabezpieczenia powinno tworzyć się strukturę większą niż 1000, i dawać dostępy za pomocą ustawień przynależności użytkowników do grup.
NoAnonymous – blokowanie możliwości logowania na konta anonymous, np. yes
PAMAuthentication – czy włączyć uwierzytelnianie za pomocą mechanizmu PAM, np. no
PureDB – czy włączyć uwierzytelnianie za pomocą pliku, np. /etc/pure-ftpd/pureftpd.pdb
UnixAuthentication – czy włączyć uwierzytelnianie za pomocą kont systemowych, np. no

Tak ustawione dane pozwalają na podstawową ochronę.

Teraz są dwie możliwości co do sposobu działania serwera, jako usługa działająca cały czas, lub jako demon uruchamiany po zgłoszeniu się na port.
Ja ustawiam jako działający cały czas zatem należy w tym przypadku zrobić:
Za komentować wpis ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper w plik /etc/inetd.conf
Zmienić wpis w pliku /etc/default/pure-ftpd-common z : STANDALONE_OR_INETD=inetd na STANDALONE_OR_INETD=standalone

Teraz można uruchomić ponownie komendą:

invoke-rc.d pure-ftpd restart

Zostało tylko założenie konta.

pure-pw useradd ftpwww -u ww-data -g www-data -d /var/www/ -m

I teraz można cieszyć się FTP.

UWAGA do poprawnego działania potrzebny jest dobrze ustawiony firewall.