We use two-factor authentication at work. The one-time token generator looks a lot like an automobile key. It is easy to modify Linux to make a silly car noise when the token generator is plugged in. It turns your lame one-time token into a cool ignition key for your laptop.
Here is a video that shows what it looks like:
To do this for your device, create a shell script to make the sound of a car. I have created an audio file called car.mp3 containing the car sound. The shell script plays this file with mplayer. Record the sound of your car, or grab a file from the internet.
Here is a video that shows what it looks like:
To do this for your device, create a shell script to make the sound of a car. I have created an audio file called car.mp3 containing the car sound. The shell script plays this file with mplayer. Record the sound of your car, or grab a file from the internet.
$ cat /root/car.sh #!/bin/bash # Play a silly car starting sound mplayer /root/car.mp3 &Now you need obtain the vendor ID. Disconnect your token generator and run this command:
$ udevadm monitorNow insert your device. You will see an output like this:
KERNEL[] add /devices/pci0000:00/0000:00:1a.0/usb3/3-1 (usb) KERNEL[] add /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0 (usb) KERNEL[] add /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/0003:1050:0010.0015 (hid) UDEV [] add /devices/pci0000:00/0000:00:1a.0/usb3/3-1 (usb) UDEV [] add /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0 (usb) UDEV [] add /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/0003:1050:0010.0015 (hid) KERNEL[] add /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/input/input33 (input) UDEV [] add /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/0003:1050:0010.0015/hidraw/hidraw0 (hidraw) KERNEL[] add /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/input/input33/event13 (input) KERNEL[] add /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/0003:1050:0010.0015/hidraw/hidraw0 (hidraw) UDEV [] add /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/input/input33 (input) UDEV [] add /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/input/input33/event13 (input)The part after the 0003: is your vendor ID. Of course, it will be different for you. Now create a udev rule to specify the action. This is what my rule looks like:
$ cat /etc/udev/rules.d/90-token.rules # Make a silly sound like the starting of a car SUBSYSTEM=="usb", ATTR{idVendor}=="1050", MODE="0664", GROUP="plugdev", RUN+="/root/car.sh"That's it, you don't need to restart anything. If you have done it correctly, then the car sound will play every time you insert your key.