FTP (Самые разные фтп)

Модератор: /dev/random

Аватара пользователя
rain_99
Сообщения: 981
ОС: Debian

FTP

Сообщение rain_99 »

Вот сейчас перешел с vrsftpd на proftpd - точнее собираюсь переходить и пока "пытаю конфиг -ничего не хочет пока запускаться" предлагаю, эту тему сделать "важной" пусть сюда заглядывает любой человек, который захочет сделать себе фтп, Со временем, думаю, что из этой темы вырасстет полноценная ХАВТУШКА по популярным фтп сервам. А пока тут флуд на тему "как сделать фтп" "почему у меня не работает фтп" "как ограничить скорость" "как.....почему...и зачем...."
...Все в наших руках...
Спасибо сказали:
Djam
Сообщения: 533
ОС: Mandriva 2009.0

Re: FTP

Сообщение Djam »

для поднятия proftpd я использовал gproftpd - GUI gnome, но работает с успехом и в KDE...
интерфейс руссифицирован, достаточно простая в работе....
Единственно с чем столкнулся ни как не получается получить анонимный доступ, получается только по регистрации, а также проблемы с добавлением директорий в корень... Но возможно не достаточно плотно с этим возился.
Mandriva 2009 Spring Free, kernel-2.6.29.6-2, wine@etersoft 1.0.10 Network, 1C all, ASUS P5PE-VM i865G, 1024 Mb, iPentium 3.06 GHz(s775)
истина где-то рядом, но мы ни как не встретимся
Спасибо сказали:
aliens
Сообщения: 495
Статус: нетрушный
ОС: Gentoo & CentOS 5.1

Re: FTP

Сообщение aliens »

а какие проблемы с нми могут быть? в федоре и дебиане по умочланию конфигработает,дял дома хватает..
Спасибо сказали:
Аватара пользователя
rain_99
Сообщения: 981
ОС: Debian

Re: FTP

Сообщение rain_99 »

Код:

[root@rainland ~]# cat /etc/proftpd.conf # # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes reload proftpd after modifications. # # Includes DSO modules Include /etc/proftpd.d/*.conf # This is the directory where DSO modules resides ModulePath /usr/lib/proftpd # Allow only user root to load and unload modules, but allow everyone # to see which modules have been loaded ModuleControlsACLs insmod,rmmod allow user root ModuleControlsACLs lsmod allow user * ServerName "Rain'S FTP" #Название моего фтп ServerType standalone #Тип запуска фтп (как он запускается) DeferWelcome off MultilineRFC2228 on DefaultServer on ShowSymlinks on TimeoutNoTransfer 900 TimeoutStalled 3600 TimeoutIdle 600 DisplayLogin welcome.msg DisplayChdir .message ListOptions "-l" DenyFilter \*.*/ UseIPv6 Off # Allow FTP resuming. # Remember to set to off if you have an incoming ftp for upload. AllowStoreRestart on # Port 21 is the standard FTP port. Port 21 # In some cases you have to specify passive ports range to by-pass # firewall limitations. Ephemeral ports can be used for that, but # feel free to use a more narrow range. #PassivePorts 49152 65534 # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd) MaxInstances 30 # Set the user and group under which the server will run. User ftp Group ftp # Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 022 022 # To cause every FTP user to be "jailed" (chrooted) into their home # directory, uncomment this line. #DefaultRoot ~ # Normally, we want files to be overwriteable. AllowOverwrite on # Uncomment this if you are using NIS or LDAP to retrieve passwords: PersistentPasswd off # Be warned: use of this directive impacts CPU average load! # # Uncomment this if you like to see progress and transfer rate with ftpwho # in downloads. That is not needed for uploads rates. #UseSendFile off #CharsetLocal UTF-8 #Проверка перекодировки чтобы долбанные виндовозные клиенты #CharsetRemote CP1251 #видели мой фтп TransferLog /var/log/proftpd/proftpd.log SystemLog /var/log/proftpd/proftpd.log <Global> AllowOverwrite yes IdentLookups off ExtendedLog /var/log/proftpd/access.log WRITE,READ,write ExtendedLog /var/log/proftpd/auth.log AUTH auth </Global> <IfModule mod_clamav.c> #Включаем проверку Кламавом ClamAV on </IfModule> <Anonymous /var/ftp> #путь,куда смонтированы каталоги моего фтп для анонимусов User ftp Group ftp UserAlias anonymous ftp RequireValidShell no MaxClients 5 <Limit CWD DIRS READ LIST> AllowAll </Limit> <Limit WRITE> DenyAll </Limit> </Anonymous> <IfModule mod_tls.c> TLSEngine off </IfModule> <IfModule mod_quota.c> QuotaEngine on </IfModule> <IfModule mod_ratio.c> Ratios on </IfModule> # Delay engine reduces impact of the so-called Timing Attack described in # http://security.lss.hr/index.php?page=deta...=LSS-2004-10-02 # It is on by default. <IfModule mod_delay.c> DelayEngine on </IfModule> <IfModule mod_ctrls.c> ControlsEngine on ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock </IfModule> <IfModule mod_ctrls_admin.c> AdminControlsEngine on </IfModule> # Bar use of SITE CHMOD bE_CHMOD> DenyAll </Limit> [root@rainland ~]#


