“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)。
apt install vsftpd
#之后整整一个月百度而来的猛如虎的各种操作各种坑,
#且不说修改vsftpd.conf的各种参数,
#下载源码修改编译,安装gdb调试,通过网络教程禁用子进程改变uid gid的函数,修改源码的secuil.c文件等等,
#用FileZilla连接时候永远都是500 oops socket
#死的心都有了。就差下载源码重新编译内核了,但是我是新手,这么高深的动作怎么会?且不说手机上能说改就改linux内核?老大您就饶了我吧!
#之后,一个命令(strace)拯救了我,把我从gdb的苦海和vsftpd.dbg官方调试包中拖上岸。我这次成功解决问题全赖此命令。
#新手都能好好琢磨出来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中查看。
“500 oops socket” Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)【成功完美简单极致】的更多相关文章
- vsftpd 服务移植出现 500 oops : socket 解决
一开始, 在vsftpd 打印的错误是 500 oops : socket 在 vsftpd 源码里面找到 buildroot-2016.05/output/build/vsftpd-3.0.3/sy ...
- Linux Deploy 使用 Repository部署Linux系统
Linux Deploy 使用 Repository部署Linux系统 为了解决镜像不稳定导致包下载错误,能得到一个稳定环境,可以使用linux deploy导出功能. 这里提供两个制作好的包 用户名 ...
- java项目 在 linux ubuntu 上的部署相关
--------------------JDK在linux ubuntu上的安装------------------------------------------------------------ ...
- Dell Omsa在Linux服务器上安装部署
前言 本页详述了在一台Linux(RHEL6.4 x86_64)服务器上部署安装OMSA的通用做法,包括OMSA软件的获取方法和安装步骤. 演示环境: PowerEdge R620, RHEL 6.4 ...
- linux系统上项目部署
步骤:(特别注意:虚拟机安装的一般是32位的操作系统,jdk也必须使用32位的)查看虚拟机版本:sudo uname --m i686 //表示是32位 x86_64 // 表示是64位 查看是否已经 ...
- linux rz上传文件及出错解决方案
在把Windows上的文件传至Linux端时用到SecureCRT,一般小文件都没有问题,文件太大时则出现了上传后的文件只有几K大小,当然大于2个G的是不可能传的上去的了.对于几百M到1G多的大文件要 ...
- 安装Linux Deploy和Termux之后,再安装ftp服务软件都是多余的!
之前以为Debian 9 running via Linux Deploy或者Termux在安卓系统部署之后,一定要安装vsftpd或者pure-ftpd这些专门的ftp服务器软件,才能提供ftp服务 ...
- 在Linux系统上查看Apache服务器的错误日志
错误日志和访问日志文件为系统管理员提供了有用的信息,比如,为 Web 服务器排障,保护系统不受各种各样的恶意活动侵犯,或者只是进行各种各样的分析以监控 HTTP 服务器.根据你 Web 服务器配置的不 ...
- 在你的andorid设备上运行netcore (Linux Deploy)
最近注意到.net core 的新版本已经开始支持ARM 平台的CPU, 特意去Linux Deploy 中尝试了一下,真的可以运行 Welcome to Ubuntu 16.04 LTS (GNU/ ...
随机推荐
- flask注册蓝图报错
记录下这个我找了两天的坑... take no arguments() 这两天一直学习flask的时候,我把注册的蓝图,写成注册的form表单的 举个栗子 class TetsView(view.Me ...
- golang GMP goroutine调度器
Goroutine可以动态的伸缩栈的大小,最小2-4kb,最大1GB
- IAR环境定义位变量标志位 STM8 MSP430通用
首先建立一个公共点H文件,加入通用代码如下 typedef union { struct { unsigned char b0:1; unsigned char b1:1; unsigned char ...
- java视频流的断点续传功能
项目中需要实现浏览器中视频的拖动问题解决 /** * 视频文件的断点续传功能 * @param path 文件路径 * @param request request * @param response ...
- 实验:非GTID 级联复制架构变为一主多从
- gnuplot名词缩写
http://blog.163.com/yucheng_xiao/blog/static/7660019220141017114630822/ with 缩写成 w lt 是 linetype 的缩 ...
- Impala队列内存参数分析
同步发布在csdn上 问题 对Impala队列内存的几个参数分析了下,欢迎指正 队列资源池的几个内存配置 Maximum Query Memory Limit 某个队列资源池,一个查询在一个Impal ...
- redis位操作
setbit 设置指定key的偏移量处的值 key:键值 offset:二进制数据的偏移量(注意从左开始为第0位) value:要设置的值(0或1) getbit 获取对应key的offset处的值 ...
- Spark性能调优篇六之调节数据本地化等待时长
数据本地化等待时长调节的优化 在项目该如何使用? 通过 spark.locality.wait 参数进行设置,默认为3s,6s,10s. 项目中代码展示: new SparkConf().set(&q ...
- 仵航说 Vue项目如何打包并发布到linux服务器 仵老大
1,打包 1.1首先你会在本地编辑好你的代码, 1.2然后在控制台输入 npm run build npm run build 1.3稍等片刻就打包完毕 2,位置 2.1打包完毕之后会在项目中生成一个 ...