วิธีปิดการใช้งานเว็บแคมภายใน


10

ฉันต้องการปิดการใช้งานเว็บแคมภายในของแล็ปท็อปที่ใช้ Ubuntu 13.10 หรือไม่ ตามที่แนะนำไว้ที่นี่ฉันได้ปิดการใช้งานโมดูลเคอร์เนลที่เกี่ยวข้องโดยการขึ้นบัญชีดำ แต่หลังจากรีบูตโมดูลจะโหลดอย่างไรก็ตาม ฉันจะทำอย่างไรเพื่อกำจัดโมดูลเหล่านี้

บัญชีดำของฉันอยู่ในโมดูล/etc/modprobe.d/blacklist-webcam.confและมีลักษณะดังนี้:

blacklist videodev
blacklist videobuf2_core
blacklist videobuf2_memops
blacklist videobuf2_vmalloc
blacklist uvcvideo

แต่lsmodให้ฉัน (หลังจากรีบูต):

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

แก้ไข:
เมื่อฉันทำsudo modprobe -r uvcvideoโมดูลหายไป ดังนั้นฉันสามารถเขียนสคริปต์เพื่อทำเช่นนั้น แต่ฉันจะไม่คิดว่ามันเป็นทางออกที่สะอาด ;-)


คุณได้อะไรเมื่อคุณพิมพ์sudo modprobe -r uvcvideo?
jobin

1
คุณบันทึกไฟล์บัญชีดำไว้ที่ไหน
Braiam

@Braiam: /etc/modprobe.dโกหกในบัญชีดำ นอกจากนี้ยังมีรายการไปยังโมดูลบลูทู ธ ของบัญชีดำ ใช้งานได้ดังนั้นไฟล์จึงถูกตีความ
Marc Hauptmann

ไดรเวอร์ที่คุณต้องการปิดใช้งานกล้องคืออะไร อย่างจริงจังไม่พยายามหมุนรอบ หากคุณต้องการเพิ่มทรัพยากรที่ใช้โดย kmodules และอะไรที่ยอดเยี่ยม หากคุณต้องการให้กล้องไม่จับภาพ / วิดีโอและไม่สนใจเรื่อง kb หรือหน่วยความจำสักสองสามครั้งนี่อาจเป็นสิ่งที่คุณต้องการ? pbs.twimg.com/media/BTWPnR_CYAA2pfM.jpgรับได้ที่นี่eff.org/deeplinks/2013/04/…
0xSheepdog

ฉันคิดว่าพวกเขากำลังเปิดใช้งานในภายหลังโดยกฎ udev ฉันไม่แน่ใจว่าคุณจะปิดการใช้งานเหล่านั้นได้อย่างไร
Braiam

คำตอบ:


6
  • ในบัญชีดำของคุณเปลี่ยนblacklist videodevเป็นinstall videodev /bin/false
  • update-initramfs -u
  • reboot

ดูรายละเอียดเพิ่มเติมได้ที่Kernel Modules Blacklisting บน Arch Wiki :

ขึ้นบัญชีดำ

การขึ้นบัญชีดำในบริบทของโมดูลเคอร์เนลเป็นกลไกในการป้องกันไม่ให้โหลดโมดูลเคอร์เนล สิ่งนี้อาจมีประโยชน์หากไม่จำเป็นต้องใช้ฮาร์ดแวร์ที่เกี่ยวข้องหรือหากการโหลดโมดูลนั้นทำให้เกิดปัญหา: ตัวอย่างเช่นอาจมีโมดูลเคอร์เนลสองตัวที่พยายามควบคุมฮาร์ดแวร์ชิ้นเดียวกันและการโหลดเข้าด้วยกันจะส่งผลให้ ขัดแย้ง.

บางโมดูลถูกโหลดเป็นส่วนหนึ่งของ initramfs mkinitcpio -Mจะพิมพ์โมดูลที่ตรวจพบโดยอัตโนมัติทั้งหมด: เพื่อป้องกันไม่ให้ initramfs โหลดโมดูลเหล่านั้นบางรายการบัญชีดำใน /etc/modprobe.d/modprobe.conf การรันmkinitcpio -vจะแสดงรายการโมดูลทั้งหมดที่ถูกดึงเข้ามาด้วย hooks ที่หลากหลาย (เช่น hook ของระบบไฟล์, hook block เป็นต้น) อย่าลืมเพิ่มไฟล์. conf นั้นลงในส่วน FILES ใน /etc/mkinitcpio.conf หากคุณยังไม่ได้ดำเนินการและสร้าง initramfs ใหม่เมื่อคุณขึ้นบัญชีดำในโมดูลและรีบูตหลังจากนั้น

