Create 49-pro-micro.rules using your favourite text editor. In Ubuntu, you can use e.g. gedit (in the Accessories menu) or nano (on the command line):
ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="920[3456]", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1", ENV{MTP_NO_PROBE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="920[3456]", GROUP:="lp", MODE:="0660"
KERNEL=="ttyACM*", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="920[3456]", GROUP:="lp", MODE:="0660"
ATTRS{idVendor}=="2341", ATTRS{idProduct}=="920[3456]", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1", ENV{MTP_NO_PROBE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="920[3456]", GROUP:="lp", MODE:="0660"
KERNEL=="ttyACM*", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="920[3456]", GROUP:="lp", MODE:="0660"
You can replace lp with any other group name that should have full access to the microcontroller. The ENV{} parts tell ModemManager to keep its mitts off these devices.
Install the rules file usingsudo install -o root -g root -m 0664 49-pro-micro.rules /lib/udev/rules.d/
sudo udevadm control -R
The first command copies it to the /lib/udev/rules.d/ directory, setting proper ownership and mode, and the second command tells udev to reload the rules. Existing devices are not affected; the new settings are only applied when a device is connected.