Аз съм от тези, които обичат да правят иновации и да учат нови неща, не много отдавна трябваше да инсталирам и конфигурирам FTP сървър и реших да го направя по различен начин, отколкото винаги.
В този случай избрах FTP услуга с виртуални потребители, потребители, които ще бъдат съхранени в криптиран файл (потребителско име, парола, настройки и т.н.), всичко това с Pure FTPd.
Тук ще ви покажа как да го направите… е, да започваме
На първо място, посочете, че командите в този урок са предназначени за дистрибуции като Debian или базирани на тях, но ако някой използва друг дистрибутор на своя сървър, той трябва да инсталира същите пакети и да използва настройките, зададени по-долу, единственото нещо, което трябва да се промени е командата за инсталиране.
1. Първо трябва да инсталираме Pure FTPd:
apt-get 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 /: Папката, която ще бъде домът на този потребител, т.е. където те ще качват неща
Когато въведете предишния ред, той ще ви попита паролата на този потребител.
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
С други думи, би изглеждало така:
Можете да редактирате файла с 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
Всяко съмнение или въпрос ще се опитам да помогна с каквото мога.
Поздрави и ... щастливо хакване!