-
Q1:安装 arch chroot 容器后,相当一部分命令无法以普通用户身份运行(可以以 root 身份运行),例如 |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 1 reply
-
宿主是 android 系统吗?
如果宿主是android ,并且当前用户不在相应的用户组,那就需要手动配置用户组了。 另外还有一种方法,看起来有点笨。 把命令写入到
echo 'sudo /usr/bin/ping "$@"' | sudo install -m 755 /dev/stdin /usr/local/bin/ping
echo 'sudo /usr/bin/ping "$@"' | install -Dm 700 /dev/stdin ~/.local/bin/ping
|
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
经过我的测试,发现这个问题与发行版无关,可能与内核机制有关,我不确定此问题是否能在其他环境下复现,但是提供一个可能的解决办法 |
Beta Was this translation helpful? Give feedback.
经过我的测试,发现这个问题与发行版无关,可能与内核机制有关,我不确定此问题是否能在其他环境下复现,但是提供一个可能的解决办法
在Linux,1000 以下的 uid 会绑定到系统,在这个及以下的 uid ,将其添加到 aid* 组后,
ping
等命令是允许的然而,1000 以上的 uid 安卓系统保留,添加到 aid* 组后,无法执行此命令
由于 arch 默认添加了 alarm ($UID=1000)用户,因此导致脚本新添加的用户($UID=1001)出现命令无权限情况
( 只测试了 970 1000 与 1001 )
而 10000 以上则被设置为 app 的用户,在这个以上的 uid ,添加组后,命令又被允许了
( 只测试了 10316 10317 10205 )
设置为 termux uid ,挂载 termux $HOME 可以管理 termux 资源,因此,容器中执行
sudo useradd -u <termux uid> termux
sudo usermod -a -G <aid*> termux
sudo su - termux
ping localhost