В любой здравомыслящей системе, если вы не настроили chroots с их собственными /dev
, все файлы устройств находятся под /dev
. Только root может создавать файлы устройств, поэтому вам не нужно беспокоиться о том, что злоумышленники будут создавать файлы устройств в других местах.
Так что все, что вам нужно сделать, это найти файлы, /dev
которые относятся к тому же устройству, что и вы заинтересованы.
ls -lR /dev |awk '/^c/ && $5 == "81," && $6 == "0"'
Вполне вероятно, что это покажет только /dev/video0
. Обычно для каждого устройства существует отдельный файл устройства, и, возможно, существуют дополнительные символические ссылки на него.
Таким образом, практический ответ на ваш вопрос прост. Просто проверьте, какие процессы открывают файл устройства.
fuser /dev/video0
Если вы хотите контролировать доступы (т. Е. Перехватывать процессы, которые могут открыть файл устройства в любое время), используйте один из методов контроля доступа к файлам в Linux для файла (ов) устройства: настройте наблюдение (и проверьте, какие процессы уже имеют устройство файл (ы) открыт)
inotifywait -m -e open,close /dev/video0 &
sleep 1; fuser /dev/video0 # check for processes that have already opened the device
или установите правило аудита, которое будет регистрировать обращения в системных журналах (обычно /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
(иfuser
) по умолчанию не делает то, что вам нужно.