安卓通过root权限控制应用联网

安卓通过root权限控制应用联网

允许应用联网

iptables -I OUTPUT -m owner --uid-owner 安卓应用的uid -j ACCEPT

禁止应用联网

iptables -I OUTPUT -m owner --uid-owner 安卓应用的uid -j DROP

命令解释:

安卓的机制跟传统linux是不一样的,不能用传统linux那样直接通过端口或者应用进程来管控,而且安卓主要是以system用户身份控制这些操作,root用户虽然权限比system更高,可是代码优先级不如system,故而,咱们只能通过root后,调用iptables命令来管控安卓应用的联网权限,通过获取已经安装的应用程序uid,再结合linux下的禁用单个用户uid联网命令,即可达到禁用联网的目的。
因为安卓修改了linux传统内核,将linux传统的用户机制给修改了,安卓上把0-9和1000号,划为第一层用户,权限最高,包括root、dev、proc、shm、system等,第二层则是1001-2000,这部分权限比上面低一些,能做的也十分有限,比如adb shell,而普通用户开始的位置,根据不同安卓版本,而产生不同的起始数字,但是可以肯定的是,普通用户安装的软件起始uid肯定是一万以上开始起步。
安卓上也有多用户模式,不过只是10-999这个区间,在安卓5.0(api21)正式发布并且完善,可以通过adb命令

pm create-user 

来实现创建用户

am start-user uid

实现启动用户

END

猜你喜欢

转载自blog.csdn.net/sorry_my_life/article/details/131205644