Я не думаю, что есть элегантный способ сделать это - Linux рассматривает расширения как просто еще одну часть имени файла, поэтому на стороне ОС нет специальной обработки.
Самое элегантное решение , учитывая, что в процессе идет "загрузка", состоит в том, чтобы проверить их на стороне вашего сервера, если это веб-приложение или что-то подобное.
Возможное, но не очень элегантное решение на стороне Linux будет быть тем, что вы предложили, создав небольшую утилиту, используя inotify , чтобы наблюдать за созданием файла в каталоге (может быть, переименование тоже?), и удалите файл, если он не соответствует критериям.