From 4e809e852aa045a7ad150ed69486f387ffa34b6a Mon Sep 17 00:00:00 2001 From: tb <> Date: Sun, 8 Jul 2018 20:10:26 +0000 Subject: [PATCH] netstart is used during system start, but also interactively. Show proper error message if a regular user executes netstart. Only do the privilege check if the id binary is available, which might not be the case during diskless system startup. ok deraadt, jasper, jca, krw, rpe (who wrote the same diff), sthen --- src/etc/netstart | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/etc/netstart b/src/etc/netstart index 6e3fb808..4010a25f 100644 --- a/src/etc/netstart +++ b/src/etc/netstart @@ -1,6 +1,6 @@ #!/bin/sh - # -# $OpenBSD: netstart,v 1.198 2018/04/28 22:38:32 rpe Exp $ +# $OpenBSD: netstart,v 1.199 2018/07/08 20:10:26 tb Exp $ # Turn off Strict Bourne shell mode. set +o sh @@ -201,6 +201,13 @@ defaultroute() { done } +# Make sure the invoking user has the right privileges. Check for presence of +# id(1) to avoid problems with diskless setups. +if [[ -x /usr/bin/id ]] && (($(id -u) != 0)); then + echo "${0##*/}: need root privileges" + exit 1 +fi + # Get network related vars from rc.conf using the parsing routine from rc.subr. FUNCS_ONLY=1 . /etc/rc.d/rc.subr _rc_parse_conf