Проверяем что установлен или устанавливаем пакет ProFTPd
# urpmi proftpd
Файл конфигурации для FTP сервера ProFTPd это /etc/proftpd.conf. Все настройки и изменения мы будем делать именно в нем.
Запускаем сервер:
# /etc/init.d/proftpd restart
проверяем работоспособность
$ lftp admin@localhost
вводим пароль пользователя admin. Теперь выполняем команду ls и убеждаемся, что мы находимся в домашнем каталоге пользователя admin. Выполняем команду cd / и ls и убеждаемся, что FTP сервер пустил нас выше домашнего каталога пользователя, что часто НЕЖЕЛАТЕЛЬНО. Выходим из FTP клиента (команда quit).
Чтобы этому воспрепятствовать, пишем в файле конфигурации строчечку DefaultRoot ~. Это значит, что мы “запираем” всех пользователей в их домашних каталогах. А если нам все-таки хочется пустить какого-то пользователя (пусть это будет testuser) выше, добавляем еще одну строку DefaultRoot / testuser.
Часто используется анонимный FTP сервер (anonymous ftp). Настроить его легко можно так: добавьте следующий код в конец конфигурационного файла /etc/proftpd.conf (каталог /var/ftp/ по умолчанию является каталогом, где лежат общедоступные файлы и домашним каталогом пользователя ftp, под которым запускается демон ProFTPd):
########################################### <Anonymous /var/ftp/> User ftp Group ftp # Рассматривать клиентов, вошедших под логином anonymous как ftp UserAlias anonymous ftp # Лимит на максимальное количество подключений пользователя anonymous MaxClients 30 # не спрашивать пароля и оболочку. RequireValidShell off AnonRequirePassword off # ограничение ЗАПИСИ(WRITE) везде в anonymous chroot <Limit WRITE> Order Deny, Allow DenyAll </Limit> </Anonymous> ###########################################
Теперь перезапускаем ProFTPd сервер и проверяем, что анонимный доступ на FTP работает:
$ links ftp://localhost/
Часто используется анонимный FTP сервер, который предоставляет возможность пользователям загружать файлы на сервер. Для того, чтобы это сделать, сначала необходимо создать каталог внутри корня анонимного FTP сервера, в который эти пользователи будут иметь доступ, и сделать его владельцем пользователя ftp.
# mkdir /var/ftp/uploads # chown ftp.ftp /var/ftp/uploads
Теперь добавим следующий код конфигурационный файл /etc/proftpd.conf внутрь секции <anonymous> (например перед ее закрытием, то есть перед строкой </anonymous>):
<Directory uploads/*> <Limit READ> DenyAll </Limit> <Limit STOR> AllowAll </Limit> </Directory>
Теперь в каталог /var/ftp/uploads пользователи могут заливать файлы, используя анонимную авторизацию. При этом файлы в этом каталоге никто не сможет читать. Если вам захочется, чтобы загруженные в этот каталог файлы были доступны для чтения анонимным пользователям, тогда просто закомментируйте (или удалите) следующие строки:
# <Limit READ> # DenyAll # </Limit>
Минимальные настройки FTP сервера закончены. Более расширенные инструкции поищите у себя в каталоге /usr/share/doc/proftpd-1.2.7/, а также на сайте разработчиков этого демона http://proftpd.org/