การใช้ไฟล์ใน /etc/modprobe.d/

สร้างไฟล์. config ภายใน /etc/modprobe.d/ และต่อท้ายบรรทัดสำหรับแต่ละโมดูลที่คุณต้องการขึ้นบัญชีดำโดยใช้คำสำคัญ blacklist ตัวอย่างเช่นหากคุณต้องการป้องกันไม่ให้โหลดโมดูล pcspkr:

/etc/modprobe.d/nobeep.conf

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

หมายเหตุ: คำสั่ง blacklist จะขึ้นบัญชีดำของโมดูลเพื่อที่จะไม่ถูกโหลดโดยอัตโนมัติ แต่โมดูลอาจถูกโหลดถ้าโมดูลที่ไม่ใช่บัญชีดำอื่นขึ้นอยู่กับมันหรือถ้ามันถูกโหลดด้วยตนเอง

อย่างไรก็ตามมีวิธีแก้ไขสำหรับพฤติกรรมนี้; คำสั่ง install แนะนำให้ modprobe รันคำสั่งที่กำหนดเองแทนการแทรกโมดูลในเคอร์เนลตามปกติดังนั้นคุณสามารถบังคับให้โมดูลล้มเหลวในการโหลดด้วยเสมอ:

/etc/modprobe.d/blacklist.conf

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

นี่จะเป็นการขึ้นบัญชีดำของโมดูลนั้นและสิ่งอื่น ๆ ที่ขึ้นอยู่กับมัน


1

เพียงแค่ใส่รายการของโมดูลใน /etc/modprobe.d/blacklist.uvcdrver.conf ควรใช้งานได้ ชื่อไฟล์สามารถเป็นอะไรก็ได้ เพียงตรวจสอบให้แน่ใจว่ารูปแบบและการอนุญาตนั้นถูกต้อง


1

ขอบคุณมากสำหรับความช่วยเหลือของคุณ! ผมพบว่าแหล่งที่มาของปัญหาที่เกิดขึ้นในขณะที่พยายามแก้ปัญหาของเบน วิธีแก้ปัญหาของเขาทำงานได้ดี หลังจากรีบูตโมดูลก็หายไปจริงๆ แต่มีข้อเสียเปรียบอยู่ข้อหนึ่ง: ฉันไม่สามารถโหลดโมดูลผ่านmodprobe uvcvideoในกรณีที่ฉันต้องการเปิดใช้งานเว็บแคมอีกครั้ง

ในขณะที่ขุดผ่านระบบของฉันเพื่อค้นหาว่าทำไมuvcvideoโมดูลถูกโหลดในที่สุดฉันก็ทำ a grep -r uvcvideo /etc/และvoilàฉันพบสคริปต์/etc/pm/power.dที่ไม่modprobe uvcvideoเมื่อเสียบสายไฟฉันเขียนสคริปต์นี้เมื่อไม่นานมานี้เพื่อเพิ่มประสิทธิภาพ การใช้พลังงาน. ฉันแสดงความคิดเห็นเกี่ยวกับบรรทัดที่เกี่ยวข้องกับโมดูลเว็บแคมและหลังจากนั้นบัญชีดำทำงาน!


0

ฉันอยากจะแนะนำให้คุณเรียกใช้

sudo update-initramfs -u

หลังจากแก้ไขบัญชีดำของคุณ สิ่งนี้จะอัปเดต ramdisk เริ่มต้นของคุณ


ไม่นั่นไม่ได้ผล
Marc Hauptmann

0

ในกรณีที่คุณอยู่หลังโซลูชันในคำสั่งบรรทัดคำสั่งเดียวสิ่งนี้อาจเป็นประโยชน์ (ขึ้นอยู่กับคำตอบนี้ ):

หากต้องการปิดใช้งานกล้องจนกว่าจะรีบูตให้ใช้คำสั่งนี้:

sudo modprobe -r uvcvideo

พิมพ์รหัสผ่านของคุณและหากไม่มีข้อผิดพลาดปรากฏในเครื่องเทอร์มินัลเว็บแคมของคุณควรจะปิดการใช้งาน หากคุณได้รับข้อความแสดงข้อผิดพลาด: modprobe: FATAL: โมดูล uvcvideo ใช้งานอยู่คุณสามารถลองบังคับให้มีการลบออกด้วย:

sudo rmmod -f uvcvideo

หากต้องการเปิดใช้งานเว็บแคมของคุณอีกครั้งให้พิมพ์เชลล์:

sudo modprobe uvcvideo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.