“500 oops socket” Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)【成功完美简单极致】

“500 oops socket” Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)【成功完美简单极致】

#自从手机root后安装Linux Deploy开始安装了Debian9开始准备鼓捣ftp服务器(vsftpd)。linux

apt install vsftpd服务器

#以后整整一个月百度而来的猛如虎的各类操做各类坑,网络

#且不说修改vsftpd.conf的各类参数,socket

#下载源码修改编译,安装gdb调试,经过网络教程禁用子进程改变uid gid的函数,修改源码的secuil.c文件等等,函数

#用FileZilla链接时候永远都是500 oops socketoop

#死的心都有了。就差下载源码从新编译内核了,可是我是新手,这么高深的动做怎么会?且不说手机上能说改就改linux内核?老大您就饶了我吧!ui

#以后,一个命令(strace)拯救了我,把我从gdb的苦海和vsftpd.dbg官方调试包中拖上岸。我此次成功解决问题全赖此命令。spa

#新手都能好好琢磨出来strace -v -f -s 2048 -p [vsftpd服务的pid],一点一点分析出了问题的眉目。在这里,这个命令我就不赘述,网上详解不少。我如今着重说解决方案:很短,就几步而已调试

nano /etc/passwd教程

#找到nobody用户把65534:65534改为65534:3003而后存盘,就完事了。记得把

nano /etc/ftpusers

#里面的“#root”注释掉才能使用root用户,而后为了方便上传删写文件

nano /etc/vsftpd.conf

#里面最后加一行“write_enable=YES”,可是删写文件仍然老是被拒绝。即便重启也无效。我后来按照百度教程,还不得不在/root下建立了一个目录pub目录改属性

chmod 777 /root/pub

#才成功的能开始使用上传和删除操做,而后即便把pub删了,重启等等,均可以正常删写服务器内容了。仿佛只要在vsftpd.conf里写write_enable=YES一行就完事,可是一开始确实是被拒的。不知为何。

#在此次探究中,我发现nobody用户才是vsftpd发生500 oops socket的关键之所在,而并非以前网上部分教程所提到的vsftpd没有子进程建立权限,事实上根据下面的调试命令,我发现vsftpd是彻底具有子进程建立权限的而建立出的nobody用户子进程却不具有网络使用权限,因此我才想到了修改nobody的所属组,而后就完美解决了。

#这个命令就是发现上面缘由的关键strace -v -f -s 2048 -p [vsftpd服务的pid]有兴趣鼓捣的能够试试。可是输出的内容很长,建议粘贴到word中查看。

相关文章
相关标签/搜索