Wie deaktiviere ich die interne Webcam?

10

Ich möchte die interne Webcam meines Laptops mit Ubuntu 13.10 deaktivieren. Wie hier vorgeschlagen , habe ich die betreffenden Kernelmodule bereits deaktiviert, indem ich sie auf die schwarze Liste gesetzt habe. Nach dem Neustart werden die Module trotzdem geladen. Was kann ich tun, um diese Module loszuwerden?

Meine Modul-Blacklist liegt in /etc/modprobe.d/blacklist-webcam.confund sieht folgendermaßen aus:

blacklist videodev
blacklist videobuf2_core
blacklist videobuf2_memops
blacklist videobuf2_vmalloc
blacklist uvcvideo

Aber lsmodgibt mir (nach dem Neustart):

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

Bearbeiten:
Wenn ich ein mache, sind sudo modprobe -r uvcvideodie Module weg. Also könnte ich ein Skript schreiben, um das zu tun. Aber ich würde das nicht als saubere Lösung betrachten ;-)

Marc Hauptmann
quelle
Was bekommen Sie beim Tippen sudo modprobe -r uvcvideo?
Job
1
Wo haben Sie Ihre Blacklist-Datei gespeichert?
Braiam
@Braiam: Die schwarze Liste liegt in /etc/modprobe.d. Es enthält auch Einträge für die Blacklist von Bluetooth-Modulen. Das funktioniert, also wird die Datei interpretiert.
Marc Hauptmann
Was ist der Treiber für Ihre Anforderung, die Kamera zu deaktivieren? Im Ernst, ich versuche nicht zu trollen. Wenn Sie Ressourcen freisetzen möchten, die von den kmodules verwendet werden, und so weiter, ist das großartig. Wenn Sie möchten, dass die Kamera keine Bilder / Videos aufzeichnet und sich nicht um ein paar KB oder Speicher kümmert, ist dies möglicherweise das, was Sie benötigen? pbs.twimg.com/media/BTWPnR_CYAA2pfM.jpg bekommen sie hier eff.org/deeplinks/2013/04/…
0xSheepdog
Ich denke, sie werden später durch udev-Regeln aktiviert. Ich bin nicht sicher, wie Sie diese deaktivieren können.
Braiam

Antworten:

6
  • Wechseln Sie blacklist videodevin Ihrer blacklist.conf zuinstall videodev /bin/false
  • update-initramfs -u
  • reboot

Weitere Informationen finden Sie unter Blacklisting von Kernelmodulen im Arch-Wiki :

Blacklisting

Blacklisting im Kontext von Kernelmodulen ist ein Mechanismus, der das Laden des Kernelmoduls verhindert. Dies kann nützlich sein, wenn beispielsweise die zugehörige Hardware nicht benötigt wird oder wenn das Laden dieses Moduls Probleme verursacht: Beispielsweise gibt es möglicherweise zwei Kernelmodule, die versuchen, dieselbe Hardware zu steuern, und das gemeinsame Laden würde zu a führen Konflikt.

Einige Module werden als Teil des initramfs geladen. mkinitcpio -Mdruckt alle automatisch erkannten Module aus: Um zu verhindern, dass die initramfs einige dieser Module laden, setzen Sie sie in /etc/modprobe.d/modprobe.conf auf die schwarze Liste. Beim Ausführen mkinitcpio -vwerden alle Module aufgelistet, die von den verschiedenen Hooks gezogen werden (z. B. Dateisystem-Hook, Block-Hook usw.). Denken Sie daran, diese .conf-Datei zum Abschnitt FILES in /etc/mkinitcpio.conf hinzuzufügen, falls Sie dies noch nicht getan haben, und erstellen Sie die initramfs neu, sobald Sie die Module auf die schwarze Liste gesetzt haben, und starten Sie sie anschließend neu.

Verwenden von Dateien in /etc/modprobe.d/

Erstellen Sie eine .conf-Datei in /etc/modprobe.d/ und fügen Sie mit dem Schlüsselwort blacklist eine Zeile für jedes Modul hinzu, das Sie auf die Blacklist setzen möchten. Wenn Sie beispielsweise verhindern möchten, dass das pcspkr-Modul geladen wird:

/etc/modprobe.d/nobeep.conf

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

Hinweis: Mit dem Befehl "Blacklist" wird ein Modul auf die Blacklist gesetzt, sodass es nicht automatisch geladen wird. Das Modul kann jedoch geladen werden, wenn ein anderes Modul ohne Blacklist davon abhängt oder wenn es manuell geladen wird.

Es gibt jedoch eine Problemumgehung für dieses Verhalten. Der Befehl install weist modprobe an, einen benutzerdefinierten Befehl auszuführen, anstatt das Modul wie gewohnt in den Kernel einzufügen, sodass Sie das Modul so zwingen können, dass das Laden immer fehlschlägt mit:

/etc/modprobe.d/blacklist.conf

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

Dadurch werden das Modul und alle anderen, die davon abhängen, effektiv auf die schwarze Liste gesetzt.

bain
quelle
1

Nur die Liste der Module in /etc/modprobe.d/blacklist.uvcdrver.conf zu platzieren, sollte funktionieren. Der Dateiname kann beliebig sein. Stellen Sie einfach sicher, dass das Format und die Berechtigungen korrekt sind.

askb
quelle
1

Vielen Dank für Ihre Hilfe! Ich habe die Ursache des Problems gefunden, als ich versucht habe, Bains Lösung zu finden . Seine Lösung funktioniert gut. Nach dem Neustart waren die Module wirklich weg. Es gibt jedoch einen Nachteil: Ich kann das Modul nicht über laden, modprobe uvcvideofalls ich die Webcam wieder aktivieren möchte.

Während ich mein System durchsuchte, um herauszufinden, warum das uvcvideoModul geladen wurde, machte ich schließlich ein grep -r uvcvideo /etc/und voilà, ich fand ein Skript, in /etc/pm/power.ddem ein, modprobe uvcvideowenn das Netzkabel eingesteckt ist, ausgeführt wurde. Ich habe dieses Skript vor einiger Zeit geschrieben, um das zu optimieren Energieverbrauch. Ich habe die Zeilen zum Webcam-Modul auskommentiert und danach hat die Blacklist funktioniert!

Marc Hauptmann
quelle
0

Ich würde vorschlagen, dass Sie rennen

sudo update-initramfs -u

nach dem Ändern Ihrer Blacklist. Dadurch wird Ihre ursprüngliche Ramdisk aktualisiert.

N8tron
quelle
Nein, das hat nicht funktioniert
Marc Hauptmann
0

In dem Fall, dass Sie nach einer Lösung in einer Befehlszeilenanweisung gesucht haben, kann dies hilfreich sein (basierend auf dieser Antwort ):

Verwenden Sie diesen Befehl, um die Kamera bis zum Neustart zu deaktivieren:

sudo modprobe -r uvcvideo

Geben Sie Ihr Passwort ein und wenn im Terminal keine Fehler angezeigt werden, sollte Ihre Webcam deaktiviert sein. Wenn Sie die Fehlermeldung erhalten haben: modprobe: FATAL: Das Modul uvcvideo wird verwendet, können Sie versuchen, das Entfernen zu erzwingen mit:

sudo rmmod -f uvcvideo

Geben Sie die Shell ein, um Ihre Webcam wieder zu aktivieren:

sudo modprobe uvcvideo
gaboroncancio
quelle