Jak zainstalować i skonfigurować serwer FTP z wirtualnymi użytkownikami Pure-FTPd +

Należę do tych, którzy lubią wprowadzać innowacje i uczyć się nowych rzeczy, niedawno musiałem zainstalować i skonfigurować serwer FTP i postanowiłem zrobić to inaczej niż zawsze.

W tym przypadku zdecydowałem się na usługę FTP z użytkownikami wirtualnymi. Dane użytkowników będą przechowywane w zaszyfrowanym pliku (nazwa użytkownika, hasło, ustawienia itp.), wszystko za pomocą Pure FTPd.

Tutaj pokażę Ci, jak to zrobić… cóż, zaczynajmy 

Przede wszystkim określ, że polecenia w tym samouczku są przeznaczone dla dystrybucji takich jak Debian lub na nich opartych, jednak jeśli ktoś używa innej dystrybucji na swoim serwerze, musi zainstalować te same pakiety i użyć ustawień określonych poniżej, jedyną rzeczą, którą należy zmienić to polecenie instalacji.

Wszystkie polecenia, które przeczytają, będą wykonywane jako root, jeśli chcesz, możesz dodać „sudo” do każdej linii.

1. Najpierw musimy zainstalować Pure FTPd:

apt-get install pure-ftpd

Wynik zakończy się mniej więcej tak:

instalacja czystego ftpd

2. Usługa jest już aktywowana, ale jest bezużyteczna, jeśli nie została poprawnie skonfigurowana. Załóżmy, że mamy długi, ale niemal standardowy plik konfiguracyjny; zawiera on standardowe elementy, takie jak zakaz dostępu anonimowych użytkowników itp.

cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf

3. Załóżmy, że nasz folder FTP to /var/www/ftp/ i chcemy utworzyć użytkownika, który będzie mógł przesyłać informacje do folderu /var/www/ftp/sysadmin/. Wpiszmy w terminalu:

pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/

Oznacza to, co następuje:

pure-pw: Polecenie używane do manipulowania użytkownikami Pure-FTPd
useradd: Wskazujemy, że dodamy użytkownika
sysadmin: użytkownik, którego chcę utworzyć
-u 2001: ID użytkownika tego użytkownika
-g 2001: GroupID tego użytkownika
-d / var / www / ftp / sysadmin /: Folder, który będzie domem tego użytkownika, czyli do którego będą przesyłać rzeczy

Kiedy wejdziesz do poprzedniej linii, zapyta Cię o hasło tego użytkownika.

Musieli wcześniej utworzyć folder sysadmin w / var / www / ftp /

4. Teraz musisz odświeżyć plik bazy danych użytkowników. Aby to zrobić, przejdź do folderu /etc/pure-ftpd/ (cd /etc/pure-ftpd) i wpisz w terminalu następujące polecenie:

pure-pw mkdb

5. Teraz musimy uruchomić Pure-FTPd, ale z zaznaczeniem, że będziemy korzystać z pliku użytkowników wirtualnych. Najpierw zatrzymajmy usługę:

/etc/init.d/pure-ftpd stop

Wtedy upewnimy się, że domyślnie nie rozpocznie się normalnie:

chmod -x /etc/init.d/pure-ftpd

A teraz zaczynamy usługę po swojemu:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

6. Jeśli spróbujesz użyć aplikacji takiej jak FileZilla, zobaczysz, że możesz połączyć się bez problemów z utworzonym użytkownikiem; jednak nie będziesz mógł niczego kopiować ani tworzyć katalogów. Dzieje się tak, ponieważ folder /var/www/ftp/sysadmin/ (katalog domowy użytkownika w tym przykładzie) nie ma odpowiednich uprawnień. Można to naprawić za pomocą:

chown -R 2001:2001 /var/www/ftp/sysadmin/

Pamiętaj, że Uid i Gid 2001 są identyfikatorami utworzonego przez nas użytkownika, utworzyliśmy je za pomocą polecenia w poprzednim kroku 3 

7. Aby zatrzymać usługę, wystarczy nacisnąć [Ctrl]+[C] na tym samym terminalu lub na innym terminalu wykonać następujące czynności:

killall pure-ftpd

Teraz wskażemy, że usługa uruchomi się automatycznie wraz z systemem przy starcie serwera, w tym celu modyfikujemy plik /etc/rc.local i przed ostatnią linią z napisem „exit 0” umieszczamy polecenie, którym uruchamiamy Usługa FTP:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

Innymi słowy, wyglądałoby to tak:

rc-local-pure-ftpd

Możesz edytować plik za pomocą nano, vi lub preferowanego edytora, lub jeśli wolisz, skopiuj i wklej to polecenie, które ułatwi Ci pracę:

perl -pi -e "s[exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" /etc/rc.local && echo "exit 0" >> /etc/rc.local

…tak tak… podczas czytania „ułatwiaj” jest to obszerne polecenie, tak, ale polega po prostu na zastąpieniu tekstu perlem i nieszkodliwym echem 

8. Po wykonaniu tej czynności uruchom ponownie serwer, a zobaczysz, że usługa pure-ftpd jest teraz uruchomiona i gotowa do działania.

Jak usunąć użytkowników?

Jak wspomniałem wcześniej, polecenie pure-pw jest nam potrzebne do manipulowania użytkownikami. Aby usunąć użytkownika (na przykład sysadmin), użyjemy następującego polecenia:

cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb

Pamiętaj, że za każdym razem, gdy dokonujesz zmiany u dowolnego użytkownika, musisz ponownie wygenerować plik wirtualnej bazy danych użytkowników, znajduje się on w / etc / pure-ftpd / i jest generowany / aktualizowany przez pure-pw mkdb

W każdym razie przyjaciele myślę, że nie ma nic więcej do dodania, zapraszam do lektury pomocy pure-pw, ponieważ pozwala nam to na znacznie więcej niż to, co wam tutaj pokazałem (to tylko krótki i prawie podstawowy tutorial).

Rok czy dwa lata temu byłem jednym z tych, którzy łączyli wszystko z OpenLDAP lub MySQL, ale z biegiem czasu zdałem sobie sprawę, że tak wiele połączeń z bazami danych, które są serwerami jako takimi, generuje zużycie, na które często nas nie stać. Dlatego też korzystanie z całkowicie realne alternatywy, takie jak wykorzystanie baz danych we własnych plikach aplikacji, jak w przypadku Pure-FTPd .pdb 

Wszelkie wątpliwości lub pytania postaram się pomóc, jak tylko będę mógł.

Pozdrowienia i… miłego hakowania!


Dodaj jako preferowane źródło w Google