vsftpd安装及遇到的问题

FTP登录(vsftpd)报错500 OOPS: vsftpd: refusing to run with writable root inside chroot()的问题 FTP登录(vsftpd)报错500 OOPS: vsftpd: refusing to run with writable root inside chroot() 最终查找资料,定位原因如下: 当配置 chroot_local_user=YES 锁定用户登录 FTP 后,只能到自己的主目录下,不能随便切换到其它目录。 但是普通系统用户默认是可以在自己的主目录里写文件的,vsftp 出于安全性要求,如果配置为锁定了用户的 FTP 登录目录,则所在目录不能有写权限。 阅读详情

先抛出两个常见的问题,让很多遇到此问题的人头痛不已,看似简单的问题,我也是费劲心思搞了两天才搞定,我再说说我是怎么解决的。即vsftpd 530 Login incorrect 和vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误。
1. 安装环境
操作系统: CentOS Linux release 7.4.1708 (Core) 
          系统信息:3.10.0-693.2.2.el7.x86_64 
2. 使用yum安装
yum -y install vsftpd

3. 转到/etc/vsftpd
3个配置文件的说明
ftpusers----------ftp用户黑名单,其中的用户不允许访问ftp服务器上传下载文件。
user_list---这里说了,如果配置项userlist_deny=NO,则只允许列表中的用户访问ftp,如果userlist_deny=YES,则列表中的用户不允许访问ftp.
vsftpd.conf ---这个是最重要的配置文件,很多问题都出在这里。
具体配置后面再讲。
4. 创建用户及指定其目录
先说一下ftp的用户分类,可以登录ftp的用户一共分为3类
操作系统内部用户
vsftpd虚拟用户
匿名用户
我选第一种用户,即操作系统内建用户登录ftp.
我的用户名putan123
adduser -d /opt/download  -g ftpuser -s /sbin/nologin putan123

指定目录/opt/download为上传下载目录;
指定用户组ftpuser
让用户putan123不能终端登录系统,只能用作ftp用户,这里还要限制制访问目录/opt/download,这里后面配置说明。

如果以前创建过此用户,现在删除重建,可能会出现两个错误,分别为:
>>Creating mailbox file: File exists
原因分析:当用户del user的时候,未删除相关联的邮箱账号文件,默认在/var/spool/mail/下。
解决方法:删除mail下对应的$USER文件即可。如用户putan123,rm -rf /var/spool/mail/putan123
>>adduser warning:the home directory already exists
Not copying any file from skel directory into it. 
原因分析:使用 userdel user 删除用户引起。
解决方法:改为userdel -rf user删除掉用户,重新建用户。

创建目录download后,要给相应的权限,众说纷纭,有说设置不正确有可能访问拒绝,这里我设置为750,证明下传上载都可以。
chmod 750 /opt/download

>> 修改用户密码
passwd putan123
两次输入密码成设置成功。
5.现在讲配置,先讲我刚安装时的配置,改了这几项,其它使用默认。

关掉匿名访问
anonymous_enable=NO 

这里有说selinux有影响,那就按照说明把selinux设置一下,放过vsftpd,还有防火墙,放开21,20端口,这里不讲这两项设置。
local_enable=YES

write_enable=YES

xferlog_enable=YES

# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES

//注意这两项
所有用户都被限制在其主目录下
chroot_local_user=YES
不使用chroot_list_file指定的用户列表,没有任何“例外”用户
chroot_list_enable=NO

# When "listen" directive is enabled, vsftpd runs in standalone mode and
# listens on IPv4 sockets. This directive cannot be used in conjunction
# with the listen_ipv6 directive.
listen=YES

listen_ipv6=NO

//启用写日志,默认在/var/log/vsftpd.log
use_localtime=YES
dual_log_enable=YES

pam_service_name=vsftpd

这个组合说明,在user_list中的用户允许登录,不在user_list中的用户不能登录,所以我这里将putan123加入user_list配置文件。
userlist_enable=YES
userlist_deny=NO

要加入开机启动这里就不讲了。

完成了这些基本配置后,启动服务
systemctl start vsftpd.service

客户端登录试试,报以下经典的错误
vsftpd 530 Login incorrect
让人头痛的事开始了, 大家遇到的问题都不尽相同,有说selinux拦劫了,防火墙档住了,有说阿里云端口挡住了,还有的说pam.d配置不对等等,
其中pam.d的配置也说有多种情况,有的说要删除这项,有的说要改成那项,总之这里说法非常的多。
可能问题就出在这几个地方,按顺序都检查一遍,我这几个地方都检查了,还是不行,怎么改都会出现vsftpd 530 Login incorrect,简直可以让人
崩溃,最后冷静心下来,一步一步分析,看似简单,却搞两天解决不了。既然是登录权限,看去看来还是回到pam.d这里的配置,打开看了下
/etc/pam.d/vsftpd


#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

这个地方网上提到很多种组合法,既然默认的,那我不改他的结构,有人说文件目录不对问题,我就查一下.so文件在那个目录

find / -name pam_keyinit.so
显示在这里
/usr/lib64/security/pam_keyinit.so
其它几个文件都在这里,那么改成对的看看

#%PAM-1.0
session    optional     /usr/lib64/security/pam_keyinit.so    force revoke
auth       required     /usr/lib64/security/pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     /usr/lib64/security/pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     /usr/lib64/security/pam_loginuid.so
session    include      password-auth

特别注意:

(1) 这里任何项都不要删除或者改成别的,只改.so的路径成正确的即可,在某些系统下面这样就可以。

(2) 而在centos-7中,如果在(1)步不行,那注释掉以下一行后可以登录:

#auth    required /usr/lib64/security/pam_shells.so

重启vsftpd服务。终于是可以登录了,不再报这个错了,折腾了2两天算是有点进展。

不过又报另一个错:
vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
有人说是这样的原因:从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:
allow_writeable_chroot=YES
我使用了后者,在配置中加入allow_writeable_chroot=YES这一项。问题解决。

另外登录如果出现列出列表超时问题,将客户端的三个模式都改试一下,按照我这个配置,我发现改为主动模式可以解决这个问题。

总结一下原因,大致出在这几个地方:
(1). pam.d 里面的vsftpd文件里的so文件路径不对。默认的结构不要改,只改路径,开始就犯了这个错误,按网上说的一阵改,或者增加或者减少。
(2). vsftpd.conf文件中的配置项有问题。配置项对应其下用户列表文件,注意各种组合和黑名单。
(3). 从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。 
(4). selinux档住了,防火墙扯住了端口,指定的监听端口一定要放开,我放开了21,22两个端口。如果修改了默认监听端口,要重新配置过。
(5). 客户端连接时,注意是默认模式,主动模式,被动模式中的那一种,另外登录类型选正常还是别的,视情况而定,加密类型,如果没有加密选普通,协议也要选对ftp等等。 

YOLOv13保姆级教程+AKConv模块:可变形卷积+自适应核优化,mAP提升3.23%,召回率&mAP50~95显著提升(论文涨点模块已验证) 本文介绍了一种改进的YOLOv13-AKConv模型,通过引入AKConv模块显著提升了目标检测性能。实验结果表明,优化后的模型(绿色曲线)相比原模型(蓝色曲线)在mAP指标上提升了3.23个点,同时召回率、mAP50-95等指标均有明显提升。作者详细阐述了模型移植过程,包括创建yolov13-AKConv.yaml配置文件,修改tasks.py和modules/init.py文件,以及实现AKConv模块的核心代码。该模块采用可变形卷积思想,通过动态生成采样点位置来增强特征提取能力,并集成了BN和SiLU 阅读详情

相关推荐

autoDL算力云装Xinference[坑与步骤]

在页面直接点击下载会出现下着下载进度条消失,试了几次才出现这个报错,现在我们就继续安装缺少的包吧。这一步成功绕开了系统盘空间限制。先租用一个合适的服务器,建议不要选最新版本,跟我选的一样即可,不然后面会出现。最近在 AutoDL 上尝试部署。🚫 不要直接使用以下命令。点击下面链接即可打开。

ngadminq的博客 2383

vsftpd出现500 OOPS: vsftpd: refusing to run with writable root inside chroot ()的解决方案

vsftpd更新到3.0.5后出现个神奇的错误:500 OOPS: vsftpd: refusing to run with writable root inside chroot (),导致访问服务器被拒绝,而配置什么的都没有改变过,一定有什么猫腻。2)死扛,在配置文件vsftpd.conf中加入allow_writeable_chroot=YES。这可能会影响到不小心。打开了chroot_local_user的人,但这就是生活。嗯,你是作者你说的算,经过多方偷窥资料,发现两个解决方案。

编程日志 6873

【vue看板】

大屏看板提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:代码量较多,看板中的。

weixin_46223284的博客 2772

解决vsftpd的refusing to run with writable root inside chroot错误

问题的是因为用户的根目录可写,并且使用了chroot限制,而这在最近的更新里是不被允许的。要修复这个错误,可以用命令chmod a-w /home/user去除用户根目录的写权限,注意把目录替换成你自己的。对于标准的vsftpd build (vsftpd):(我用的是此方法)

weixin_46065254的博客 3494

从论文到生产:iSLIP优先级匹配算法在SDN交换机中的20年演进史

本文回顾了iSLIP优先级匹配算法在SDN交换机中的20年演进历程,从斯坦福大学的原始论文到现代芯片实现。通过独特的指针滑动和迭代循环机制,iSLIP算法显著提升了交换机的吞吐量和公平性,解决了传统FIFO调度的队头阻塞问题。文章详细探讨了算法在硬件实现中的工程挑战、开源实践及未来AI时代的智能调度方向。

weixin_29230649的博客 331

【自动驾驶学习笔记——Prescan和Simulink 学习笔记和问题记录(1)】

主要记录一些Prescan/Simulink 联合仿真出现的问题。

ly1336545868的博客 1465

vsftpd 报错refusing to run with writable root inside chroot

1、响应: 500 OOPS: vsftpd: refusing to run with writable root inside chroot() 错误: 严重错误: 无法连接到服务器 解决方案:ftp武器根目录必须是755,不能是777权限 而且用户属主必须是root sudo chmod 755 /var/ftp sudo chown root:root /var/...

tajon1226的专栏 9755

DeepSeek邮件管理全攻略

DeepSeek邮件助手是一款高效的邮件处理工具,提供智能分类、撰写、回复和任务自动化功能。通过API调用或多智能体系统,它能自动分类邮件意图、生成专业回复并优化邮件内容。核心功能包括智能过滤、会议安排和任务提醒,支持与主流邮箱服务集成。提供精准提示词模板,帮助用户快速生成得体邮件,提升工作效率。适合个人和企业使用,通过简单配置即可实现邮件处理自动化。

Genio_Wang的博客 180

安装VSFTPD时遇到的问题

用VMware安装ubuntu以后。又按步骤安装了VMware-tools。又继续安装VSFTPD的时候出现了问题。 输入:sudo apt-get install vsftpd 返回错误 :E:找不到软件包 vsftpd. 然后去更新源:输入 sudo apt-get update 没有更新。。所有的源都是404 not found 怎么办呢? 解决方法: 重新编辑sou...

weixin_30311605的博客 418

块存储:AIO的直接写流程注释

提交io流程中aio_write之前函数的注释,可参考“块存储:AIO的直接读流程注释”。

yiyeguzhou100的专栏 1334

最新2026年《网络数据安全风险评估办法》条款解读

大型企业集团IT变革下的零信任安全体系建设方案(55页).pptx。以数据安全为核心的安全立体防御体系解决方案(41页).pptx。让数据安全合规地创造价值(15页 PPT).pptx。大型集团数据安全应急预案(57页).docx。数据安全治理与评估服务业务介绍.pptx。数据安全管理实践(17页).pptx。大数据安全架构设计方案.pptx。大数据安全规划总体方案.pptx。数据库安全综合治理方案.pptx。医疗数据安全建设方案.pptx。数据安全框架规划图.pptx。数据安全治理方案.pptx。

cdfunlove的博客 47

vsftpd安装以及常见问题

1.安装 检查Linux系统是否安装了vsftpd的命令:rpm -qa|grep vsftpd 卸载vsftpd的命令yum remove vsftpd 执行yum -y install vsftpd yum安装vsftpd的默认配置文件在/etc/vsftpd/vsftpd.conf,见第六节的配置文件详情,覆盖后重启服务 systemctl restart vsftpd 2.添加FTP文件目录 mkdir -p/web/data/ftp 3.添加用户 useradd...

沙漠面包的博客 2571

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Linux中安装vsftpd错误,linux vsftpd 安装出现的问题

想了好久 也看不明白,只运行make,可以通过。makeinstall就有问题从If往下就是makeinstall 报的错是 vsftpd-2.0.5版本[root@localhostvsftpd-2.0.5]#make;makeinstallgcc-ovsftpdmain.outility.oprelogin.oftpcmdio.opostlogin.opri...

weixin_39922476的博客 1592

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

ubuntu下vsftpd安装过程中遇到的问题总结

在vSphere上装了好几个ubuntu的虚拟机,因为最近有需求在几个虚拟机之间进行数据的交互,脑袋一拍想着要不试着搭个ubuntu的服务器。在网上查了一下好像vsftpd不错,那就装个vsftpd吧。脑袋被门挤了,直接来个源码编译安装,说真的整个过程还真是痛苦。今天晚上算是初步弄好了,暂时用anonymous用户来进行文件的上传,下载,修改和创建删除文件及文件夹。vsftpd的其他配置在后续进行

