要以其他 uid 身份执行命令,可以使用su
.补充组列表不是在命令行上指定的,而是从配置文件(/etc/passwd
、/etc/group
)等中读取。
我应该使用什么工具来更改为任意uid和任意补充组?该工具不应读取任何文件,只需执行setuid/setgid/setgroups
我execve
的命令即可。
我期望这样的事情:
# su_ll 10137 --groups 10137,4002,4006,4010 /usr/bin/id
uid=10137 gid=10137 groups=10137,4002,4006,4010
用例:在 Android 中使用应用程序的权限启动 shell。简单su
或run-as
不够,因为它没有填充必要的组,导致当应用程序具有网络访问权限时丢失网络访问权限。