vsftpd部署之问题集

vsftpd部署之问题集

1、当我们限定了用户不能切换到其他目录之后,使用该用户登录FTP时往往会遇到这个错误

500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed.
421 Service not available, remote server has closed connection
在这里插入图片描述
##解决办法:
在 /etc/vsftpd/vsftpd.conf 配置文件中添加如下一行
allow_writeable_chroot=YES

2、本地新建的nologin用户无法登录ftp (useradd -s /sbin/nologin ftpuser)

在这里插入图片描述
##原因:
在配置一台ftp服务器,但是自己新建立的ftp用户无法登录,客户端提示vsftpd 530 Login incorrect. 话说vsftpd.conf文件配置的没问题,而且用自己的系统帐号登录也没问题。网上有些地方说配置文件少pam_service_name=vsftpd,但是我的配置文件中有这行了。到处找各种权限问题,没有发现有啥错误的地方。之后尝试把ftp user的 shell改为sh后,能登录了。以前看的文章都是让把ftp用户的shell设置成nologin 或者 false, 以免ftp用户有shell登录权限,但是为啥到这就不行了呢? 网上找了一下,原来是vsftpd通过pam进行验证shell,而nologin 和 false 是不在/etc/shells中的,所以验证不能通过,自然不能登录了。一个解决办法是,将nologin和false(或者只放用到的那个)添加到/etc/shells中,即 #echo -e “/usr/sbin/nologin n/bin/false” >> /etc/shells 。但是/etc/shells中记录的是valid login shells, 这样做等于是将nologin和false也算进来了,不知道对其他软件或者验证方式会不会造成影响。当然ssh登录是不行的,虽然放到valid login shells中了,但这两个也不是可用的shell。 网上还有另外一种方法,禁止vsftpd通过pam认证,并将check_shell配置为NO,然后添加用户的时候将用户的shell配置为/bin/false或nologin,这样既能够禁止用户ssh登录又能够正常使用ftp。即 /etc/pam.d/vsftpd

##解决办法:
修改配置文件 /etc/pam.d/vsftpd
#auth required pam_shells.so #注释此行
修改配置文件 /etc/vsftpd/vsftpd.conf
check_shell=NO #此参数只在不使用pam时才生效,且默认为true。

好了,着就是部署vsftpd服务时可能遇到的一些问题了,如有问题可与博主一起交流讨论!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值