Як встановити та налаштувати FTP-сервер із віртуальними користувачами Pure-FTPd +

Я один з тих, хто любить інновації та пізнавати нові речі, недавно мені довелося встановити та налаштувати FTP-сервер, і я вирішив зробити це інакше, ніж завжди.

У цьому випадку я вибрав послугу FTP для віртуальних користувачів, користувачів, які будуть зберігатися у зашифрованому файлі (користувач, пароль, налаштування тощо), усі з Чистий 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: Ідентифікатор групи цього користувача
-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 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

Іншими словами, це виглядало б так:

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 запущена і готова до роботи 😀

Як видалити користувачів?

Як я вже казав тобі, команда чисто-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 🙂

Будь-які сумніви чи запитання я намагатимусь допомогти, чим можу.

Вітаю та ... щасливого злому!


13 коментарі, залиште свій

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   елав - сказав він

    That that .. Документація на випадок помилок 😀

    1.    KZKG ^ Гаара - сказав він

      І я вже пишу допис про те, як встановити Nginx + MySQL + Spawn_FastCGI, як це було в Justice, і завдяки цьому блог працює так добре :)

      Я сподіваюся, що він буде готовий до завтра чи післязавтра.

  2.   Rodolfo - сказав він

    Хороший пост; Смішно нещодавно я намагався поставити свій ftp-сервер, навіть я не міг використовувати vsftpd, і я пішов до pure-ftpd, а що, якщо я думаю, що мені це потрібно, це навести приклад чіткого конф. Документація дуже хороша, але в хоча б основи. Шифрування або, принаймні, форвадинговий порт, якщо використовується маршрутизатор.
    До речі за допомогою цієї команди pure-ftpwho дозволяє дізнатися, хто підключений до сервера, і якщо щось завантажується;).
    І на вашу думку, розміщення бази даних для підключення до сервера не є настільки необхідним.

    1.    KZKG ^ Гаара - сказав він

      Дякую за коментар 🙂

      Так, насправді, я не пояснював багато речей (все насправді) в конфігурації, це те, що я припускав, що хтось, хто знає, як керувати сервером, хто хоче встановити послугу FTP, що хтось не матиме серйозних проблем з читанням коментарів файлу conf ^ - ^

      Вітаю і ще раз, дякую за коментар

  3.   Тахурі - сказав він

    Привіт Дуже хороший пост, я використовую (або, принаймні, зараз) vsftpd, але у мене з цим виникають проблеми, і я хотів би перевірити, чи трапилося мені це, чи є у вас URL-адреса чи документ, щоб побачити, наскільки його конфігурація?

    Дуже дякую };)

    1.    KZKG ^ Гаара - сказав він

      Ви можете побачити конфігурацію тут: http://ftp.desdelinux.net/pure-ftpd.conf
      Будь-які запитання або якщо вам щось потрібно, відкрийте тему на форумі, яка ми із задоволенням допоможемо вам 🙂

  4.   Афій - сказав він

    Дуже добре 😀

    Тільки одна дрібниця, у команді 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

    привіт

  5.   Омар - сказав він

    Чудово, у мене просто виникає запитання, як я можу створити користувача, який має лише читання? Я використовую Centos 6.5, pureftpd, ispconfig та графічний режим.

    Я використовую ispconfig лише для ftp

    привіт і спасибі

  6.   мусон - сказав він

    Цей спосіб встановлення pureftp є ASCO 🙂 ви залишаєте службу запущеною як root, створюєте віртуального користувача, а потім змінюєте дозволи на файлову систему, а ufff довго і т.д. Спосіб встановлення пакету готовий до використання, немає необхідності виконувати всі ці кроки

    1.    елав - сказав він

      Вам пропонується опублікувати менш "огидний" путівник .. 😉

    2.    седлав - сказав він

      Що ви пропонуєте? Покласти ftp-сервер для прослуховування через порт> 1024? Якщо ftp-сервер прослуховує свій стандартний порт: 22, його потрібно запускати як root, якщо ви не модифікуєте можливості ядра, якщо для покращення безпеки потрібно використовувати MAC-фреймворк з SELinux, іншим варіантом буде в'язниця / chroot сервера ftp.

  7.   Ll Кравець - сказав він

    Посилання для pure-ftpd.conf не працює або не існує. Чи можете ви відновити його?
    Грекіас

  8.   Attachments - сказав він

    Через 2 роки посилання на файл pure-ftpd.conf все ще не працює 🙁