FTP (Самые разные фтп)
Модератор: /dev/random
-
rain_99
- Сообщения: 981
- ОС: Debian
FTP
Вот сейчас перешел с vrsftpd на proftpd - точнее собираюсь переходить и пока "пытаю конфиг -ничего не хочет пока запускаться" предлагаю, эту тему сделать "важной" пусть сюда заглядывает любой человек, который захочет сделать себе фтп, Со временем, думаю, что из этой темы вырасстет полноценная ХАВТУШКА по популярным фтп сервам. А пока тут флуд на тему "как сделать фтп" "почему у меня не работает фтп" "как ограничить скорость" "как.....почему...и зачем...."
...Все в наших руках...
-
Djam
- Сообщения: 533
- ОС: Mandriva 2009.0
Re: FTP
для поднятия 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
а какие проблемы с нми могут быть? в федоре и дебиане по умочланию конфигработает,дял дома хватает..
-
rain_99
- Сообщения: 981
- ОС: Debian
Re: FTP
Код:
[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
В /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 долны быть созданы
в 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
спасибо, так и сделаю...
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
Есть приятное НО ,если конфиг Профтп настроен неправильно, то сервер низачто не стартанет. то есть после настройки конфига, нужно от рута рестартануть фтп серв:
[root@rainland ~]# /etc/init.d/proftpd restart
Останавливается proftpd [ OK ]
Запускается proftpd [ OK ]
[root@rainland ~]#
естественно, если будет написано "Сбой" - то систаксис в конфиге нуждаеться в детальном изучении и исправлении.
В продолжении будет про изменение кодировок на лету, так как виндавозные клиенты, заходя на фтп серв видят вместо русских букв - краказяблики
[root@rainland ~]# /etc/init.d/proftpd restart
Останавливается proftpd [ OK ]
Запускается proftpd [ OK ]
[root@rainland ~]#
естественно, если будет написано "Сбой" - то систаксис в конфиге нуждаеться в детальном изучении и исправлении.
В продолжении будет про изменение кодировок на лету, так как виндавозные клиенты, заходя на фтп серв видят вместо русских букв - краказяблики
...Все в наших руках...
-
Djam
- Сообщения: 533
- ОС: Mandriva 2009.0
Re: FTP
этот момент достаточно критичен.
Вы могли бы расписать как такую штуку проделать?
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
Код:
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
спасибо
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)
истина где-то рядом, но мы ни как не встретимся
истина где-то рядом, но мы ни как не встретимся