Desconectar webcam [Solucionado]

Me gustaría estar seguro que la webcam de mi portátil esté siempre desactivada.
Mi equipo:Asus A52JB-SX023 Portátil 15,6" Linux 3.2.0-49-generic Ubuntu 12.04.2 LT

He encontrado esto, pero está en inglés...
http://askubuntu.com/questions/166809/how-can-i-disable-my-webcam

Creo entender que ahí, dicen dos cosas.

  • Para desactivar temporalmente (hasta un nuevo reinicio)
  • sudo modprobe -r uvcvideo

    pudiendo reactivar con

    sudo modprobe uvcvideo

  • Para desactivar indefinidamente (a partir del siguiente reinicio)
  • gksu gedit /etc/modprobe.d/blacklist.conf

    entonces gedit -o kate, etc.- abre 'blacklist.conf' al que hay que añadir la línea

    blacklist uvcvideo

    se guarda 'blacklist.conf', se sale de gedit (o kate) y, a partir del siguiente reinicio, la webcam quedará desactivada indefinidamente

PREGUNTAS:

  1. ¿Es correcto esto?
  2. Si opto por la desactivación indefinida... ¿bastaría con reeditar 'blacklist.conf' sin la línea 'blacklist uvcvideo'?

1- es correcto siempre que tu camara no sea rara y use otro driver. En cualquier caso es completamente seguro hacer eso, no afecta a tu sistema salvo con las webcams.

Para estar seguro miras con el comando lsmod la lista de módulos cargados y si aparece ese pues ya sabes que ese tutorial funciona para ti.

2- Sí y no, bastaría con eso sin ningún problema. Pero además tienes otra opción. El blacklist solo evita que se cargue el módulo automáticamente al inicio, pero no impide que lo cargues manualmente, así que con lanzar el comando "sudo modprobe uvcvideo" aunque la tengas desactivada "definitivamente" se cargaría el módulo y la webcam funcionaría. El "sudo modprobe -r uvcvideo" la desactivaría de nuevo.

Es decir, lo que en esa guía ponen como solución definitiva es más bien una solución que hace que la cámara no este disponible al inicio del sistema. Nada más. Si consideras que estás más tranquilo con ella desactivada yo usaría la combinación de las dos opciones.

Para desactivarse definitivamente habría que eliminar el módulo del driver (borrarlo completamente) eso sí sería definitivo, y la única forma de arreglarlo sería o bien reinstalar el kernel o bien compilar a mano el módulo.

EDITO: recuerda que gksu y gedit son programas propios de gnome y no de kde. Así que en tu caso sería kdesudo kate (por ejemplo)

He escrito un pequeño script para poder activar y desactivar la webcam.

Crea un archivo con el nombre que quieras (yo en mi carpeta personal tengo una carpeta que se llama bin y dentro de ella tengo todos mis scripts, esa carpeta parece que el sistema la detecta automáticamente como un "path" y esos scripts se ejecutan desde cualquier parte como si estuvieran en la carpeta de BINarios del sistema, pero puedes ponerlo donde quieras)

Copias todo el texto este en ese archivo y luego le das permisos de ejecución con

sudo chmod +x /home/alberto/bin/webcam

(La ruta y nombre de archivo es un ejemplo)

Si la has puesto en esa ruta que he explicado antes o si lo copias en /usr/bin (por ejemplo) simplemente presionando alt +f2 y tecleando webcam y dándole al enter ya funcionaría, pero si quieres puedes asignarle una combinación de teclas para que sea aún más rápido.

#!/bin/bash
file=$(ls /dev/video0 2> /dev/null | wc -l)

if [  "$file"  = "0" ];
then
kdialog --yesno "La webcam está desactivada, ¿quieres activarla?" --title "Des/activación de la webcam," --display :0
        if [ $? -eq 1 ]
                then
                exit 0
                else
                kdesudo modprobe uvcvideo
        fi

else
kdialog --yesno "La webcam está activada, ¿quieres desactivarla?" --title "Des/activación de la webcam," --display :0
        if [ $? -eq 1 ]
                then
                exit 0

                else
                kdesudo rmmod uvcvideo 
        fi
fi

shaola escribió:

Para estar seguro miras con el comando lsmod la lista de módulos cargados y si aparece ese pues ya sabes que ese tutorial funciona para ti.

Ya lo comprobé: efectivamente, es 'uvcvideo'. Gracias.

shaola escribió:

EDITO: recuerda que gksu y gedit son programas propios de gnome y no de kde. Así que en tu caso sería kdesudo kate (por ejemplo)

Por eso mismo dije "...entonces gedit -o kate, etc.-...". Hablé de gedit porque ese era el editor mencionado en las instrucciones que copié.

shaola escribió:

He escrito un pequeño script para poder activar y desactivar la webcam.

Por el momento, no tengo la intención de usar la webcam, pero con ese script, creo que queda perfectamente complementado este asunto. Lo doy por solucionado.
Muchas gracias.

Albertodelaxe escribió:

