This might sound like the usual "didn't read the docs" issue, but I'm afraid it's not. I'm using Arduino 1.8.8 on Linux Mint 18 (Ubuntu-based), and I'm unable to upload code to my Leonardo board (permission denied). I'm a member of "dialout", and /dev/ttyACM* is owned by root:dialout. Running Arduino IDE as root works, but is a no-go. And yes, I've rebooted, re-plugged the board, re-installed Arduino 1.8.8... It worked when I was using Linux Mint 17 with Arduino 1.6.2, it works on my Samsung netbook running Lubuntu and Arduino 1.8.8, but I can't get it up and running on my current main system. The internet turns up nothing but the usual "add your user to the dialout group" stuff.
Any ideas how I can further diagnose the problem?