1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-27 07:21:18 +01:00

tapsetup: require to be executed with sudo

This commit is contained in:
Martine S. Lenders 2019-07-23 13:26:18 +02:00 committed by Martine Lenders
parent b1babe5c19
commit 08b11d424d

View File

@ -35,15 +35,15 @@ create_bridge() {
case "${PLATFORM}" in
FreeBSD)
sudo kldload if_bridge
sudo ifconfig ${BRNAME} create || exit 1 ;;
kldload if_bridge
ifconfig ${BRNAME} create || exit 1 ;;
Linux)
sudo ip link add name ${BRNAME} type bridge || exit 1
ip link add name ${BRNAME} type bridge || exit 1
if [ -n "${DEACTIVATE_IPV6}" ]; then
sudo -s sh -c "echo 1 > /proc/sys/net/ipv6/conf/${BRNAME}/disable_ipv6" || exit 1
echo 1 > /proc/sys/net/ipv6/conf/${BRNAME}/disable_ipv6 || exit 1
fi ;;
OSX)
sudo ifconfig ${BRNAME} create || exit 1 ;;
ifconfig ${BRNAME} create || exit 1 ;;
*)
;;
esac
@ -52,9 +52,9 @@ create_bridge() {
up_bridge() {
case "${PLATFORM}" in
FreeBSD|OSX)
sudo ifconfig ${BRNAME} up || exit 1 ;;
ifconfig ${BRNAME} up || exit 1 ;;
Linux)
sudo ip link set ${BRNAME} up || exit 1 ;;
ip link set ${BRNAME} up || exit 1 ;;
*)
;;
esac
@ -65,17 +65,17 @@ delete_bridge() {
case "${PLATFORM}" in
FreeBSD)
sudo sysctl net.link.tap.user_open=0
sudo kldunload if_tap || exit 1
sudo kldunload if_bridge || exit 1 ;;
sysctl net.link.tap.user_open=0
kldunload if_tap || exit 1
kldunload if_bridge || exit 1 ;;
Linux)
for IF in $(ls /sys/class/net/${BRNAME}/brif); do
sudo ip link delete "${IF}"
ip link delete "${IF}"
done
sudo ip link delete ${BRNAME} || exit 1 ;;
ip link delete ${BRNAME} || exit 1 ;;
OSX)
sudo ifconfig ${BRNAME} destroy || exit 1 ;;
ifconfig ${BRNAME} destroy || exit 1 ;;
*)
;;
esac
@ -84,8 +84,8 @@ delete_bridge() {
begin_tap() {
case "${PLATFORM}" in
FreeBSD)
sudo kldload if_tap || exit 1
sudo sysctl net.link.tap.user_open=1 ;;
kldload if_tap || exit 1
sysctl net.link.tap.user_open=1 ;;
*)
;;
esac
@ -95,24 +95,24 @@ create_tap() {
case "${PLATFORM}" in
FreeBSD)
echo "creating ${TAPNAME}${N}" || exit 1
sudo ifconfig tap${N} create || exit 1
sudo chown ${USER} /dev/tap${N} || exit 1
sudo ifconfig ${BRNAME} addm tap${N} || exit 1
sudo ifconfig tap${N} up || exit 1 ;;
ifconfig tap${N} create || exit 1
chown ${SUDO_USER} /dev/tap${N} || exit 1
ifconfig ${BRNAME} addm tap${N} || exit 1
ifconfig tap${N} up || exit 1 ;;
Linux)
echo "creating ${TAPNAME}${N}"
sudo ip tuntap add dev ${TAPNAME}${N} mode tap user ${USER} || exit 1
ip tuntap add dev ${TAPNAME}${N} mode tap user ${SUDO_USER} || exit 1
if [ -n "${DEACTIVATE_IPV6}" ]; then
sudo -s sh -c "echo 1 > /proc/sys/net/ipv6/conf/${TAPNAME}${N}/disable_ipv6" || exit 1
echo 1 > /proc/sys/net/ipv6/conf/${TAPNAME}${N}/disable_ipv6 || exit 1
fi
sudo ip link set dev ${TAPNAME}${N} master ${BRNAME} || exit 1
sudo ip link set ${TAPNAME}${N} up || exit 1 ;;
ip link set dev ${TAPNAME}${N} master ${BRNAME} || exit 1
ip link set ${TAPNAME}${N} up || exit 1 ;;
OSX)
sudo chown ${USER} /dev/tap${N} || exit 1
chown ${SUDO_USER} /dev/tap${N} || exit 1
echo "start RIOT instance for tap${N} now and hit enter"
read
sudo ifconfig ${BRNAME} addm tap${N} || exit 1
sudo ifconfig tap${N} up || exit 1 ;;
ifconfig ${BRNAME} addm tap${N} || exit 1
ifconfig tap${N} up || exit 1 ;;
*)
;;
esac
@ -174,12 +174,9 @@ while true ; do
esac
done
if [ -z "${USER}" ]; then
export USER=$(id -un)
if [ -z "${USER}" ]; then
echo 'need to export $USER'
exit 1
fi
if [ -z "${SUDO_USER}" ]; then
echo 'Environment variable $SUDO_USER required; Please run with `sudo`'
exit 1
fi
if [ -z "${COMMAND}" ]; then
COMMAND="create"