“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中查看。

原文地址:https://www.cnblogs.com/-fresh/p/10321728.html

时间: 2024-07-30 08:24:01

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

Dell Omsa在Linux服务器上安装部署

前言 本页详述了在一台Linux(RHEL6.4 x86_64)服务器上部署安装OMSA的通用做法,包括OMSA软件的获取方法和安装步骤. 演示环境: PowerEdge R620, RHEL 6.4 x86_64 OMSA所必须的关联安装包的安装 安装OMSA之前,我们必须确保OMSA安装所需的一些先决安装包已经安装,它们包括: libcmpiCppImpl0libwsman1sblim-sfcbsblim-sfccopenwsman-clientopenwsman-server 其中sbli

Linux服务器上安装部署Tomcat服务器

作为一个J2EE项目的容器,JDK是必须的,首先到JDK官网,下载一个适用于Linux操作系统的JDK.可百度搜索JDK,直接进去官网JDK1.8下载地址,由于JDK随时都在更新中,克根据自己的需求去下载.  建议下载的安装包(反正我是喜欢用这个). 使用 命令将JDK解压或解压后复制在目录 /usr/lib 中 , 随后配置环境变量: 编辑文件,于文件末尾加上一下内容:  此处还需将安装好的JDK设置为默认JDK: 最后,重启服务器,输入java,javac命令测试即可. 同样的,建议到官网下

linux rz上传文件及出错解决方案

在把Windows上的文件传至Linux端时用到SecureCRT,一般小文件都没有问题,文件太大时则出现了上传后的文件只有几K大小,当然大于2个G的是不可能传的上去的了.对于几百M到1G多的大文件要如下处理. 单独用rz会有两个问题:上传中断.上传文件变化(md5不同), 解决办法是上传是用 rz -be ,并且去掉弹出的对话框中"Upload files as ASCII"前的勾选. -a, –ascii -b, –binary 用binary的方式上传下载,不解释字符为ascii

Docker在Linux/Windows上运行NetCore文章系列

原文:Docker在Linux/Windows上运行NetCore文章系列 Windows系列 因为Window很简单,VS提供界面化配置,所以只写了一篇文章 Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用 Linux(ubuntu 16.04) Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台 Docker在Linux上运行NetCore系列(二)把本地编译好的镜像发布到线上阿里云仓库 Docker

Linux联接vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误

当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错误: [html] view plaincopy 500 OOPS: vsftpd: refusing to run with writable root inside chroot () 这个问题发生在最新的这是由于下面的更新造成的: [html] view plaincopy - Add stronger checks for the configuration error of running with a wri

【linux】500 OOPS:cannot change directory:/root

在安装完red hat enterprise linux 6.5后,通过ftp不能使用root用户,将/etc/vsftpd/ftpusers和/etc/vsftpd/user_list两个文件中的root通过添加#号注释掉,重启ftp服务:service vsftpd restart后,依然报错:500 OOPS:cannot change directory:/root 通过上网分析为selinux的配置问题,解决办法如下: 1.# setsebool -P ftp_home_dir on 

【linux】——FTP出现500 OOPS: cannot change directory的解决方法

cannot change directory:/home/*** ftp服务器连接失败,错误提示: 500 OOPS: cannot change directory:/home/******* 500 OOPS: child died 解决方法: 在终端输入命令: setsebool -P ftpd_disable_trans 1 service vsftpd restart 就OK了! 原因:这是因为服务器开启了selinux,这限制了FTP的登录.

linux下FTP拒绝(ftp: connect: Connection refused,500 OOPS: cannot read config file)

使用Ubunto15.0.4环境下,使用APT命令下载的vsftpd程序 在/etc/vsftpd.conf中开启匿名用户权限(anonymous_enable=YES),重新启动vsftpd后,在用ftp localhost,竟然会报ftp: connect: Connection refused的错误,使用sudo service vsftpd start,或sudo /etc/init.d/vsftpd start,竟然启动不起来.报500 OOPS: cannot read config

Debian 安装vsftpd出现500 OOPS: prctl PR_SET_SECCOMP failed的解决办法

如果在ftp连接中出现如下错误: 500 OOPS: prctl PR_SET_SECCOMP failed 则在/etc/vsftpd/vsftpd.conf文件中加入下面这句: #vim /etc/vsftpd/vsftpd.conf seccomp_sandbox=NO