Deixe o script PHP gravar os endereços IP em uma tabela de banco de dados. Separadamente, a partir de cron , executa periodicamente um script diferente (recomendação? Python) que consulta os valores e os grava no arquivo .htaccess . Então você pode manter as permissões no arquivo .htaccess , como 0640 , root:www-user .
Nós podemos definir o bit SUID em um script; mas, por padrão, o Linux o ignora corretamente. Basta alterar as permissões para algo como 0700 , root:root no script executado em cron .
Vários trabalhos como este podem ser tratados com essa técnica, uma espécie de fila de banco de dados. Eu o usei quando uma interface da Web é um requisito de projeto para o gerenciamento do sistema. A fila em cenários como esses pode gerenciar usuários, senhas, hosts virtuais, DNS - o nome dele, na verdade.