Установка и настройка ProFTPD на Ubuntu 10.10 | |||||
|
Итак, у нас есть задача установить и настроить ProFTPD сервер на Ubuntu 10.10 для доступа к сайтам, расположенным на нашем сервере в каталоге /var/www. Каждый сайт находится в своей директории и виртуальные хосты уже настроены. Для установки сервера ProFTPd введём в консоли следующую команду: apt-get install proftpd Система загрузит нужные для установки модули и приступит к установке. Во время установки в систему будет добавлен пользователь ftp и создана его домашняя директория /home/ftp. Если Вас не устраивает лишняя директория в /home, можно переместить ее, например, в /var/ftp. Делается это командами: # меняем домашнюю директорию пользователя ftp на /var/ftp usermod -d /var/ftp ftp # копируем файл welcome.msg в нужную директорию cp /home/var/welcome.msg /var/ftp # удаляем папку из /home и файл приветствия rm /home/ftp/welcome.msg && rmdir /home/ftp Ненужную директорию спрятали, теперь переходим непосредственно к конфигурированию и настройке ProFTPD сервера. Открываем для редактирования файл /etc/proftpd/proftpd.conf в помощью любого текстового редактора, например, nano: nano /etc/proftpd/proftpd.conf Далее приведен пример файл proftpd.conf # # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes, reload proftpd after modifications, if # it runs in daemon mode. It is not required in inetd/xinetd mode. # # Includes DSO modules Include /etc/proftpd/modules.conf UseIPv6 off # выключаем использование IP v6 за ненадобностью ServerName "FTP server" # Любое имя для ftp-сервера ServerType standalone DeferWelcome off RootLogin off # запрещаем подключать от пользователя root # определять имя хоста клиента по IP адресу (желательно отключать для ускорения доступа) UseReverseDNS off # использование протокола ident (RFC 1413) для идентификации подслединившегося клиента; # рекомендуется отключить, все равно этот протокол никто больше не использует; # область действия - основной сервер, Global, VirtualHost IdentLookups off MultilineRFC2228 on DefaultServer on ShowSymlinks on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir .message true ListOptions "-l" DenyFilter \\\\*.*/ # Автоматическое удаление недогруженного файла. DeleteAbortedStores on # директория, на которую устанавливается сервер # (сейчас указана домашняя директория подключенного пользователя) DefaultRoot ~ # авторизовывать клиента, только если он имеет основной shell из списка /etc/shells; RequireValidShell off # Порт сервера Port 21 # из соображений безопасности можете поставить любой незанятый # максимальное число одновременно запускаемых процессов в режиме standalone MaxInstances 30 # Пользователь и группа, от которого работает сервер User proftpd Group nogroup # права, с которыми будут создаваться файлы и папки Umask 022 022 # разрешить перезаписывать существующие файлы, # область действия - server config, VirtualHost, Anonymous, Directory, Global, .ftpaccess AllowOverwrite on # обрабатывать ли файл /etc/ftpusers, в котором перечислены пользователи, # которым нужно запретить доступ по ftp UseFtpUsers on TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log QuotaEngine off # Delay engine reduces impact of the so-called Timing Attack described in # https://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02 # It is on by default. DelayEngine on ControlsEngine off ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock AdminControlsEngine off Теперь осталось создать пользователя и дать ему доступ по ftp. Пусть это будет юзер с ником “viktor” и паролем “Ts0yZh1V” ;). Добавляем его в систем, запрещаем ему доступ к системе через shell и указываем ему в качестве домашней директории /var/www/www.site1.ru/htdocs следующей командой: useradd viktor --home /var/www/www.site1.ru/htdocs --shell /bin/false --group nogroup и устанавливаем пароль, например, “Ts0yZh1V” (естественно, без кавычек). passwd viktor Когда пользователь добавлен, перезагружаем proftpd-сервер командой: /etc/init.d/proftpd restart Если перезагрузка сервера прошла успешно, продолжаем дальше. Если же нет, ищем ошибки в файле конфигурации proftpd.conf. Пробуем подключится через любой ftp менеджер, используя имя пользователя “viktor” c паролем “Ts0yZh1V”. Если выдаёт ошибку ProFTPD warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration. Вместо inetd в конфиге поставь standalone
|