Вот мой конфиг профтп, шатко-валко но работает и пускает анонимных пользователей ко мне на фтп. В /var/ftp/ примонтированы каталоги софт и дистр_игр..
...Все в наших руках...
Спасибо сказали:
Аватара пользователя
rain_99
Сообщения: 981
ОС: Debian

Re: FTP

Сообщение rain_99 »

В /var/ftp/ каталоги примонтированы таким образом:
в rc.local ввести такие строчки (на примере моей машины)

mount --bind /mnt/win_e/soft/ /var/ftp/soft/
mount --bind /mnt/win_e/games_distrib/ /var/ftp/games_distrib/

Естественно в /var/ftp/ каталоги soft и games_distrib долны быть созданы
...Все в наших руках...
Спасибо сказали:
Djam
Сообщения: 533
ОС: Mandriva 2009.0

Re: FTP

Сообщение Djam »

спасибо, так и сделаю...
Mandriva 2009 Spring Free, kernel-2.6.29.6-2, wine@etersoft 1.0.10 Network, 1C all, ASUS P5PE-VM i865G, 1024 Mb, iPentium 3.06 GHz(s775)
истина где-то рядом, но мы ни как не встретимся
Спасибо сказали:
Аватара пользователя
rain_99
Сообщения: 981
ОС: Debian

Re: FTP

Сообщение rain_99 »

Есть приятное НО ,если конфиг Профтп настроен неправильно, то сервер низачто не стартанет. то есть после настройки конфига, нужно от рута рестартануть фтп серв:

[root@rainland ~]# /etc/init.d/proftpd restart
Останавливается proftpd [ OK ]
Запускается proftpd [ OK ]
[root@rainland ~]#

естественно, если будет написано "Сбой" - то систаксис в конфиге нуждаеться в детальном изучении и исправлении.

В продолжении будет про изменение кодировок на лету, так как виндавозные клиенты, заходя на фтп серв видят вместо русских букв - краказяблики
...Все в наших руках...
Спасибо сказали:
Djam
Сообщения: 533
ОС: Mandriva 2009.0

Re: FTP

Сообщение Djam »

rain_99 писал(а):
07.11.2007 12:24
В продолжении будет про изменение кодировок на лету, так как виндавозные клиенты, заходя на фтп серв видят вместо русских букв - краказяблики


этот момент достаточно критичен.
Вы могли бы расписать как такую штуку проделать?
Mandriva 2009 Spring Free, kernel-2.6.29.6-2, wine@etersoft 1.0.10 Network, 1C all, ASUS P5PE-VM i865G, 1024 Mb, iPentium 3.06 GHz(s775)
истина где-то рядом, но мы ни как не встретимся
Спасибо сказали:
Аватара пользователя
rain_99
Сообщения: 981
ОС: Debian

Re: FTP

Сообщение rain_99 »

Код:

ProFTPd - устранение проблем с русскими названиями файлов Назад Автор: CoderInside e-mail: coder@vmail.ru icq: 233503535 10.09.2006 Версия 1.2 Содержание [убрать] 1 Введение 2 Подготовка 3 Накладывание патча 4 Сборка 5 Конфигурирование 6 Запуск [править] Введение У ProFTPd существуют две проблемы связанные с русским языком. Первая - при закачивании на сервер Windows клиентами файлов с русскими названиями из них вырезаются буквы "ыьэюя". Вторая - так как эти файлы были закачаны в кодировке CP1251 их названия невозможно прочитать через Linux консоль, где обычно KOI8-R или UTF-8. Если для пользователей это не большая проблема, ведь через FTP все отображается нормально, администратору этого сервера такие файлы доставляют значительные неудобства. Для того чтобы научить ProFTPd автоматически конвертировать названия файлов в Linux кодировку при загрузке на сервер и в Windows кодировку при скачивании - существует специальный патч. Патч этот выпустили японцы - так как у них похоже эта проблема тоже не на последнем месте :). Проблема с буквами "ыьэюя" (коды 251-255) возникают потому, что ProFTPd пропускает весь свой сетевой трафик через Telnet фильтр, который воспринимает символы с кодами 251-255 как управляющие последовательности и вырезает их. Это лечится небольшим вмешательством в один из исходных файлов. Нашей целью будет сервер ProFTPd который будет автоматически конвертировать кодировки и хорошо работать с буквами "ыьэюя". [править] Подготовка Для осуществления всего выше задуманного потребуется исходный код сервера ProFTPd и патч. На момент написания статьи самая последняя версия сервера - 1.3.0. Патч выпущенный японцами существует только для версии 1.2.10 и на новый код не накладывается. Пришлось немого повозиться и сделать из него патч для 1.3.0 попутно добавив в него строки для нормальной работы с маленькими буквами "ыьэюя". Готовый патч лежит здесь. Как вы уже догадались, мы будем собирать и устанавливать ProFTPd из исходников, поэтому если он у вас уже установлен - его предварительно нужно удалить. Создадим директорию /tmp/src и скачаем в нее исходники и патч: $ mkdir /tmp/src $ cd /tmp/src $ wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0.tar.bz2 http://linuxportal.vrn.ru/file/proftpd-1.3.0-rus.patch.gz Распакуем исходный код ProFTPd $ tar xjvf proftpd-1.3.0.tar.bz2 [править] Накладывание патча Находясь в каталоге /tmp/src наложим патч на исходный код сервера $ gzip -cd proftpd-1.3.0-rus.patch.gz | patch -p0 Должно появиться сообщение о том что пропатчились 4 файла patching file proftpd-1.3.0/modules/mod_codeconv.c patching file proftpd-1.3.0/modules/mod_df.c patching file proftpd-1.3.0/modules/mod_ls.c patching file proftpd-1.3.0/src/netio.c Если все так - полдела сделано! [править] Сборка Переходим в каталог с исходными текстами ProFTPd $ cd proftpd-1.3.0 Запускаем configure с модулем для конвертации $ ./configure --with-modules=mod_codeconv Собираем $ make Устанавливаем $ sudo make install [править] Конфигурирование Открываем конфигурационный файл сервера /usr/local/etc/proftpd.conf и добавляем туда строки отвечающие за перекодировку. Например в случае когда на Linux UTF-8 пишем: CharsetLocal UTF-8 CharsetRemote CP1251 Смысл параметров думаю понятен из их названий. :) [править] Запуск Для запуска сервера создадим скрипт /etc/init.d/proftpd и сделаем его исполняемым #!/bin/sh # ProFTPD files FTPD_BIN=/usr/local/sbin/proftpd FTPD_CONF=/usr/local/etc/proftpd.conf PIDFILE=/usr/local/var/proftpd.pid # If PIDFILE exists, does it point to a proftpd process? if [ -f $PIDFILE ]; then pid=`cat $PIDFILE` fi if [ ! -x $FTPD_BIN ]; then echo "$0: $FTPD_BIN: cannot execute" exit 1 fi case $1 in start) if [ -n "$pid" ]; then echo "$0: proftpd [PID $pid] already running" exit fi if [ -r $FTPD_CONF ]; then echo "Starting proftpd..." $FTPD_BIN -c $FTPD_CONF else echo "$0: cannot start proftpd -- $FTPD_CONF missing" fi ;; stop) if [ -n "$pid" ]; then echo "Stopping proftpd..." kill -TERM $pid else echo "$0: proftpd not running" exit 1 fi ;; restart) if [ -n "$pid" ]; then echo "Rehashing proftpd configuration" kill -HUP $pid else echo "$0: proftpd not running" exit 1 fi ;; *) echo "usage: $0 {start|stop|restart}" exit 1 ;; esac exit 0 Делаем исполняемым chmod a+x /etc/init.d/proftpd Готово! Данный скрипт позволяет запускать, останавливать и перегружать запущенный сервер запуск /etc/init.d/proftpd start останов /etc/init.d/proftpd stop перезагрузка /etc/init.d/proftpd restart Для того чтобы сервер автоматически загружался при старте системы - пропишите комманду /etc/init.d/proftpd start в /etc/rc.local или любой другой стартовый скрипт. Для Debian: находясь в каталоге /etc/init.d выполните комманду update-rc.d proftpd defaults 99 Все. Перегружаемся и проверяем. ProFTPd должен запуситься автоматически. В названиях закачиваемых из Windows файлов не должны пропадать буквы "ыьэюя", названия должны отображаться в консоли без кракозябликов. Удачи! По всем вопросам пишите на coder@vmail.ru


Вообщем, чтобы фтп поддерживал русские буквы нужно из "сырцов" накладывать патч и собирать фтп руками. Так как у меня rpm дистрибутив (Мандрива 2008) - то я предпочел переименовать все русские каталоги на английские буквы.

ТЫц - и еще попробуй сюда заглянуть - статья отсюда взята :)
...Все в наших руках...
Спасибо сказали:
Djam
Сообщения: 533
ОС: Mandriva 2009.0

Re: FTP

Сообщение Djam »

спасибо
Mandriva 2009 Spring Free, kernel-2.6.29.6-2, wine@etersoft 1.0.10 Network, 1C all, ASUS P5PE-VM i865G, 1024 Mb, iPentium 3.06 GHz(s775)
истина где-то рядом, но мы ни как не встретимся
Спасибо сказали: