Tomsk Sysadmins Forum

Unix => Администрирование => Topic started by: netme on January 08, 2005, 15:17:22

Title: ProFTP и chroot
Post by: netme on January 08, 2005, 15:17:22
Ставлю анонимный ftp (freebsd + proftpd 1.2), завел для него аккаунт без шела и домашней папки, в конфиге написал что ненужен пароль и шел. Смотрю логи и proftpd говорит что не может выполнить chroot на корневую папку ftp от имени анонимного аккаунта, понятно что он не может этого сделать.
Вопрос как обойти это.
Title: ProFTP и chroot
Post by: demiurg on January 09, 2005, 12:39:21
Quote
Ставлю анонимный ftp (freebsd + proftpd 1.2), завел для него аккаунт без шела и домашней папки, в конфиге написал что ненужен пароль и шел. Смотрю логи и proftpd говорит что не может выполнить chroot на корневую папку ftp от имени анонимного аккаунта, понятно что он не может этого сделать.
Вопрос как обойти это.
[snapback]398[/snapback]
Я бы рекомендовал в качестве домашнего каталога  для юзера ftp прописать /var/ftp или где-там располагается корень ftp и опробовать конфиг анонимного сервера из примеров дистрибутива proftpd. У меня на Ляликсе работает.

IMHO неверно написан конфиг и proftpd пытается сделать chroot на домашний каталог юзера, а если вместо него указан, /dev/null или что-то подобное, то естественно ничего не выходит.

Для более точного диагноза -- конфиг в студию.

PS. Да и еще. А какая именно версия из ветки 1.2. Из опыта рекомендую 1.2.8 (только пару security патчей надо наложить) или 1.2.10.
Title: ProFTP и chroot
Post by: netme on January 09, 2005, 21:05:15
Теперь запускается: сам демон все же надо запускать от имени root, исправление в inetd.conf привели к успеху.
теперь я не могу понять почему не выполняется команда LIST.
конфиг директорий следущий:
<Directory pub>
<Limit WRITE>
  DenyAll
</Limit>
<Limit DIRS>
   AllowAll
</Limit>
</Directory>
<Directory upload>
  <Limit READ WRITE DIRS>
       AllowAll
  </Limit>
</Directory>
причем если директория пустая то все ок (клиент говорит что нет файлов), если с директориях что-то есть (в том числе в корневой) открывается дата канал и клиент чего-то ожидает. Это происходит и в пассивном и активном режиме. Команда PORT проходит, PWD, CWD тоже, а LIST нет  :blink: ?
Права доступа на реальные папки стоят как 700, а владелец и группа теже что и у ананимуса.
to demiurg
версия 1.2.0pre10
Title: ProFTP и chroot
Post by: demiurg on January 10, 2005, 00:17:47
Quote
Теперь запускается: сам демон все же надо запускать от имени root, исправление в inetd.conf привели к успеху.
С этого и надо было начинать :)
Quote
теперь я не могу понять почему не выполняется команда LIST.
конфиг директорий следущий:
<Directory pub>
<Limit WRITE>
  DenyAll
</Limit>
<Limit DIRS>
   AllowAll
</Limit>
</Directory>
<Directory upload>
  <Limit READ WRITE DIRS>
       AllowAll
  </Limit>
</Directory>
причем если директория пустая то все ок (клиент говорит что нет файлов), если с директориях что-то есть (в том числе в корневой) открывается дата канал и клиент чего-то ожидает. Это происходит и в пассивном и активном режиме. Команда PORT проходит, PWD, CWD тоже, а LIST нет  :blink: ?
Права доступа на реальные папки стоят как 700, а владелец и группа теже что и у ананимуса.
to demiurg
версия 1.2.0pre10
[snapback]403[/snapback]
Плохая идея делать владельцем файлов анонимоуса
лучше сделать chown root.root -R ftp_directory
и на каталоги поставить 755 а на файлы 644

А firewall случаем не включен?
Title: ProFTP и chroot
Post by: netme on January 12, 2005, 19:26:09
владелец у меня ftp:ftp - это я зделал по памяти из линукса когда ставил vsftp.

firewall включен, но порты 20,21 открыты, к тому же я пробую из сети которая не имеет ограничение по доступу.
Title: ProFTP и chroot
Post by: demiurg on January 13, 2005, 01:06:46
Quote
владелец у меня ftp:ftp - это я зделал по памяти из линукса когда ставил vsftp.
Да ни в одном руководстве этого быть написано не может, потомучто не секурно.

Quote
firewall включен, но порты 20,21 открыты, к тому же я пробую из сети которая не имеет ограничение по доступу.
[snapback]460[/snapback]

А по поводу firewall вопрос, работает ли LIST непосредственно с самой машины при отключенном firewall или при установке правил неограниченного хождения пакетов через интерфейс обратной петли?

У меня очень серьезные подозрения, что тут firewall виноват. В Ляликсе у меня по человечески ftp не работал пока не подгрузил модуль ip_conntrack_ftp  для iptables. В дополнение к правилам конечно.

Диагноз тоже был точно такой же, на команде LIST  происходил затык.