Xié Lóng

文章 分类 评论
17 3 3

站点介绍

随缘更新的博客

Linux Deploy中的一个坑 - 普通用户无法访问外部网络

Xié Lóng 2022-10-11 196 0条评论 技术 Linux

首页 / 正文

在手机上通过Linux Deploy安装了一个Ubuntu系统,在root环境下执行的联网命令都没有问题,直到我回到普通用户下执行了ping命令,提示Temporary failure in name resolution错误。

检查了/etc/resolv.conf等文件,添加了aid_inet aid_net_raw等用户组也没用,nslookup traceroute等命令也无法得到结果,而加上sudo就可以。
网上查找了许多方法也无果。

后来使用了strace -f ping xxx命令得到了ping的系统调用过程,中间有一大段库调用提示No such file or directory错误,不确定有无影响,不过在最后几行明显有一个sendto(...)的调用返回了一个errno EPERM(Operation not permitted),网上查到的说明要么是防火墙DROP packet,要么是缺少/etc/nsswitch.conf文件,在我看来应该是权限不足,因为我在容器中设置防火墙报出内核不支持,在安卓外面设置防火墙也没有效果。

折腾半天后打算放弃了,毕竟root用户能联网。然后注意到系统给我的普通用户分配的uid和gid是60000,看了一下passwd文件,1000、2000、3000都被系统占用了,还注意到有如下两行:

aid_app_start:x:10000:10000::/:/bin/false
aid_app_end:x:19999:19999::/:/bin/false

这不免引起我的一些猜想,于是试着将uid与gid改成了5000,再ping一下,居然ping通了!

这背后的原因暂且不追究,先记录下来再说。

评论(0)

日历

2023年12月

     12
3456789
10111213141516
17181920212223
24252627282930
31      

友情链接

文章目录

推荐关键字: VS C++ Wallpaper Linux QT WSL typecho 种花