It's time for a follow-up. I have had mixed results with USBGuard. The 32-bit PPA I am using works on one computer, but the 64-bit version does not. There may be a workaround, which I have not tested. This leaves three choices (suggestions welcome):
1. Troubleshoot
2. One of the GoodUSB devices
3. Denial

Here's the short version.
I can't recommend USBGuard at this time, because of bugs. My own PPA 64-bit installation on Xenial ( ) is apparently safe to install and use, but works for a while and then fails to allow additional drives. The UI lists commands but is otherwise unresponsive to commands. Furthermore, it makes the computer hang on shutdown, and the hard drive restores data from journal after a hard shutdown. Possibly due to Redhat Bug 1751861 ( ). A possible workaround: adding '/usr/sbin/usbguard-daemon -K -s &' (without quotes) to /etc/rc.d/rc.local on the line above the lines enabling wakeup on usb ( ).

Previously I found the same PPA to work normally for one or two boot cycles, but then fail to start at boot time because of an unspecified parse error in rules.conf. The 32-bit version appears to run correctly on another computer.

Other versions are affected by a nasty bug ( ) which blocks the keyboard and mouse. PPA versions for Disco and later appear to have a patch applied, but Bionic apparently does not ( ). I don't think I can recommend those versions at this time, because they appear to require a poorly documented, or undocumented special procedure for initialization, in order to whitelist the keyboard and mouse. The DeBruijn PPA version for Xenial explicitly does this automatically on installation.

Other bugs: