On Wed, Jul 09, 2003 at 09:00:46AM -0400, Liam Whalen wrote:
> Now it seems to me that I could do xhost +root and then run ethereal as
> root and this problem would go away but is there anyway to give my user
> account permissions to create sockets?
Your account probably has permission to create IP sockets, but it
doesn't have permission to create PF_PACKET sockets.
At least as I understand the way recent Linux kernels' capability bits
mechanism works, there could, in theory, be userland support for giving
particular accounts particular capability settings; unfortunately, I
don't know of any Linux distribution that has that. To quote the
current CVS version of the tcpdump man page:
Reading packets from a network interface may require that
you have special privileges:
...
Under Linux:
You must be root or tcpdump must be installed
setuid to root (unless your distribution has a ker-
nel that supports capability bits such as
CAP_NET_RAW and code to allow those capability bits
to be given to particular accounts and to cause
those bits to be set on a user's initial processes
when they log in, in which case you must have
CAP_NET_RAW in order to capture and CAP_NET_ADMIN
to enumerate network devices with, for example, the
-D flag).