MENU

尝试解决WLinux普通用户无法使用ping的坑路

不知道为什么,WLinux下ping必须要root才能执行,不然就ping: socket: Operation not permitted,在找bug的边缘疯狂试探

Microsoft Windows [版本 10.0.17763.195]

WLinux版本号:1.1.27.0

以管理员身份运行WSL

上来直觉是Microsoft/WSL#18,但是这个bug在Build 14926被修复了,而我是Build 17763。尝试在PowerShell(管理员)中执行wsl ping果然没用,不是这个问题。

更换发行版

拿出我的另一台机器,目前WSL安装着Ubuntu 18.04,Windows Build相同,工作完全正常

搜索

WSL,ping,WLinux,permission等关键词组合搜索,没找到啥有价值的(狂立flag)

卸载重装

重启可以解决90%的问题;
重装可以解决99%的问题;
重买可以解决99.99%的问题;
弃用可以解决100%的问题。

——沃·兹基硕德

并没有任何*用

查看权限

又回到最初的起点,既然是权限问题,就瞅一眼各种权限吧

用户权限

挺好的,除了普通用户不叫root,也不在root用户组以外

文件权限

ping的权限不看不知道,一看吓一跳:

Ubuntu的:

-rwsr-xr-x 1 root root

WLinux的:

-rwxr-xr-x 1 root root

woccccc我的s(SUID)呢!

sudo chmod u+s /bin/ping,然后就正常了

后续

向WLinux汇报bug,搜索issue找到了跟我有相同问题的WhitewaterFoundry/WLinux#226,我为什么没先来这搜一下呢!!! 专业踩坑 (dan wu shi jian)

issue里有人表示无法复现,不知道为什么,先subscribe着看看


Mirages真香

Tags: WSL, WLinux, ping
Leave a Comment

captcha
请输入验证码