Как да инсталирате и конфигурирате FTP сървър с Pure-FTPd + виртуални потребители

Аз съм от тези, които обичат да правят иновации и да учат нови неща, не много отдавна трябваше да инсталирам и конфигурирам FTP сървър и реших да го направя по различен начин, отколкото винаги.

В този случай избрах FTP услуга с виртуални потребители, потребители, които ще бъдат съхранени в криптиран файл (потребителско име, парола, настройки и т.н.), всичко това с Pure FTPd.

Тук ще ви покажа как да го направите… е, да започваме 

На първо място, посочете, че командите в този урок са предназначени за дистрибуции като Debian или базирани на тях, но ако някой използва друг дистрибутор на своя сървър, той трябва да инсталира същите пакети и да използва настройките, зададени по-долу, единственото нещо, което трябва да се промени е командата за инсталиране.

Всички команди, които ще прочетат, ще бъдат изпълнени като root, ако желаете, можете да добавите "sudo" към всеки ред.

1. Първо трябва да инсталираме Pure FTPd:

apt-get install pure-ftpd

Изходът ще завърши нещо подобно:

install-pure-ftpd

2. Услугата вече е активирана, но е безполезна, ако не сме я конфигурирали правилно. Да кажем, че имаме дълъг, но почти стандартен конфигурационен файл; той съдържа обичайните неща, като например забрана на анонимни потребители и т.н.

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

3. Добре, да предположим, че нашата FTP папка е /var/www/ftp/ и искаме да създадем потребител, който може да качва информация в папката /var/www/ftp/sysadmin/. Нека поставим следното в терминал:

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

Това означава следното:

pure-pw: Команда, използвана за манипулиране на потребители на Pure-FTPd
useradd: Посочваме, че ще добавим потребител
sysadmin: Потребителят, когото искам да създам
-u 2001: UserID на този потребител
-g 2001: GroupID на този потребител
-d / var / www / ftp / sysadmin /: Папката, която ще бъде домът на този потребител, т.е. където те ще качват неща

Когато въведете предишния ред, той ще ви попита паролата на този потребител.

Те трябва да са създали преди това папката sysadmin вътре / var / www / ftp /

4. Сега трябва да обновите файла с потребителската база данни. За да направите това, отидете в папката /etc/pure-ftpd/ (cd /etc/pure-ftpd) и въведете следното в терминала:

pure-pw mkdb

5. Сега трябва да стартираме Pure-FTPd, но като укажем, че ще използваме файла с виртуални потребители. Първо, нека спрем услугата:

/etc/init.d/pure-ftpd stop

След това ще се уверим, че няма да стартира по подразбиране нормално:

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

И сега започваме услугата по нашия начин:

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

6. Ако опитате да използвате приложение като FileZilla, ще видите, че можете да се свържете без проблеми със създадения потребител; обаче няма да можете да копирате нищо или да създавате директории. Това е така, защото папката /var/www/ftp/sysadmin/ (домашната директория на потребителя в този пример) няма съответните разрешения. Това може да се поправи с:

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

Не забравяйте, че Uid и Gid 2001 са тези на потребителя, който създадохме, създадохме го с командата в предишната стъпка 3 

7. За да спрете услугата, просто натиснете [Ctrl]+[C] на същия терминал или на друг терминал направете следното:

killall pure-ftpd

Сега ще посочим, че услугата ще стартира автоматично със системата при стартиране на сървъра, за това модифицираме файла /etc/rc.local и преди последния ред, който казва "изход 0", поставяме командата, с която стартираме FTP услуга:

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

С други думи, би изглеждало така:

rc-локален-чист-ftpd

Можете да редактирате файла с nano, vi или предпочитания от вас редактор, или ако предпочитате, копирайте и поставете тази команда, която ще улесни работата ви:

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

…да, да… както четете, „улесняване“, това е обширна команда, да, но просто замества текст с perl и безвредно ехо 

8. След като това е направено, рестартирайте сървъра и ще видите, че услугата pure-ftpd вече е стартирана и готова за изпълнение 

Как да изтрия потребители?

Както споменах преди, командата pure-pw е това, от което се нуждаем, за да манипулираме потребителите. За да изтрием потребител (например sysadmin), ще използваме следното:

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

Не забравяйте, че когато правите промяна на потребител, трябва да регенерирате файла на виртуалната база данни на потребителите, той се намира в / etc / pure-ftpd / и се генерира / актуализира с pure-pw mkdb

Както и да е, приятели, мисля, че няма какво повече да добавите, каним ви да прочетете помощта на pure-pw, защото ни позволява много повече от тези, които ви показах тук (това е само кратък и почти основен урок).

Преди година или две бях един от тези, които свързваха всичко с OpenLDAP или MySQL, но с течение на времето осъзнах, че толкова много връзки към бази данни, които са сървъри като такива, генерират потребление, което често не можем да си позволим, Следователно използването на напълно жизнеспособни алтернативи като използване на бази данни в собствените файлове на приложението, както в този случай на Pure-FTPd .pdb 

Всяко съмнение или въпрос ще се опитам да помогна с каквото мога.

Поздрави и ... щастливо хакване!


Добавяне като предпочитан източник в Google