Làm thế nào để vô hiệu hóa webcam nội bộ?


10

Tôi muốn tắt webcam bên trong của máy tính xách tay chạy Ubuntu 13.10? Như đã đề xuất ở đây , tôi đã vô hiệu hóa các mô-đun hạt nhân liên quan bằng cách liệt kê chúng vào danh sách đen. Nhưng sau khi khởi động lại, các mô-đun vẫn được tải. Tôi có thể làm gì để thoát khỏi các mô-đun này?

Danh sách đen mô-đun của tôi nằm trong /etc/modprobe.d/blacklist-webcam.confvà trông như thế này:

blacklist videodev
blacklist videobuf2_core
blacklist videobuf2_memops
blacklist videobuf2_vmalloc
blacklist uvcvideo

Nhưng lsmodcho tôi (sau khi khởi động lại):

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

Chỉnh sửa:
Khi tôi làm một sudo modprobe -r uvcvideomô-đun đã biến mất. Vì vậy, tôi có thể viết một kịch bản để làm điều đó. Nhưng tôi sẽ không coi đó là một giải pháp sạch ;-)


Bạn nhận được gì khi bạn gõ sudo modprobe -r uvcvideo?
việc

1
Bạn đã lưu tập tin danh sách đen của bạn ở đâu?
Braiam

@Braiam: danh sách đen nằm trong /etc/modprobe.d. Nó cũng chứa các mục để mô-đun bluetooth danh sách đen. Điều đó làm việc, vì vậy các tập tin được giải thích.
Marc Hauptmann

Trình điều khiển đằng sau yêu cầu của bạn để vô hiệu hóa máy ảnh là gì? Nghiêm túc, không cố gắng để troll. Nếu bạn muốn giải phóng tài nguyên được sử dụng bởi kmodules và không có gì, thật tuyệt vời. Nếu bạn muốn máy ảnh không chụp ảnh / video và không quan tâm đến một vài kb hoặc bộ nhớ, có lẽ đây là thứ bạn cần? pbs.twimg.com/media/BTWPnR_CYAA2pfM.jpg nhận được chúng ở đây eff.org/deeplinks/2013/04/...
0xSheepdog

Tôi nghĩ rằng họ sẽ được kích hoạt sau bởi các quy tắc udev. Tôi không chắc làm thế nào bạn có thể vô hiệu hóa chúng.
Braiam

Câu trả lời:


6
  • Trong danh sách đen của bạn, hãy thay đổi blacklist videodevthànhinstall videodev /bin/false
  • update-initramfs -u
  • reboot

Để biết thêm chi tiết, xem Danh sách đen mô-đun hạt nhân trên Arch Wiki :

Danh sách đen

Danh sách đen, trong ngữ cảnh của các mô-đun hạt nhân, là một cơ chế để ngăn chặn mô-đun hạt nhân tải. Điều này có thể hữu ích nếu, chẳng hạn, phần cứng liên quan là không cần thiết hoặc nếu tải mô-đun đó gây ra sự cố: ví dụ, có thể có hai mô-đun hạt nhân cố gắng kiểm soát cùng một phần cứng và tải chúng cùng nhau sẽ dẫn đến một cuộc xung đột.

Một số mô-đun được tải như một phần của initramfs. mkinitcpio -Msẽ in ra tất cả các mô-đun được phát hiện tự động: để ngăn các initramfs tải một số mô-đun đó, hãy liệt kê chúng trong /etc/modprobe.d/modprobe.conf. Chạy mkinitcpio -vsẽ liệt kê tất cả các mô-đun được kéo bởi các hook khác nhau (ví dụ hook hook của hệ thống tập tin, hook hook, v.v.). Hãy nhớ thêm tệp .conf đó vào phần PHIM trong /etc/mkinitcpio.conf, nếu bạn chưa làm như vậy và xây dựng lại các initramfs sau khi bạn đã liệt kê các mô-đun và khởi động lại sau đó.

Sử dụng tệp trong /etc/modprobe.d/

Tạo một tệp .conf bên trong /etc/modprobe.d/ và nối một dòng cho mỗi mô-đun bạn muốn đưa vào danh sách đen, sử dụng từ khóa danh sách đen. Ví dụ: nếu bạn muốn ngăn mô-đun pcspkr tải:

/etc/modprobe.d/nobeep.conf

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

Lưu ý: Lệnh danh sách đen sẽ đưa vào danh sách đen một mô-đun để nó không được tải tự động, nhưng mô-đun có thể được tải nếu một mô-đun không nằm trong danh sách đen khác phụ thuộc vào nó hoặc nếu nó được tải bằng tay.

Tuy nhiên, có một cách giải quyết cho hành vi này; lệnh install hướng dẫn modprobe chạy một lệnh tùy chỉnh thay vì chèn mô-đun vào kernel như bình thường, vì vậy bạn có thể buộc mô-đun luôn bị lỗi khi tải với:

/etc/modprobe.d/blacklist.conf

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

Điều này sẽ có hiệu quả danh sách đen mô-đun đó và bất kỳ khác mà phụ thuộc vào nó.


1

Chỉ cần đặt danh sách các mô-đun trong /etc/modprobe.d/blacklist.uvcdrver.conf sẽ hoạt động. Tên tập tin có thể là bất cứ điều gì. Chỉ cần đảm bảo định dạng và quyền là chính xác.


1

Cám ơn tất cả các bạn vì đã giúp đỡ! Tôi tìm thấy nguồn gốc của vấn đề trong khi thử giải pháp của bain . Giải pháp của ông hoạt động tốt. Sau khi khởi động lại các mô-đun đã thực sự biến mất. Nhưng có một nhược điểm: Tôi không thể tải mô-đun qua modprobe uvcvideotrong trường hợp tôi muốn kích hoạt lại webcam.

Trong khi đào qua hệ thống của tôi để tìm hiểu, tại sao uvcvideomô-đun được tải, cuối cùng tôi đã tạo grep -r uvcvideo /etc/và voilà, tôi tìm thấy một tập lệnh trong /etc/pm/power.dđó đã modprobe uvcvideocắm cáp nguồn. Tôi đã viết kịch bản này một thời gian trước để tối ưu hóa sự tiêu thụ năng lượng. Tôi đã nhận xét các dòng xử lý mô-đun webcam và sau đó, danh sách đen đã hoạt động!


0

Tôi sẽ đề nghị bạn chạy

sudo update-initramfs -u

sau khi sửa đổi danh sách đen của bạn. Điều này sẽ cập nhật ramdisk ban đầu của bạn.


Không, điều đó không hiệu quả
Marc Hauptmann

0

Trong trường hợp bạn theo đuổi một giải pháp trong một lệnh dòng lệnh, điều này có thể hữu ích (dựa trên câu trả lời này ):

Để tắt camera cho đến khi khởi động lại, hãy sử dụng lệnh này:

sudo modprobe -r uvcvideo

Nhập mật khẩu của bạn và nếu không có lỗi hiển thị trong thiết bị đầu cuối, webcam của bạn sẽ bị vô hiệu hóa. Nếu bạn nhận được thông báo lỗi: modprobe: FATAL: Mô-đun uvcvideo đang được sử dụng, bạn có thể thử buộc loại bỏ nó bằng:

sudo rmmod -f uvcvideo

Để bật lại webcam của bạn, hãy nhập shell:

sudo modprobe uvcvideo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.