Ніколи не користувався, на щастя, завжди вистачало UseFtpUsers = On і /etc/ftpusers з переліком забанених юзерів;
> чи потрібно казати proftpd перечитати базу чи він кожен раз знову до неї дивиться?
Дока вимагає в конфігу самому задати квері яке буде використовуватись модулем шоб кверяти базу, причому з умовою "WHERE name = '%{0}'":
> SQLNamedQuery get-allowed-clients SELECT "allowed ... "
> SQLNamedQuery get-denied-clients SELECT "denied ... "
Значить ніякого початкового зчитування бази в память нема і на кожну логін-спробу юзера смикається квері з БД. В памяті створюються дві таблиці для allow і deny clients в які записується результат квері.
При кожному логіні спочатку проглядаються таблиці з памяті, і якщо не знайдено відповідності то вже тоді кверяється база, виходить така собі оптимізація.
Відповідно, якщо юзер спробував залогуватись по ftp перший раз (отже при наступному логіні дані будуть братись з памяті) і він в denied, то всі наступні логіни він буде denied. Тому мабуть треба періодично рестартувати демон.
Такі мої міркування, на 100% правдивість не претендую.