以非 root 用户身份在 android chrome 中进行调试

以非 root 用户身份在 android chrome 中进行调试

我正在尝试在通过 USB 连接到我的盒子的 Android 设备上调试 Google Chrome 中显示的网站。为此,Google Chrome 和 Chromium 桌面版本中实现了远程调试协议。这是问题的背景,但不是我问题的本质。

当 Chrome 和 DevTools 以 root 身份运行时,桌面 chrome 能够与 USB 连接的 android-chrome 进行通信。我怀疑/dev我的非超级用户缺少某些字符设备的读/写访问权限。因此,当我运行 Chrome 时雅罗斯拉夫,USB 设备列表为空。

设备检测为 root:

超级用户可以读取USB

普通用户缺少设备:

非root用户无法读取USB

斯特斯来救援(?)

我想确定应用程序(桌面 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。

总结:

  1. 哪些系统调用可能与 USB 通信相关?
  2. /dev我需要授予我的用户访问哪些节点的权限?

相关内容