Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: помогите с vsftpd  (Прочитано 9649 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DyaDya

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
помогите с vsftpd
« : 10 Октябрь 2006, 17:38:05 »
Короче народ проблема такас, хотя может это и не проблема ну вообщем после vsftpd start выдаёт такую тему
500 OOPS: vsftpd: cannot open config file:start
но стартует и работает
и второе это значит народ не может туда ничего положить
вот конфиг
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=andrey
ftpd_banner=Welcome to blah FTP service.
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
anon_root=/home/ftp

Оффлайн ivm2003

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: помогите с vsftpd
« Ответ #1 : 24 Сентябрь 2008, 10:44:29 »
возможно необходимо запустить vsftpd  с параметром /etc/vsftpd.conf (т.е. указать при запуске путь к файлу конфигурации если путь отличный от приведенного)

tartan

  • Гость
Re: помогите с vsftpd
« Ответ #2 : 24 Сентябрь 2008, 11:07:35 »
А права на /home/ftp как выглядят?

Оффлайн yuristep

  • Участник
  • *
  • Сообщений: 248
    • Просмотр профиля
Re: помогите с vsftpd
« Ответ #3 : 24 Сентябрь 2008, 11:58:13 »
500 OOPS: vsftpd: cannot open config file:start
Все дальнейшее не интересно - ищите, почему он у Вас не открывает файл конфигурации ... Права, расположение, и т.д. ...
Осторожно! - Злой админ!

tartan

  • Гость
Re: помогите с vsftpd
« Ответ #4 : 24 Сентябрь 2008, 12:08:31 »
эээээ! айн секунд!

Он говорит буквально следующее: не могу открыть файл конфигурации "start". Вы синопсис в мане смотрели? Единственное, что после vsftpd можно писать - путь к файлу конфигурации, если вы хотите использовать НЕ /etc/vsftpd.conf

Попробуйте тупо vsftpd, если стартанёт без OOPS!, можно будет дальше копать. )
« Последнее редактирование: 24 Сентябрь 2008, 12:26:48 от tartan »

Оффлайн Sta1keR

  • Участник
  • *
  • Сообщений: 155
    • Просмотр профиля
Re: помогите с vsftpd
« Ответ #5 : 25 Февраль 2009, 15:31:09 »
У меня работало всё на proftpd.... но там нет max per iP... Вот следовательно и потребовалась установка Vsftp, но так как я в софте не спец хочу задать пару вопросов, а именно:

в каталоге /home/ftp у меня 2 папки upload и pub, соответственно мне нужно разграничить права.

anonymous@upload - только на загрузку  ( анонимы могут только загружать, а админы 777)
anonumous@pub (chmod 755) - только на скачку в 3 слота с IP  (для админов фулл доступ)

Нашел конфиг, но там как я понимаю вариации 2х серверов: 1only anonymous, 2only local users...
Можно указать папкам права 2х видов?
 /etc/vsftpd.conf:

# Запускаем как демон, а не из inetd.
listen=YES
background=YES
listen_address=192.168.1.1

# Включаем возможность использования tcpwrapper, лимиты через /etc/hosts.allow
tcp_wrappers=YES

# Пускаем только пользователей имеющих валидный shell, присутствующий в /etc/shells
check_shell=YES

# Вместо реальных владельцев файлов всегда показываем ftp:ftp
hide_ids=YES

# Общее максиамльно допустимое число коннектов.
max_clients=100

# Разрешенное число коннектов с одного IP.
max_per_ip=5

# Таймаут при ожидании команды
idle_session_timeout=300

# Таймаут при передаче данных
data_connection_timeout=60

# Непривилегированный пользователь, для того чтобы делать под ним, что можно выполнить без root.
nopriv_user=ftp

# Запрещаем рекурсивный вызов "ls -R"
ls_recurse_enable=NO

# Ограничение скорости прокачки для анонимных и локальных пользователей (байт в сек.)
anon_max_rate=50000
local_max_rate=100000

# Включаем ведение лога операций.
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log

# Расширенные логи всех команд
log_ftp_protocol=YES


# ------------ Настрйоки для анонимного сервера

# Если сервер публичный, пускающий анонимных пользователей
anonymous_enable=YES
anon_umask=077

# Корень анонимного ftp архива
anon_root=/usr/local/ftp

# Запрещаем анонимным пользователям запись данных, если нужно разрешить
# запись для локальных пользовтелей (write_enable=YES)
anon_upload_enable=NO

# Запрещаем создавать директории.
anon_mkdir_write_enable=NO

# Запрещаем переименовывать и удалять
anon_other_write_enable=NO

# Если нужно запретить доступ к определенным типам файлов по маске
# deny_file={*.mp3,*.mov, *.avi, .filelist}

# Если нужно скрыть определенные типы файлов при выводе списка,
# но дать скачать тем кто знает точное имя.
# hide_file={*.mp3,*.mov, *.avi}

# Если анонимную закачку необходимо разрешить, нужно дополнительно
# использовать chown_uploads=YES и chown_username=ftp_anon_user

# Если нужно пускать анонимных пользователей только при правильном введении
# email (аналог паролей для ограничения доступа к публичному ftp), заданного в
# файле определенном директивой email_password_file, нужно установить
# secure_email_list_enable=YES


# ------------ Настрйоки для входа локальных пользователей

# Если сервер разрешает вход локальных пользователей, присутствующих в системе
local_enable=YES

# "-rw-r--r--"
local_umask=022

# Разрешаем показ файлов начинающихся с точки (например, .htaccess) для кривых ftp-клиентов
force_dot_files=YES

# Разрешаем пользователям записывать/изменять свою информацию на сервер.
# если нужно запретить запись данных - write_enable=NO
# Более тонкий тюнинг через "cmds_allowed=PASV,RETR,QUIT"
write_enable=YES

# Для всех пользователей делаем chroot, делаем корнем их домашнюю директорию,
# Список логинов для которых не нужно делать chroot задаем в vsftpd.chroot_list
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

# Активируем список пользователей которым запрещен вход по FTP (например, root)
userlist_enable=YES
userlist_file=/etc/ftpusers

Оффлайн Sta1keR

  • Участник
  • *
  • Сообщений: 155
    • Просмотр профиля
Re: помогите с vsftpd
« Ответ #6 : 25 Февраль 2009, 18:34:13 »
http://easylinux.ru/node/195 - отличная статья, которая дает ответы на все вопросы по vsftp (мне дала) :D
остался только 1, как анониму сделать вторую директорию для записи  ;)
« Последнее редактирование: 25 Февраль 2009, 18:45:30 от Sta1keR »

Оффлайн ErV

  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Re: помогите с vsftpd
« Ответ #7 : 30 Март 2009, 22:44:12 »
Уважаемые, будьте так добры подскажите как перезапустить vsftpd допустим если он настроен в режиме standalone. Просто как я понимаю после изменения конфига его надо перезапустить но ребутить всю систему как то не очень удобно. Заранее благодарю!

Установлена Ubuntu 8.10 Desktop/GNOME
« Последнее редактирование: 30 Март 2009, 23:07:47 от ErV »

Оффлайн Tokh

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
Re: помогите с vsftpd
« Ответ #8 : 30 Март 2009, 23:09:23 »
sudo /etc/init.d/vsftpd restart

Вместо restart так же можно stop и start
StarDict и Mueller помогут против английского мануала.

Оффлайн ErV

  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Re: помогите с vsftpd
« Ответ #9 : 30 Март 2009, 23:43:13 »
Спасибо, все работает. Но есть еще вопрос. Надо чтобы сервер был доступен из инета. Инет по технологии ADSL, в режиме роутера. Железо: D-Link DSL 2500U. Реально ли осуществить такое дело и что надо по минимуму прописать?

ЗЫ: в локалке все работает отлично

Оффлайн Tokh

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
Re: помогите с vsftpd
« Ответ #10 : 31 Март 2009, 20:30:37 »
Реально. Но есть особенности.

