Get Adobe Flash player

postheadericon Настройка FTP сервера (используем ProFTPd)

Если будете ставить Apache, MySQL, PHP пакетом task-lamp (как написано здесь), то он автоматом подтянет ProFTPd сервер. Можно и его запустить.

1. Запустите сервер:

  • service proftpd start - запуск proftpd-сервера.
  • service proftpd stop - остановка proftpd-сервера.
  • service proftpd restart - перезапуск proftpd-сервера.

Если не запустится командой service, запускайте через следующие скрипты:

  • /etc/init.d/proftpd start
  • /etc/init.dproftpd stop
  • /etc/init.d/proftpd restart

2. Проверяем работоспособность сервера командой lftp user@localhost

Введите пароль пользователя user (у вас, естественно, свой). Теперь выполняем команду ls и убеждаемся, что мы находимся в домашнем каталоге пользователя user. Выполняем команду cd / и ls и убеждаемся, что FTP сервер пустил нас выше домашнего каталога пользователя (а это НЕЖЕЛАТЕЛЬНО). Выходим из FTP клиента (команда quit).

3. Чтобы этому воспрепятствовать, раскомментируйте в файле конфигурации /etc/proftpd.conf строку DefaultRoot ~. Это значит, что мы “запираем” всех пользователей в их домашних каталогах. А если нам все-таки хочется пустить какого-то пользователя (пусть это будет mypclinuxos) выше, добавляем еще одну строку DefaultRoot / mypclinuxos.

4. Часто используется анонимный FTP сервер (anonymous ftp). Настроить его можно так: добавьте следующий код в конец конфигурационного файла /etc/proftpd.conf * (каталог /var/ftp/ по умолчанию является каталогом, где лежат общедоступные файлы и домашним каталогом пользователя ftp, под которым запускается демон ProFTPd):

<Anonymous ~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/

5. Часто используется анонимный FTP сервер, который предоставляет возможность пользователям загружать файлы на сервер. Для того, чтобы это сделать, сначала необходимо создать каталог внутри корня анонимного FTP сервера, в который эти пользователи будут иметь доступ, и сделать его владельцем пользователя ftp:

  • mkdir /var/ftp/uploads
  • chown ftp.ftp /var/ftp/uploads

Теперь добавьте следующий код в конфигурационный файл /etc/proftpd.conf внутрь секции (например перед ее закрытием, то есть перед строкой </anonymous>):

<Directory uploads/*>
       <Limit READ>
           DenyAll
       </Limit>
        <Limit STOR>
            AllowAll
        </Limit>
    </Directory>

Теперь в каталог /var/ftp/uploads пользователи могут заливать файлы, используя анонимную авторизацию. При этом файлы в этом каталоге никто не сможет читать. Если вам захочется, чтобы загруженные в этот каталог файлы были доступны для чтения анонимным пользователям, тогда просто закомментируйте (или удалите) следующие строки:

#       <Limit READ>
#           DenyAll
#       </Limit>

6. Минимальные настройки FTP сервера закончены. Перезапустите его указанными выше командами. Более расширенные инструкции поищите у себя в каталоге /usr/share/doc/proftpd.

 

Примечание

* Настройки анонимного ftp-сервера можно просто скопировать из файла /etc/proftpd-anonymous.conf и вставить в конец файла /etc/proftpd.conf.

** ProFTPd сервер требует применения патчей для корректного отображения русских шрифтов. Без патчей вместо русских букв будут кракозяблы.

Скачать PCLinuxOS

Новости
Поиск
Язык сайта