Contexto
Estoy automatizando la imagen de la tarjeta SD de una dd
imagen de fábrica existente . La tarjeta SD siempre está conectada a través de un lector de tarjetas USB externo y, por lo tanto, aparece en el sistema como un dispositivo de bloque SCSI /dev/sd*
.
Actualmente la sintaxis de mi comando es: write-image DEVICE
dónde DEVICE
está el dispositivo de bloqueo de la tarjeta SD, por ejemplo. /dev/sdd
.
Problema
Ya estoy haciendo una verificación básica DEVICE
para verificar que sea de la forma, /dev/sd*
pero esto no es suficiente: me temo que los usuarios (gente de producción no acostumbrada a Linux) cometen un error y especifican otro dispositivo aparentemente válido, por ejemplo. /dev/sda
. Puede ver la catástrofe que se avecina, especialmente porque mi script de imágenes necesita privilegios de root (no para escribir la imagen en sí misma, sino modificar la tarjeta SD después, incluido el ajuste del tamaño de una partición según el tamaño real de la tarjeta SD) ...
Pregunta
Me gustaría verificar que el dispositivo especificado sea en realidad un almacenamiento masivo USB (o al menos un dispositivo extraíble) para poder proteger los discos del sistema de que se destruyan accidentalmente. ¿Cómo puedo hacer eso?
No encontré nada relevante en /proc
o en la web, ahora estoy bastante perdido.