我只能使用 cheese 的 sudo 权限来访问我的网络摄像头。
ls -l /dev/video0
输出:
crw-rw----+ 1 root video 81, 0 Nov 13 15:18 /dev/video0
相同video1
。当设置
sudo chmod 666 /dev/video*
(或 660)项变更被接受
crw-rw-rw-+ 1 root video 81, 0 Nov 13 15:18 /dev/video0
crw-rw-rw-+ 1 root video 81, 0 Nov 13 15:18 /dev/video1
但是这并不能改变事实,即 cheese 只有在使用 sudo 权限运行时才能找到网络摄像头。重新启动时,旧的权限video*
将重置为以前的权限。我还将我的用户添加到了组中video
。然而,这在重新启动后仍然存在,但并没有解决我的问题。
答案1
不要采用当前的方法,而是将自己添加到video
组中。请执行以下操作:
device="/dev/video0"
sudo adduser $USER $(stat -c "%G" $device)
rw
这允许您成为可以使用该设备的群组的成员,但还有一步。
要使所有进程成为新组的成员,请注销并登录。组成员资格是按时设置的login
。
要在新组中创建单个进程(用于测试,在注销/登录之前):
newgrp $(stat -c "%G" $device)
看man newgrp
。