Я один из тех, кто любит вводить новшества и узнавать что-то новое. Не так давно мне пришлось установить и настроить FTP-сервер, и я решил сделать это иначе, чем обычно.
В этом случае я выбрал службу FTP с виртуальными пользователями, пользователями, которые будут храниться в зашифрованном файле (пользователь, пароль, настройки и т. Д.), Все с Чистый FTPd.
Здесь я покажу вам, как это сделать ... ну что ж, приступим 😉
Прежде всего, укажите, что команды в этом руководстве предназначены для таких дистрибутивов, как Debian, или на их основе, однако, если кто-то использует другой дистрибутив на своем сервере, он должен установить те же пакеты и использовать настройки, указанные ниже, единственное, что необходимо change - это команда установки.
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 и перед последней строкой, которая говорит «exit 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 это то, что нам нужно для манипулирования пользователями, чтобы удалить пользователя (например, системного администратора), поставим следующее:
cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb
Помните, что всякий раз, когда вы вносите изменения в любого пользователя, вы должны повторно сгенерировать файл виртуальной базы данных пользователей, он находится в / etc / pure-ftpd / и генерируется / обновляется с помощью pure-pw mkdb
В любом случае, друзья, я думаю, что здесь особо нечего добавить, приглашаем вас прочитать справку по pure-pw, потому что она позволяет нам гораздо больше, чем те, которые я вам здесь показал (это всего лишь краткое и почти базовое руководство).
Один или два года назад я был одним из тех, кто связал все с OpenLDAP или MySQL, но со временем я понял, что такое количество подключений к базам данных, которые являются серверами как таковые, создают потребление, которое мы часто не можем себе позволить. По этой причине, использование полностью жизнеспособных альтернатив, таких как использование баз данных в собственных файлах приложения, таких как Pure-FTPd .pdb 🙂
Любые сомнения или вопросы, я постараюсь помочь, насколько смогу.
Приветствую и… удачного взлома!
То что .. Документация на случай ошибок 😀
И я уже пишу пост о том, как установить 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 все еще не работает 🙁