Нужен ProFTPd, чтобы перейти по символической ссылке

У меня есть 2 папки:

/var/www/project1/
/var/www/repository/module/

и у меня есть эта символическая ссылка:

/var/www/project1/module/News => /var/www/repository/module/News

Я знаю, что цель снаружи корневая папка ftp. Но я хочу, чтобы proFTPd мог отображать и переходить по этой символической ссылке. Безопасность НЕ имеет значения, мы используем этот FTP в локальной сети только для целей разработки.


Пс .: Я также использую GADMIN-PROFTPD , и я установил все по умолчанию, используя apt-get install.

5
задан 26 March 2012 в 21:31

2 ответа

Я думаю, что вы должны сделать путь DefaultRoot более свободным, боюсь, proftpd не может обрабатывать символические ссылки за пределами этой chroot-тюрьмы. Таким образом, вы можете использовать символическую ссылку, но только внутри папки DefaultRoot.

0
ответ дан 26 March 2012 в 21:31

Если кто-то все еще ищет ответ, из документации Proftpd:

Уловки файловой системы Типичным сценарием является сценарий, в котором «DefaultRoot ~» используется для ограничения пользователей их домашними каталогами, и где администратор хотел бы иметь общий каталог для загрузки, скажем, / var / ftp / входящий, в домашнем каталоге каждого пользователя. Символические ссылки обычно используются для обеспечения такой договоренности. Как уже упоминалось выше, однако, когда используется chroot (2) (что и делает директива DefaultRoot), символические ссылки, указывающие вне нового корня (в данном случае домашний каталог пользователя), не будут работать. Чтобы обойти это очевидное ограничение, современные операционные системы могут монтировать каталоги в нескольких местах файловой системы.

Чтобы иметь точную копию каталога / var / ftp / messages, доступного в / home / bob /coming и / home / dave /coming, используйте одну из следующих команд:

Linux (as of the 2.4.0 kernel):

  mount --bind /var/ftp/incoming /home/bob/incoming
  mount --bind /var/ftp/incoming /home/dave/incoming

or, alternatively:

  mount -o bind /var/ftp/incoming /home/bob/incoming
  mount -o bind /var/ftp/incoming /home/dave/incoming

BSD (as of 4.4BSD):

  mount_null /var/ftp/incoming /home/bob/incoming
  mount_null /var/ftp/incoming /home/dave/incoming

Solaris:

  mount -F lofs /var/ftp/incoming /home/bob/incoming
  mount -F lofs /var/ftp/incoming /home/dave/incoming

То же самое Техника может быть использована для каталогов, которые также работают в среде chroot (). Кроме того, должна быть возможность монтировать определенные файлы таким образом, в дополнение к каталогам, если вам нужно (каталог - это просто еще один файл в Unix).

Как обычно, дополнительную информацию можно найти, обратившись к справочным страницам для соответствующей команды для вашей платформы. Команды для других разновидностей Unix будут добавляться по мере необходимости.

Чтобы эти приемы сохранялись, чтобы выдержать перезагрузку системы, в файл / etc / fstab (или / etc / vfstab) может потребоваться добавить эти монтирования. Обратитесь к местным справочным страницам fstab (5) (или vfstab (4) для Solaris) для получения дополнительной информации.

0
ответ дан 26 March 2012 в 21:31

Другие вопросы по тегам:

Похожие вопросы: