Как использовать регулярные выражения для путей к каталогам в proftpd - PullRequest
3 голосов
/ 14 ноября 2011

У меня есть несколько каталогов на моем сайте, я хочу, чтобы они были доступны анонимным пользователям ftp, но они не должны быть видны. Поэтому я не хочу, чтобы они отображались при вводе «ls» или «dir», но я хочу, чтобы пользователи могли вводить «cd secret_dir».

Я надеялся, что это сделает

ServerName              "ProFTPD Default Installation"
ServerType              standalone
DefaultServer           on
Port                21
Umask               022
MaxInstances            30

# Set the user and group under which the server will run.
User                nobody
Group               nogroup

RequireValidShell           off

# Normally, we want files to be overwriteable.
<Directory />
  AllowOverwrite            on
</Directory>

<Anonymous /home/ftp/my.site.org>
  User              ftp
  Group             planonline

  UserAlias             anonymous ftp
  MaxClients            10

  DisplayLogin          welcome.msg
  DisplayChdir          .message

  # So users can't do ls in the directory
  <Limit ALL>
    DenyAll
  </Limit>

  # All have access to this directory, for testing permissions
  <Directory "/home/ftp/my.site.org/uuid-files/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000">
  <Limit ALL>
    AllowAll
  </Limit>
  </Directory>

  # I want this to work but it doesn't
  <Directory "/home/ftp/my.site.org/uuid-files/[0-9a-f]">
    <Limit ALL>
      AllowAll
    </Limit>
  </Directory>
</Anonymous>

Пользователь ftp и группа planonline владеют файлами. Я не могу изменить ни одно из этих разрешений, так как они будут установлены другим приложением, создающим каталоги. Разрешения для каталогов выглядят так:

sskanberg@ubuntu-develop:/home/ftp$ ls -l
total 8
-rwxr--r-- 1 ftp planonline    4 2011-11-14 13:15 ftpdir.txt
drwxrwxr-- 3 ftp planonline 4096 2011-11-14 13:08 my.site.org

Итак, мой вопрос: как я могу использовать регулярные выражения в своем теге Directory? Или как я могу достичь своего желания другими способами: сделать каталоги невидимыми для пользователей ftp, но при этом иметь возможность подключаться к ним?

1 Ответ

0 голосов
/ 25 ноября 2011

Вы пробовали использовать HideFiles?я бы предположил, что это должно быть использовано так:

<Directory "/home/ftp/my.site.org/uuid-files">
  HideFiles ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$
  <Limit ALL>
    AllowAll
    IgnoreHidden on
  </Limit>
</Directory>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...