银河麒麟系统命令行禁用摄像头有三种方式:一、临时禁用USB设备,通过echo 0写入对应bConfigurationValue路径;二、永久禁用uvcvideo驱动,需在blacklist.conf中添加blacklist uvcvideo并执行sudo update-initramfs -u;三、卸载已加载模块,运行sudo modprobe -r uvcvideo,若被占用则先用lsof查杀进程。

在银河麒麟系统中通过命令行禁用摄像头,适用于需要快速阻断视频采集、规避图形界面操作或批量部署安全策略的场景,操作后应用将无法打开/dev/video*设备节点。
临时禁用USB摄像头设备
该方法不修改系统配置,仅在当前会话中使指定USB摄像头失去响应能力,重启即恢复,适合测试或短时防护。
第一步:打开终端,执行dmesg | grep -i "uvc\|video",查找摄像头对应的USB设备路径,例如输出含uvcvideo 1-2:1.0,则设备路径为1-2:1.0。
第二步:确认设备实际挂载位置,运行ls /sys/bus/usb/devices/*/bConfigurationValue 2>/dev/null | grep -B1 "1-2:1.0",定位到类似/sys/bus/usb/devices/1-2:1.0/bConfigurationValue的完整路径。
第三步:向该路径写入0值禁用设备:echo 0 | sudo tee /sys/bus/usb/devices/1-2:1.0/bConfigurationValue。
这一步必须使用sudo tee,直接重定向会因权限不足失败;写入成功后,v4l2-ctl --list-devices将不再显示该摄像头,且cat /dev/video0会报No such device错误。
永久禁用uvcvideo内核驱动
此方式让系统启动时彻底不加载摄像头驱动,适用于对隐私要求极高的环境,禁用后所有基于V4L2的摄像头应用均失效,包括系统相机。
方法一:编辑黑名单文件
执行sudo vim /etc/modprobe.d/blacklist.conf,按i进入编辑模式,在文件末尾新增一行:【blacklist uvcvideo】。
保存退出后,必须执行sudo update-initramfs -u更新初始内存盘,否则重启后黑名单不生效。
方法二:一行命令追加(更稳妥)
运行echo "blacklist uvcvideo" | sudo tee -a /etc/modprobe.d/blacklist.conf,再立即执行sudo update-initramfs -u。
注意:若系统使用非uvcvideo驱动(如ov5640、gc2145等专用模块),需先用lsmod | grep video确认真实驱动名,再替换blacklist中的模块名。
卸载已加载的摄像头驱动模块
当uvcvideo已被加载但尚未写入黑名单时,可立即卸载使其失效,效果立竿见影,但重启后自动恢复。
执行sudo modprobe -r uvcvideo卸载模块。
若提示Module uvcvideo is in use,说明有进程正占用摄像头,先运行lsof /dev/video*查出进程PID,用kill -9 PID终止后再重试卸载。
卸载成功后,lsmod | grep uvcvideo无任何输出,且ffmpeg -f v4l2 -i /dev/video0 -t 1 -f null -会报Cannot open video device /dev/video0。

















