vsftpd 服务移植出现 500 oops : socket 解决

  • 一开始, 在vsftpd 打印的错误是 500 oops : socket
  • 在 vsftpd 源码里面找到 buildroot-2016.05/output/build/vsftpd-3.0.3/sysutil.c 文件里面有相关错误打印。

  • 然后我将相关错误码打印出来:

991711-20170527141545138-1045937930.png

  • 发现是 13 号错误,没有访问权限,EACCES
  • 仔细对比客户的文件系统和我们的文件系统的区别,发现基本上是一致的。

  • 最后用kernel 4.4.12 去跑我们系统,发现竟然能通过,基本上确认是kernel的问题。

  • 最后实在是没有办法,看一下是哪里会返回 EACCES, 然后就在 kernel 源码的 net 目录下用 grep EACCES * -R去查找哪里会返回这个错误

991711-20170527141926685-591449236.png

  • 最后修改了 kernel3.2.0/net/ipv4/af_inet.c
  • 里面的相关返回 -EACCES 代码,把这段代码注释以后然后重新运行 vsftpd 后即可正常访问。

991711-20170527142010138-810508579.png

转载于:https://www.cnblogs.com/chenfulin5/p/6912706.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值