Android:4.4.4
一、应用场景
在Android设备上,现在我们外接了一个USB转串口的设备,设备节点是/dev/ttyUSB0:
# ls -l /dev/ttyUSB0
crw-rw---- 1 root root 188, 0 /dev/ttyUSB0
信息显示:该设备的用户及其所属组别都是root,root的持有者对该设备具有读写权限。但是,我们的App是被排除在root之外的,总之无法读写该设备。
一个解决方案是:赋予others以读写权限。但是这样,任何其他第三方应用都可以访问我们的设备,安全性一丝不剩。
另一个解决方案就是:改变/dev/ttyUSB0所属的用户组:
crw-rw---- 1 root selfgroup 188, 0 /dev/ttyUSB0
哪个App想使用该设备,就把它加入到selfgroup 组中。由于权限分发权在我们手中,安全性就得到了保障。
二、添加自定义用户组
接下来就是怎么添加我们自己的用户组。
在Android中,每一个用户组都有一个唯一的ID号,定义在文件:
system\core\include\private\android_filesystem_config.h
/* This is the master Users and Groups conf