Os daemons geralmente são executados pelo root (embora às vezes eles alterem o usuário que eles executam).
Para uma notificação normal, você não precisa criar um daemon, basta criar um programa normal e deixá-lo rodar no início de uma sessão. Dessa forma, ele será executado com privilégios de usuário e você executará uma instância separada para cada usuário.
Eu fiz este programa , é um pouco mais complexo do que você precisa, já que ele usa diferentes bibliotecas para rodar em diferentes sistemas, mas é bastante simples e talvez um bom exemplo.