En cualquier sistema cuerdo, a menos que haya configurado chroots con los suyos /dev
, todos los archivos del dispositivo están bajo /dev
. Solo root puede crear archivos de dispositivo, por lo que no debe preocuparse por los usuarios malintencionados que crean archivos de dispositivo en otro lugar.
Entonces, todo lo que necesita hacer es ubicar los archivos /dev
que se refieren al mismo dispositivo en el que está interesado.
ls -lR /dev |awk '/^c/ && $5 == "81," && $6 == "0"'
Es probable que esto solo se muestre /dev/video0
. Por lo general, hay un solo archivo de dispositivo para cada dispositivo, y posiblemente haya enlaces simbólicos adicionales.
Por lo tanto, la respuesta práctica a su pregunta es simple. Simplemente verifique qué procesos tienen abierto el archivo del dispositivo.
fuser /dev/video0
Si desea monitorear los accesos (es decir, detectar procesos que pueden abrir el archivo del dispositivo en cualquier momento), use uno de los métodos de monitoreo de acceso a archivos de Linux en los archivos del dispositivo: configure un reloj (y verifique qué procesos ya tienen el dispositivo archivo (s) abierto)
inotifywait -m -e open,close /dev/video0 &
sleep 1; fuser /dev/video0 # check for processes that have already opened the device
o configurar una regla de auditoría que registrará los accesos en los registros del sistema (normalmente /var/log/audit/audit.log
)
auditctl -w path=/dev/video0 &
sleep 1; fuser /dev/video0 # check for processes that have already opened the device
lsof
(yfuser
) por defecto no hace lo que necesita.