Как установить и настроить FTP-сервер с виртуальными пользователями Pure-FTPd +

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

В этом случае я выбрал службу FTP с виртуальными пользователями, пользователями, которые будут храниться в зашифрованном файле (пользователь, пароль, настройки и т. Д.), Все с Чистый FTPd.

Здесь я покажу вам, как это сделать ... ну что ж, приступим 😉

Прежде всего, укажите, что команды в этом руководстве предназначены для таких дистрибутивов, как Debian, или на их основе, однако, если кто-то использует другой дистрибутив на своем сервере, он должен установить те же пакеты и использовать настройки, указанные ниже, единственное, что необходимо change - это команда установки.

Все команды, которые они будут читать, будут выполняться от имени пользователя root, при желании вы можете добавить «sudo» к каждой строке.

1. Сначала мы должны установить Pure FTPd:

apt-get install pure-ftpd

Результат будет примерно таким:

установка-чистый-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 /: папка, которая будет домом для этого пользователя, то есть куда они будут загружать вещи

Когда вы войдете в предыдущую строку, вам будет предложено ввести пароль этого пользователя.

Они должны были предварительно создать папку системного администратора внутри / 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 и перед последней строкой, которая говорит «exit 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 это то, что нам нужно для манипулирования пользователями, чтобы удалить пользователя (например, системного администратора), поставим следующее:

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.   Elav сказал

    То что .. Документация на случай ошибок 😀

    1.    КЗКГ ^ Гаара сказал

      И я уже пишу пост о том, как установить Nginx + MySQL + Spawn_FastCGI, как я это делал в Justice, и благодаря этому блог работает так хорошо :)

      Я надеюсь, что он будет готов к завтра или послезавтра.

  2.   Родольфо сказал

    Хороший пост; Забавно, недавно я изо всех сил пытался поставить свой ftp-сервер, который я не мог даже с vsftpd, и я пошел на pure-ftpd, и что, если я думаю, что мне это нужно, это привести пример четкой конфигурации, документация очень хорошая, но хотя бы основы. Шифрование или, по крайней мере, порт пересылки, если используется маршрутизатор.
    Кстати, с помощью этой команды pure-ftpwho позволяет узнать, кто подключен к серверу и загружается ли что-нибудь;).
    И, по вашему мнению, ставить базу данных для подключения к серверу не так уж и необходимо.

    1.    КЗКГ ^ Гаара сказал

      Спасибо за комментарий 🙂

      Да, действительно, я не объяснял многие вещи (фактически все) в конфигурации, я предполагал, что у кого-то, кто знает, как управлять сервером, кто хочет установить службу FTP, не будет серьезных проблем с чтением комментарии файла conf ^ - ^

      Приветствую и еще раз спасибо за комментарий

  3.   Тахури сказал

    Здравствуйте, очень хороший пост, я использую (или, по крайней мере, на данный момент) vsftpd, но у меня есть некоторые проблемы с ним, и я хотел узнать, случилось ли это со мной, у вас есть URL-адрес или документ, чтобы узнать, как его конфигурация?

    Большое спасибо };)

    1.    КЗКГ ^ Гаара сказал

      Вы можете увидеть конфигурацию здесь: 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.    Elav сказал

      Предлагаем вам опубликовать менее "отвратительное" руководство .. 😉

    2.    Седлав сказал

      Что вы предлагаете? Поставить ftp-сервер для прослушивания порта> 1024? Если ftp-сервер прослушивает свой стандартный порт: 22, он должен быть запущен с правами root, если вы не измените возможности ядра, если вы хотите улучшить безопасность, используйте структуру MAC с SELinux, другим вариантом будет заключение в тюрьму / chroot сервера ftp .

  7.   Ll Портной сказал

    Ссылка на pure-ftpd.conf не работает или не существует. Вы можете его восстановить?
    спасибо

  8.   Вложения сказал

    2 года спустя ссылка на файл pure-ftpd.conf все еще не работает 🙁