Reverse Tethering over USB with non rooted Android 5.1 Phone and Linux PC I have a PC running Slackware Linux and a non rooted Motorola Moto-G with Android 5.1.
Following this guide I should be able to share PC internet connection with my phone. But when I finally launch last command from PC as root:

# adb shell netcfg usb0 dhcp


It says that operation is not permitted, I think due to lack of privileges:

action 'dhcp' failed (Permission denied)


I think may be the phone has to be rooted.
I saw some question like this but related to older Android versions, so I ask you a confirm:

Is there any way to share PC internet connection with my Moto-G over USB without root permissions on the phone?
Sorry for this late response, but as it seems you have not found a solution yet, I though I'd chime in:

I was also looking for a reverse tethering solution for unrooted devices, but could not find any. Eventually, I started to develop my own solution. The result is an app that works on devices running Android 4.0 or higher on client side, and all major desktop OSs on the host side.

The app is available on Google Play: ReverseTethering NoRoot