-
一开始, 在vsftpd 打印的错误是 500 oops : socket
-
在 vsftpd 源码里面找到 buildroot-2016.05/output/build/vsftpd-3.0.3/sysutil.c 文件里面有相关错误打印。
-
然后我将相关错误码打印出来:
-
仔细对比客户的文件系统和我们的文件系统的区别,发现基本上是一致的。
-
最后用kernel 4.4.12 去跑我们系统,发现竟然能通过,基本上确认是kernel的问题。
-
最后实在是没有办法,看一下是哪里会返回 EACCES, 然后就在 kernel 源码的 net 目录下用
grep EACCES * -R
去查找哪里会返回这个错误
- 里面的相关返回 -EACCES 代码,把这段代码注释以后然后重新运行 vsftpd 后即可正常访问。