Ну по мне так не совсем корректный подход. Логичнее будет использовать системные функции для добавление пользователей фтп например. И для них же под паролем отдавать файлы с Basic Auth.
И кст после такого добавления (редактирование конфига) рестарт апача не нужен разве?
А вот реврайты более дельное предложение и + отдавать файлы через проверку доступа в самом скрипте, т.е. нельзя с веба скачать файл напрямую.
А фтп создаем как фичу для продвинутых.