¿Cómo deshabilitar la cámara web interna?

10

Quiero deshabilitar la cámara web interna de mi computadora portátil con Ubuntu 13.10? Como se sugiere aquí , ya deshabilité los módulos del kernel correspondientes al incluirlos en la lista negra. Pero después de reiniciar los módulos se cargan sin embargo. ¿Qué puedo hacer para deshacerme de estos módulos?

Mi lista negra de módulos se encuentra /etc/modprobe.d/blacklist-webcam.confy se ve así:

blacklist videodev
blacklist videobuf2_core
blacklist videobuf2_memops
blacklist videobuf2_vmalloc
blacklist uvcvideo

Pero lsmodme da (después de reiniciar):

Module                  Size  Used by
uvcvideo               80885  0 
videobuf2_vmalloc      13216  1 uvcvideo
videobuf2_memops       13362  1 videobuf2_vmalloc
videobuf2_core         40499  1 uvcvideo
videodev              133509  2 uvcvideo,videobuf2_core

Editar:
cuando hago un sudo modprobe -r uvcvideolos módulos se han ido. Entonces podría escribir un guión para hacer eso. Pero no lo consideraría como una solución limpia ;-)

Marc Hauptmann
fuente
¿Qué obtienes cuando escribes sudo modprobe -r uvcvideo?
trabajo en
1
¿Dónde guardó su archivo de lista negra?
Braiam
@Braiam: la lista negra yace /etc/modprobe.d. También contiene entradas a la lista negra de módulos bluetooth. Eso funciona, por lo que se interpreta el archivo.
Marc Hauptmann
¿Cuál es el controlador detrás de su requisito para desactivar la cámara? En serio, no trato de troll. Si quieres liberar recursos utilizados por los kmodules y demás, genial. Si desea que la cámara no capture imágenes / video, y no le importen un par de kb o memoria, ¿tal vez esto es lo que necesita? pbs.twimg.com/media/BTWPnR_CYAA2pfM.jpg consíguelos
0xSheepdog
Creo que se habilitan más tarde por las reglas de udev. No estoy seguro de cómo puede deshabilitarlos.
Braiam

Respuestas:

6
  • En su blacklist.conf cambie blacklist videodevainstall videodev /bin/false
  • update-initramfs -u
  • reboot

Para obtener más información, consulte la Lista negra de módulos de kernel en Arch Wiki :

Listas negras

La lista negra, en el contexto de los módulos del núcleo, es un mecanismo para evitar que se cargue el módulo del núcleo. Esto podría ser útil si, por ejemplo, el hardware asociado no es necesario, o si cargar ese módulo causa problemas: por ejemplo, puede haber dos módulos del núcleo que intenten controlar la misma pieza de hardware, y cargarlos juntos resultaría en un conflicto.

Algunos módulos se cargan como parte de initramfs. mkinitcpio -Mimprimirá todos los módulos detectados automáticamente: para evitar que initramfs cargue algunos de esos módulos, haga una lista negra en /etc/modprobe.d/modprobe.conf. Al ejecutar, mkinitcpio -vse enumerarán todos los módulos extraídos por los diversos enlaces (por ejemplo, enlace de sistemas de archivos, enlace de bloque, etc.). Recuerde agregar ese archivo .conf a la sección ARCHIVOS en /etc/mkinitcpio.conf, si aún no lo ha hecho, y reconstruya los initramfs una vez que haya incluido en la lista negra los módulos, y reinicie después.

Usando archivos en /etc/modprobe.d/

Cree un archivo .conf dentro de /etc/modprobe.d/ y agregue una línea para cada módulo que desee incluir en la lista negra, utilizando la palabra clave de lista negra. Si, por ejemplo, desea evitar que se cargue el módulo pcspkr:

/etc/modprobe.d/nobeep.conf

# Do not load the 'pcspkr' module on boot.
blacklist pcspkr

Nota: El comando de lista negra incluirá en la lista negra un módulo para que no se cargue automáticamente, pero el módulo puede cargarse si otro módulo no incluido en la lista negra depende de él o si se carga manualmente.

Sin embargo, hay una solución para este comportamiento; el comando de instalación le indica a modprobe que ejecute un comando personalizado en lugar de insertar el módulo en el kernel de manera normal, por lo que puede forzar que el módulo siempre falle al cargar con:

/etc/modprobe.d/blacklist.conf

...
install module_name /bin/false
...

Esto pondrá en una lista negra ese módulo y cualquier otro que dependa de él.

baño
fuente
1

Simplemente poner la lista de módulos en /etc/modprobe.d/blacklist.uvcdrver.conf debería funcionar. El nombre del archivo puede ser cualquier cosa. Solo asegúrese de que el formato y los permisos sean correctos.

askb
fuente
1

¡Muchas gracias a todos por su ayuda! Encontré la fuente del problema al intentar la solución de Bain . Su solución funciona bien. Después de reiniciar los módulos realmente se habían ido. Pero hay un inconveniente: no puedo cargar el módulo modprobe uvcvideoen caso de que quiera volver a habilitar la cámara web.

Mientras cavaba a través de mi sistema para averiguar por qué uvcvideose cargó el módulo, finalmente hice un grep -r uvcvideo /etc/y voilà, encontré un script en el /etc/pm/power.dque hice un modprobe uvcvideocuando el cable de alimentación está enchufado. Escribí este script hace algún tiempo para optimizar el el consumo de energía. Comenté las líneas relacionadas con el módulo de la cámara web y después de eso, ¡la lista negra funcionó!

Marc Hauptmann
fuente
0

Te sugiero que corras

sudo update-initramfs -u

después de modificar tu lista negra. Esto actualizará su disco RAM inicial.

N8tron
fuente
No, eso no funcionó
Marc Hauptmann
0

En el caso de que buscara una solución en una instrucción de línea de comando, esto podría ser útil (según esta respuesta ):

Para deshabilitar la cámara hasta que se reinicie, use este comando:

sudo modprobe -r uvcvideo

Escriba su contraseña y si no se muestran errores en el terminal, su cámara web debería estar deshabilitada. Si recibió el mensaje de error: modprobe: FATAL: el módulo uvcvideo está en uso, puede intentar forzar su eliminación con:

sudo rmmod -f uvcvideo

Para volver a habilitar su cámara web, escriba shell:

sudo modprobe uvcvideo
gaboroncancio
fuente