Multicast netlink for non-root process

Jean Tourrilhes (jt@bougret.hpl.hp.com)
Tue, 11 Jun 2002 13:44:18 -0700


Hi,

I'm developping an application that need to monitor every
network interface of the system. Network interfaces are
virtual/dynamic and go up and down all the time, so to keep track of
my interface list, I'm listening for RTM_NEWLINK events on the
RTnetLink socket (RTMGRP_LINK multicast group).

Problem : this works only as ROOT.
And my mother told me that having my application running as
root is bad for my health.

The cause is here :
----------- net/netlink/af_netlink.c - l322 ------------------

static int netlink_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
{
[...]
/* Only superuser is allowed to listen multicasts */
if (nladdr->nl_groups && !capable(CAP_NET_ADMIN))
return -EPERM;
--------------------------------------------------------------

Why ?
Why ?
Why ?

Have a good day...

Jean
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/