ubuntu:安装配置vsftpd

安装

apt install vsftpd

配置

创建用户作为ftp访问用户
useradd -s /sbin/nologin ftpuser
passwd ftpuser  # 给用户设置密码

mkdir /home/ftpuser
mkdir /home/ftpuser/ftp
chown -R ftpuser:ftpuser /home/ftpuser
chmod -w /home/ftpuser
创建并修改配置文件:
touch /etc/vsftpd.chroot_list
echo 'ftpuser' >> /etc/vsftpd.user_list
vim /etc/vsftpd.conf 

文件内容:

# 禁用匿名用户
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
tcp_wrappers=YES
listen=YES
pam_service_name=vsftpd
#listen_ipv6=NO
# 文件chroot_list记录允许访问主目录以外目录的用户列表
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
# 文件user_list为白名单,仅允许这些用户访问ftp服务
userlist_file=/etc/vsftpd.user_list
userlist_enable=YES
userlist_deny=NO

启动服务

service vsftpd start
service vsftpd restart
service vsftpd stop

修改PAM配置

如果启动服务后登陆出现530 Login incorrect错误,可能需要修改PAM配置文件:

vim /etc/pam.d/vsftpd

文件内容:

# Standard behaviour for ftpd(8).
auth	required	pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.

# Standard pam includes
@include common-account
@include common-session
@include common-auth
#auth	required	pam_shells.so
auth required pam_nologin.so

可以看到file=/etc/ftpuserssense=deny,所以/etc/ftpusers文件内的用户无法登陆ftp。

auth required pam_nologin.so的意思是只有登陆shell为文件/etc/shells中指定的shell的用户才能登陆。
而用户ftpuser的登陆shell是/sbin/nologin,不在其内,需要修改此句。

解决方法:

  1. 编辑/etc/ftpusers,确保登陆用户没在这个文件内。
  2. 修改/etc/pam.d/vsftpd,将auth required pam_shells.so改为auth required pam_nologin.so
  3. service vsftpd restart
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值