Just Do It 3119

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

vsftpd安装的问题

本人想在linux下和window中用CuteFTP8绿色版通过FTP对传文件,感觉比smb方便。下面就需要安装vsftpd和设置了。 1.首先,vsftpd有的是下载文件自己make,还有一种就是下载rpm包,还有就是用yum。其中最方便的就是yum了。我也就是用的yum。至于yum怎么安装,我的上几篇文章有写过,可行 2.其次,对于vsftpd的配置也很重要,我就是在这上面花了不少

raoqin的专栏 784

vsftpd 安装,配置以及出现的问题

1、安装vsftpd 在这里采用yum安装,安装之前首先需要配置Yum源,然后执行 #yum -y install vsftpd #service vsftpd start //启动vsftpd #chkconfig --level 35 vsftpd //开启自启动 2、创建ftp 用户组及用户: # groupad...

weixin_34029949的博客 612

CentOS下安装vsftpd及问题解决

之前有写过一篇ubuntu下源码安装vsftpd的博客,有兴趣的可以看下。最近想在CentOS的VPS上安装个vsftpd,便于来回传东西。网上找了下教程,结合自己的安装过程,再次回顾一下,也算做个笔记,方便后续使用。       安装其实很简单,一条命令即可。如下: yum install vsftpd       这个关键的步骤是配置,打开配置文件的命令为: vi /e

Just Do It 754

CentOS下安装vsftpd过程中遇到的问题

第一次安装和使用linux系统,用的一脸懵逼。按教程安装vsftpd,折腾了好久才学会编辑文本,设置vsftpd的配置。 记个笔记: 感谢三位大佬的博客 1.Linux下修改文本内容 2.CentOs安装vsftpd 3.解决CentOS中iptables不存在 安装配置vsftpd的两个关键配置 1./etc/sysconfig/iptables: a.开启默认21端口 ...

m0_37605121的博客 1085

linux中安装vsftpd出现的问题

提示:安装vsftpd必须要在root用户下才能安装成功,进入root:su -(中间有空格) 问题:   1、再用命令getsebool -a | grep ftpd命令查看查看状态时出现的问题:SELinux is disabled(说明selinux已经被彻底的关闭了)   解决:     若需要重新开启selinux,请按下面步骤:       vi /etc/seli...

weixin_30872671的博客 476

Linux shell脚本快速安装配置vsftpd服务以及问题记录

shell脚本快速安装配置vsftp,并开放端口,关闭 selinux已经常见问题记录,并记录如何新增 ftp用户

专注运维工作经验分享 1090

【图文教程】云服务器上,Linux安装VSFTPD组件及遇到的问题

我们知道,ftp服务器,可能会提供出去(虽然凯哥这里不会提供出去),给其他的三方人员使用,从数据及服务器安全角度来考虑,我们给ftp服务一个单独的用户。如果,你不行,服务器重启之后,FTP服务就不能访问,或者每次重启服务器之后,都需要手动启动VSFTPD的话,可以将VSFTPD设置成随机启动的。这个被动默认是开启的。如果你的服务器上,SElinux是开启的,可能会出现,外网可以访问,没目录返回,且也上传不了。在执行完上面命令后,如果返回结果中,看到上图高亮的两个是off的话,就代表,没有开启外网访问。

凯哥Java的博客 876

[原创]ubuntu 下vsftpd安装问题

进来在ubuntu上部署vsftpd,遇到诡异的问题: 一开始在ubuntu系统中安装vsftpd,修改配置文件后,无法启动,每次运行vsftpd restart 都出现: Rather than invoking init scripts through /etc/init.d, use the service utility.... 根据提示运行:service vsftpd resta...

weixin_34064653的博客 136

vsftpd安装配置以及常见问题解决

vsftpd安装配置以及踩坑解决办法,Centos7 nginx已经配置成功了,但是使用http始终没办法访问到图片,那么你来对地方了(在文章末尾是原因) 配置nginx教程:http://blog.youkuaiyun.com/xianzhixianzhixian/article/details/78891657 进入正题,安装配置vsftpd开始 1、安装vsftpd:安装完成之后会有/et...

weixin_30497527的博客 522
上一篇: Unix/Linux常用命令
下一篇: 汇编语言学习及实验环境的建立
ComputerInBook
博客等级 码龄19年 1168粉丝 464原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值