Всем доброго времени суток.
Вообщем тут стал ребром один вопрос. Имеется ProFTPD на котором есть upload каталог. В этот каталог валят все кому не лень и иногда бывает тяжело там разобраться и понять что от кого пришло. Так вот - появилась идея: сделать так чтобы ProFTPD в каталоге /upload/ создавал каталог с ip пользователя при его первом подключении (/upload/<ip>/), а пользователь когда делает cd /upload/ на самом деле попадал бы в /upload/<ip> , но не подозревая об этом. Те для пользователя путь "/upload/"=="/upload/<ip>". И в другие каталоги в реальном /upload он попасть не может и вообще их не видит.
Во как! Подскажите пожалуйста можно ли это сделать стандартными средствами или прийдется свой модуль для ProFTPD писать?
Пишу подробности.
Компиляется как и любой другой модуль для proftpd:
1. Копируем его в contrib/
2. В ./configure добавляем --with-modules=mod_upload
Настройка у модуля одна -- UploadDir.
Параметр -- имя директории(относительно / ftp), в которой и будет производится замена на UploadDir/<ip>.
Каталог UploadDir/<ip> создаётся после успешной команды PASS. Если каталог невозможно создать, то на ftp пускать вроде не должно.
Права на UploadDir надо прописывать отдельно.
Притом, в формате: UploadDir/*/* - чтобы невозможно было удалить диру UploadDir/<ip>.
Список команд, у которых переписываются пути, можно найти в комментариях в начале файла.
Сообщения об ошибках не переписываются.
Также, прошу обратить внимание, что у SITE пути не переписываются. Так что придётся отказаться и от SITE CHMOD.
Планы по дальнейшему развитию:
1. Немного переименовать модуль, ибо его можно использовать не только для upload'а.
2. Разобраться с SITE.
3. Сделать имя создаваемой директории конфигурабельным.
4. <ваше предложение здесь>
5. уже не совсем про proftpd -- написать скрипт/утилиту, чтобы просматривать файлы в 1 директории, а не бегать по всем IP'ам.