On a Linux machine, I am trying to run the udhcpc command as non-root. I am getting the error udhcpc: socket: Operation not permitted. Is there any way to execute udhcpc as a simple user in Linux?
Asked
Active
Viewed 1,708 times
2
Gilles 'SO- stop being evil'
- 807,993
- 194
- 1,674
- 2,175
-
This belongs on superuser.com – Ex Umbris May 23 '11 at 17:13
-
Do you really want a non-root user potentially changing the machine's IP address? – Ex Umbris May 23 '11 at 17:14
1 Answers
1
A dhcp client needs to bind an ICMP socket, and that requires root permissions¹. You can give a specific user permission to run dhcp through sudo. Run visudo to add a line like this to the configuration (joe is the name of the user to authorize):
joe ALL = (root) /sbin/udhcpc
¹ Or the appropriate capability, but they're not widespread yet.
Gilles 'SO- stop being evil'
- 807,993
- 194
- 1,674
- 2,175