Устанавливаем ProFTPd
apt-get install proftpd
Выбираем как будет запускаться сервер через inited, вручную или самостоятельно при загрузке системы. Обратите внимание что чисто интуитивно кажется что должно быть наоборот, но это не так.
Пробежимся по основным строкам в конфигурационном файле нашего сервера. Конфиг расположен в /etc/proftpd/proftpd.conf
Имя сервера
ServerName "Debian"
Таймауты (сброс соединения), при отсутствии обмена данными , при остановке, при бездействии
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
Порт который слушает наш сервер
Port 21
Максимальное количество соединений
MaxInstances 30
В принципе, сервер вполне работоспособен как говорится из коробки.
Однако как вы заметили нет ни одной записи которая давала бы ссылку на список пользователей которым разрешено цепляться к нашему серверу. А все потому, что к proFTPd вполне себе могут подключатся пользователи системы.
Проверить это легко, попробуйте прямо с компьютера подключится к localhost под своей учетной записью через любой клиент, например Filezilla.
Получилось? Но видите ли, есть один очень большой недостаток, пользователь имеет доступ ко всем каталогам нашего компьютера, а это не очень хорошо, вернее очень плохо.
Для того чтобы пользователь не имел доступ к каталогам мы создадим специального unix пользователя для FTP, а делается это так:
adduser test --home /var/ftp --shell /bin/data
После выполнения команды два раза введите пароль нового пользователя, а дальше просто клацайте Enter, до того момента пока не появится вопрос о том корректны ли введенные данные о пользователе, если есть желание,можете заполнить поля.
Все, наш пользователь добавлен, попробуйте войти от его имени через FTP и вы увидите что пользователь ограничен каталогом /var/ftp.
Но как так получилось? Все очень просто, нам помогли ключи —home и —shell первый задает домашнюю директорию пользователя, а второй оболочку операционной системы указав /bin/no мы не дали пользователю никакой оболочки.
Кстати в созданную нами директорию /var/ftp мы можем добавлять бесконечное число пользователей, только не забудьте сменить ей права. Делается это так
chmod 777 -R /var/ftp
Ключ -R позволяет обойти все каталоги и директории внутри указанного нами пути
Удалить пользователя можно командой
userdel -r test
Ключ -r удаляет и домашнюю директорию пользователя, если вам нужно просто удалить пользователя, опустите этот параметр.