Установил ProFTPD не могу нормально настроить. В общем проблема такова, ОС FreeBSD 8.2 stable обновленная с пересобранным миром, в общем все как рекомендовано в
http://security.freebsd.org/advisories/ ... chroot.asc. При этом как я понимаю команду DefaultRoot в конфиге использовать нельзя, выдает при подключении ошибку chroot to some-path failed for user some-user: operation not permitted.
Без этой опции подключившийся может лазить по всему серверу, что не есть гуд, в качестве альтернативы DefaulRoot я решил использовать HideFiles, но вот незадача, не пойму как правильно выражения задавать, в общем задача проста, надо в директории / скрыть все кроме /home и того что в этом home.
пробовал так:
Код: Выделить всё
<Directory />
HideFiles !(^home.*$) или !(^home.*)$ # так скрывает все дочерние файлы и папки в home
HideFiles ^(?!home).*$ # так вообще говорит ошибка компиляции выражения
HideFiles ^(bin|boot|cdrom|dev... и так далее все что не home).*$ # так работает, но очень уж криво выглядит, да и скорость проверки такого выражения будет мала
<Limit ALL>
AllowAll
IgnoreHidden on
</Limit>
</Directory>
Может кто работал с этим HideFiles, просьба пояснить, что я делаю не так. Вообще с регулярными выражениями вроде дружу, работал с GRegex из glib (GTK+), но тут они видимо чем то отличаются от обычных, проверял свои выражения в online-regexp - ах, работают как ожидалось. Также может кто знает, как еще можно запретить для данного FTP переход пользователя в родительский каталог кроме DefaultRoot и HideFiles, т.е. ограничить его каким то одним каталогом, желательно ~.