Я один з тих, хто любить інновації та пізнавати нові речі, недавно мені довелося встановити та налаштувати FTP-сервер, і я вирішив зробити це інакше, ніж завжди.
У цьому випадку я вибрав послугу FTP для віртуальних користувачів, користувачів, які будуть зберігатися у зашифрованому файлі (користувач, пароль, налаштування тощо), усі з Чистий 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: Ідентифікатор групи цього користувача
-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 and 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 запущена і готова до роботи 😀
Як видалити користувачів?
Як я вже казав тобі, команда чисто-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 🙂
Будь-які сумніви чи запитання я намагатимусь допомогти, чим можу.
Вітаю та ... щасливого злому!
That that .. Документація на випадок помилок 😀
І я вже пишу допис про те, як встановити Nginx + MySQL + Spawn_FastCGI, як це було в Justice, і завдяки цьому блог працює так добре :)
Я сподіваюся, що він буде готовий до завтра чи післязавтра.
Хороший пост; Смішно нещодавно я намагався поставити свій ftp-сервер, навіть я не міг використовувати vsftpd, і я пішов до pure-ftpd, а що, якщо я думаю, що мені це потрібно, це навести приклад чіткого конф. Документація дуже хороша, але в хоча б основи. Шифрування або, принаймні, форвадинговий порт, якщо використовується маршрутизатор.
До речі за допомогою цієї команди pure-ftpwho дозволяє дізнатися, хто підключений до сервера, і якщо щось завантажується;).
І на вашу думку, розміщення бази даних для підключення до сервера не є настільки необхідним.
Дякую за коментар 🙂
Так, насправді, я не пояснював багато речей (все насправді) в конфігурації, це те, що я припускав, що хтось, хто знає, як керувати сервером, хто хоче встановити послугу FTP, що хтось не матиме серйозних проблем з читанням коментарів файлу conf ^ - ^
Вітаю і ще раз, дякую за коментар
Привіт Дуже хороший пост, я використовую (або, принаймні, зараз) vsftpd, але у мене з цим виникають проблеми, і я хотів би перевірити, чи трапилося мені це, чи є у вас URL-адреса чи документ, щоб побачити, наскільки його конфігурація?
Дуже дякую };)
Ви можете побачити конфігурацію тут: http://ftp.desdelinux.net/pure-ftpd.conf
Будь-які запитання або якщо вам щось потрібно, відкрийте тему на форумі, яка ми із задоволенням допоможемо вам 🙂
Дуже добре 😀
Тільки одна дрібниця, у команді perl відсутній символ ^, тому вона не змінює іншого виходу 0, який міститься в коментарях:
perl -pi -e "s[^exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" rc.local && echo "exit 0" >> rc.local
привіт
Чудово, у мене просто виникає запитання, як я можу створити користувача, який має лише читання? Я використовую Centos 6.5, pureftpd, ispconfig та графічний режим.
Я використовую ispconfig лише для ftp
привіт і спасибі
Цей спосіб встановлення pureftp є ASCO 🙂 ви залишаєте службу запущеною як root, створюєте віртуального користувача, а потім змінюєте дозволи на файлову систему, а ufff довго і т.д. Спосіб встановлення пакету готовий до використання, немає необхідності виконувати всі ці кроки
Вам пропонується опублікувати менш "огидний" путівник .. 😉
Що ви пропонуєте? Покласти ftp-сервер для прослуховування через порт> 1024? Якщо ftp-сервер прослуховує свій стандартний порт: 22, його потрібно запускати як root, якщо ви не модифікуєте можливості ядра, якщо для покращення безпеки потрібно використовувати MAC-фреймворк з SELinux, іншим варіантом буде в'язниця / chroot сервера ftp.
Посилання для pure-ftpd.conf не працює або не існує. Чи можете ви відновити його?
Грекіас
Через 2 роки посилання на файл pure-ftpd.conf все ще не працює 🙁