Я сейчас не могу вспомнить по какому принципу раздаются порты и как это соотносится с ftp протоколом, с пассивным и активным режимом. Поэтому отмечу где именно есть засады, но не скажу пошаговых инструкций.

Во первых надо освоить в роутере опции "port forwarding". Это для того, чтобы роутер знал какому именно ip адресу внутри, в какой порт передавать запросы приходящие снаружи в порт 21, например. Обычно номера портов делают одинаковыми, но можно пришедшее в 21 порт передавать в 80 порт для внутреннего компа... Потом только не запутаться бы. :)

Внутреннему компу придётся назначить постоянный ip адрес. По хорошему на роутере надо настроить какие именно ip адреса внутри постоянны, и заузить диапазон адресов выдаваемых по DHCP. Это двольно просто, см. мануал (в т.ч. раздел про DHCP configuration и раздел про LAN clients).

Тогда роутер будет знать в какой компьютер перенаправлять услышанные им внешние запросы к ftp.

Теперь сам vsftp.

Вот кусок конфига:
listen_port=21
pasv_address=74.125.67.100
pasv_enable=YES
pasv_max_port=45625
pasv_min_port=45623

74.125.67.100 это внешний адрес роутера. Именно по этому адресу снаружи виден сервер. См. справку по параметру pasv_address. Если параметр не прописать, то vsftp в заголовках отправляемых в ответ пакетов прописывает адрес локального компьютера, что приводит к несколько минутным у клиета паузам, когда он считывает каталоги сервера.

Но этот адрес обычно меняется. Зная язык Bash или подобный, возможно, что ещё и разрешив (что небезопасно) telnet в модеме, можно, написав скрипт, узнавать о смене адреса не позднее чем через одну-две минуты. Я этого не делал и готового скрипта не имею.

Кроме порта 21, на роутере надо дополнительно "прокинуть" диапазон портов от pasv_min_port до pasv_max_port. После первичного обмена через 21-й порт, vsftp будет осуществлять соединения через эти pasv порты. Он так устроен. В настройках роутера везде будет протокол только TCP.

После этого работает "как из пушки". Забыл только в пассивном или активном режиме. Попробуйте на клиенте оба режима, сразу станет понятно. По ходу нужен пассивный режим у клиента (туго соображаю сегодня :) ).

Для активного режима может понадобится пробрасывать порт 20/tcp. Смотря по возможностям роутера, но вряд ли возможности этого модема столь богаты, чтобы динамично и на автопилоте понимать что 20-й порт понадобился в связи с ftp через 21-й...

P.S. Программа wireshark в графике или tcpdump в консоли помогут увидеть через какие и адреса:порты идёт трафик. Заодно там будет куча другой информации, но при отладке бывает достаточно смотреть только на адреса и порты. Иногда помогает понять проблему, если вдруг вместо ожидаемых сочетаний видны другие числа.
« Последнее редактирование: 31 Март 2009, 20:35:03 от u-375 »
StarDict и Mueller помогут против английского мануала.

Оффлайн ErV

  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Re: помогите с vsftpd
« Ответ #11 : 31 Март 2009, 21:35:42 »
Спасибо!! Все решилось пробросом портов, но так как заработало сразу остального не делал. Поделюсь как я сделал в этом частном случае.Собственно для ftp создал вот такое правило и при коннекте такого типа ftp://мой_айпи:порт(указан в правиле как External)  c инета ко мне заходили. В настройках vsftpd не писал абсолютно ничего про порты, все как для локальной сети.

Теперь новый вопрос знатокам. Почитав мануалов я так толком и не понял как сделать так чтобы: Пользователь заходил под своим именем и паролем и попадал в опеределенную папку которую я ему поставлю и в ней мог делать абсолютно все но не выходя за ее рамки. Собственно как завести этого пользователя и назначить ему пароль

 

Страница сгенерирована за 0.056 секунд. Запросов: 22.