我正在尝试在通过 USB 连接到我的盒子的 Android 设备上调试 Google Chrome 中显示的网站。为此,Google Chrome 和 Chromium 桌面版本中实现了远程调试协议。这是问题的背景,但不是我问题的本质。
当 Chrome 和 DevTools 以 root 身份运行时,桌面 chrome 能够与 USB 连接的 android-chrome 进行通信。我怀疑/dev
我的非超级用户缺少某些字符设备的读/写访问权限。因此,当我运行 Chrome 时雅罗斯拉夫,USB 设备列表为空。
设备检测为 root:
普通用户缺少设备:
斯特斯来救援(?)
我想确定应用程序(桌面 Chrome)尝试在我的系统上访问哪些资源,但由于我对该平台的了解有限,我需要有关查找内容的建议。下面是应用程序使用的独特系统调用的列表。您知道其中哪些可能是与 USB 设备之间的通信/协商调用吗?
access getrandom rename
arch_prctl getresgid rt_sigaction
bind getresuid rt_sigprocmask
brk getsockname rt_sigreturn
clock_getres gettid sched_getparam
clone ioctl sched_getscheduler
close listen sendmsg
connect lseek sendto
creat lstat setpriority
dup mkdir set_robust_list
eventfd2 mmap setsockopt
execve mprotect set_tid_address
fadvise64 mremap shutdown
fallocate msync socket
fcntl munmap socketpair
fstat open stat
fstatfs pipe statfs
ftruncate poll symlink
futex prctl sysinfo
getdents prlimit64 uname
geteuid read unlink
getpeername readlink wait4
getpid recvfrom write
getpriority recvmsg writev
我认为 chrome 可能会扫描 USB 设备(大约 80 个调用):
open("/sys/bus/pci/devices/0000:**:**.*/ \
{class,device,irq,resource,vendor}", O_RDONLY) = 153
但它们不在 中/dev
,那么我需要打开哪些设备供普通用户阅读?
这是我的内容/dev
:
# ls -l hidraw* bus/usb/*/*
crw-rw-r-- 1 root usb 189, 0 180418 17:53 bus/usb/001/001
crw-rw-r-- 1 root usb 189, 1 180418 17:53 bus/usb/001/002
crw-rw-r-- 1 root usb 189, 128 180418 17:53 bus/usb/002/001
crw-rw-r-- 1 root usb 189, 129 180418 17:53 bus/usb/002/002
crw-rw-r-- 1 root usb 189, 256 180418 17:53 bus/usb/003/001
crw-rw-r-- 1 root usb 189, 257 180418 17:53 bus/usb/003/002
crw-rw-r-- 1 root usb 189, 258 180418 17:53 bus/usb/003/003
crw-rw-r-- 1 root usb 189, 259 180418 17:53 bus/usb/003/004
crw-rw-r-- 1 root usb 189, 260 180418 17:53 bus/usb/003/005
crw-rw---- 1 root plugdev 189, 263 180419 10:47 bus/usb/003/008
crw-rw-r-- 1 root usb 189, 384 180418 17:53 bus/usb/004/001
crw-rw-r-- 1 root usb 189, 385 180418 17:53 bus/usb/004/002
crw------- 1 root root 251, 0 180418 11:32 hidraw0
crw------- 1 root root 251, 1 180418 11:32 hidraw1
crw------- 1 root root 251, 2 180418 11:32 hidraw2
也许我需要做的就是添加雅罗斯拉夫到插头开发者团体?顺便说一下,这是带有 udev 236 的 linux 4.12.12。
总结:
- 哪些系统调用可能与 USB 通信相关?
/dev
我需要授予我的用户访问哪些节点的权限?