A melhor maneira de conseguir isso é, na minha opinião, é através das regras do udev. O Udev é um deamon que detecta o hardware que está sendo conectado e executa tarefas específicas em tais eventos. Google por "escrever regras do udev" e escolher tutoriais que melhor se encaixem no seu caso.
Em suma, as regras ale colocadas em arquivos em /etc/udev/rules.d/
e cobrem uma variedade de eventos relacionados a hardware. Os que você estaria escrevendo provavelmente terminariam sempre em RUN+="/path/to/your/script --with its --parameters"