Por el momento, no tengo la intención de usar la webcam, pero con ese script, creo que queda perfectamente complementado este asunto. Lo doy por solucionado.
Muchas gracias.

Ese script no solo activa o desactiva la webcam, lo que hace primero es comprobar si está activada o no y en cualquiera de los dos casos te pregunta si la quieres activar o desactivar.

shaola escribió:

Ese script no solo activa o desactiva la webcam, lo que hace primero es comprobar si está activada o no y en cualquiera de los dos casos te pregunta si la quieres activar o desactivar.

  1. Supongo que, añadiendo tu script en Preferencias del Sistema>Administración del sistema>Autoarranque, funcionará de tal manera que, él solo, nos lo pregunte al iniciar sesión ¿no?
  2. ¿Que quiere decir eso de 'crear como un symlink'? (he intentado añadir un script, y me sale un aviso que pregunta eso: no se qué debo de contestar)

no le veo ningún sentido añadirlo al arranque. arranca una vez añadido a la blacklist y pruebalo, si te dice que está deshabilitada ya ni te preocupes.

shaola escribió:

no le veo ningún sentido añadirlo al arranque. arranca una vez añadido a la blacklist y pruebalo, si te dice que está deshabilitada ya ni te preocupes.

Pues si que lo tiene... A ver, ya lo tengo añadido a la blacklist y, efectivamente, al arrancar ese módulo no se inicia. ¿Para qué comprobarlo a cada inicio?
Luego, si estuviera añadido el script al arranque, eso daría la posibilidad de recordarte, precisamente, que no tienes activada la webcam y que, a lo mejor, para esa sesión te pudiera convenir activarla.
Y no lo digo por mí -que nunca hago uso de ella, y con tenerla desactivada en la blacklist, me basta- sino para otros usuarios que quisieran, eventualmente, hacer uso de la webcam.

Y ya puestos, una pregunta: ¿podría un hacker activarla? ¿como? Supongo que, si se hace con mi clave maestra, sin problemas, lo que me lleva a preguntarte ¿podrías hacer un script que avise de que la webcam está activada?

Todo este tema, y el script que te sugiero hagas, tienen su importancia si tenemos en cuenta todo esto:

Etc., etc, etc...

Claro, un hacker si se hace con tu contraseña podría hacerlo.

En cuanto a hacer un script para eso...¿para que molestarse en hacer un trabajo ya hecho?

usando incron (de los repositorios) podemos monitorizar la carpeta /dev y cada vez que se cree un archivo en ella (al cargar un driver se crea un archivo ahí que representa los dispositivos) ejecute ese script estaría listo.

Aquí una guía de como hacerlo:
http://www.errr-online.com/index.php/2011/02/25/monitor-a-directory-or-f...

básicamente se instala incrontab, se añade tu usuario al archivo /etc/incron/incron.allow, y luego se configura con

incrontab -e

se añade la linea siguiente:

/dev IN_CREATE /ruta/del/script/webcam

se guarda con CTRL + O, se sale con CTRL +X

y listo
cada vez que se cargue el driver de la webcam se ejecutará ese script.

shaola escribió:

básicamente se instala incrontab, se añade tu usuario al archivo /etc/incron/incron.allow, y luego se configura con

Como decía Jack el destripador...¡Vayamos por partes!
Siguiendo tu link, hice:

apt-get install incron

Bueno... en realidad, hice:

sudo apt-get install incron

Hasta ahí...fácil (solo había que caer en lo del sudo...).
El problem ahora es que, cuando busco '/etc/incron/incron.allow'...
el path '/etc/incron/' ¡no existe!.
Sin embargo, lo que sí existe es un fichero 'incron.allow', incluso un 'incron.conf' y un 'incron.deny'... pero con el path 'etc/incron.allow', 'etc/incron.conf', 'etc/incron.deny' (Ah! y también hay la subcarpeta 'etc/incron.d')
Eso síi... todos ellos, ficheros y subcarpeta, con fecha anterior a hoy (13.05.10, en castellano, 10/05/13), y vacíos/a

shaola escribió:

...y luego se configura con

incrontab -e

Falee... ¿quieres decir que ejecute esa linea en consola, no?
¿y no tengo que hacer nada más, solo ejecutar esa línea?

shaola escribió:

se añade la linea siguiente:

/dev IN_CREATE /ruta/del/script/webcam

se guarda con CTRL + O, se sale con CTRL +X

y listo
cada vez que se cargue el driver de la webcam se ejecutará ese script.

No se porqué... pero intuyo que en tus instrucciones, en algún momento, había que...¿editar -con kate, gedit, u lo que sea- algo?

la ruta del archivo puede variar de una distro a otra, simplemente editalo donde lo encuentras y añade tu nombre de usuario. y sí, se supone que están vaciós esos archivos.

si, ejecuta en consola

incrontab -e

y se abrirá el editor nano, se abrirá un archivo en blanco solo añade esa linea presionas las combinaciones de teclas mencionadas antes y listo.

No necesitas usar el kate ni nada, si quieres para editar el archivo incron.allow pero lo de añadir la linea se hace tras ejecutar el incrontab -e tal cual.