Date: Fri, 12 Mar 1999 14:11:11 -0500 (EST) From: Joseph Scott <joseph@randomnetworks.com> To: randyk <randyk@ccsales.com> Cc: questions@FreeBSD.ORG Subject: Re: A Perl/Socket question Message-ID: <Pine.BSF.4.10.9903121406570.3200-100000@sonic.digital-web.net> In-Reply-To: <19990311151836.13691@ccsales.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 11 Mar 1999, randyk wrote:
> Hi,
Howdy.
> I'm a little confused:
Well with any luck it won't last for long :-)
>
> What makes this HAVE TO run as root?
>
> $self->{"proto_num"} = (getprotobyname('icmp'))[2] ||
> croak("Can't get icmp protocol by name");
> $self->{"pid"} = $$ & 0xffff; # Save lower 16 bits of pid
> $self->{"fh"} = FileHandle->new();
> socket($self->{"fh"}, &PF_INET(), &SOCK_RAW(), $self->{"proto_num"}) ||
> croak("icmp socket error - $!");
Right off the top of my head I would say that it has to run as
root because of it's use of icmp.
>
> This is called from Ping.pm in the Net::Ping module which obviously
> makes a call to the Socket.pm module and I've looked in there and do
> not understand why this returns an "Operation not permitted Ping icmp"
> when not run by superuser (root).
I haven't played with this specifically, but ok.
>
> It seems to use the same call as ping does...and I need to move the
> restriction from the other
> user...or code an exception...so my web based utility will work with it...
Take a look a the ping program on your freebsd box :
prompt>which ping
/sbin/ping
prompt>ls -lga /sbin/ping
-r-sr-xr-x 1 root wheel 144376 Feb 15 02:43 /sbin/ping
^
The sbit set to run as root no matter which user is actually
running the program.
>
> Thank you,
> Randy Katz
You may be able to get more info from a perl specific group.
Joseph Scott
joseph@randomnetworks.com
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.9903121406570.3200-100000>
