Ubuntu 18.04 安装vsftpd

一、安装vsftpd 服务器

apt-get install vsftpd -y

注:在终端输入这句命令,有可能会提示-“无法定位到软件包 vsftpd”,那么这个问题的解决办法是在

/etc/apt/sources.list文件的最后,添加如下代码
deb http://ftp.us.debian.org/debian stable main contrib non-free 
deb http://ftp.us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://ftp.us.debian.org/debian testing main contrib non-free
deb http://ftp.us.debian.org/debian-non-US testing/non-US main contrib non-free 
deb http://ftp.us.debian.org/debian unstable main contrib non-free
deb http://ftp.us.debian.org/debian-non-US unstable/non-US main contrib non-free

二、修改配置文件

安装好vsftpd后,我们就需要配置它,那么就要修改 /etc/vsftpd.conf文件。具体的配置和说明,见下文

# vim /etc/vsftpd.conf 
# 禁止匿名用户登录
anonymous_enable=YES
# 允许系统用户登录
local_enable=YES
# 启用可以修改文件的 FTP 命令
write_enable=YES
# 本地用户创建文件的 umask 值
local_umask=022
# 允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
# 开启日记功能 
xferlog_enable=YES
# 使用标准的20端口来连接ftp 
connect_from_port_20=YES
# 使用标准日志格式 
xferlog_std_format=YES
# 如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_enable=YES
# 指定限制的用户文件
chroot_list_file=/etc/vsftpd/chroot_list
# ftp服务器将处于独立启动模式
listen=YES
# 设置一个本地用户登录后进入到的目录
local_root=/data/ftp/
# 设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d/”目录下
pam_service_name=vsftpd
# ftp将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器
userlist_enable=YES
# 只允许user_list文件中记录的ftp用户能登录vsftp服务,其他的ftp用户都不可以登录。
userlist_deny=NO
# 定义限制/允许用户登录的文件
userlist_file=/etc/vsftpd/allowed_users  
# ftp服务器将使用tcp_wrappers作为主机访问控制模式
tcp_wrappers=YES
# 连接ftp服务费使用的端口
listen_port=21

三、创建相关文件

  • 需要手动创建一个目录-ftp的根目录,用户可以访问该目录下的资源
mkdir /data/ftp
  • 修改ftp这个目录的权限
chmod -R 777 /data/ftp
  • 手动创建 touch
touch /etc/vsftpd/chroot_list    指定限制的用户文件
touch /etc/vsftpd/allowed_users   定义限制/允许用户登录的文件

四、创建访问用户

  • 创建文件成功后,我们就可以添加访问用户了,添加一个用户(ftpuser),但是该用户不能登录系统。
useradd -d /data/ftp/ -s /sbin/nologin ftpuser
  • 设置用户密码
passwd ftpuser

五、检查配置文件

检查/etc/pam.d/vsftpd

vim /etc/pam.d/vsftpd
注释掉
#auth   required        pam_shells.so

六、重启vsftp服务

service vsftpd restart
  • 启动vsftp服务
service vsftpd start
  • 查看vsftp服务状态
service vsftpd status

七、ftp客户端连接测试

  • 安装ftp客户端服务
ubuntu系统
# apt-get -y install ftp

centos 系统
# yum -y install ftp
  • 在客户端服务器测试ftp
# ftp  192.168.2.20
Connected to 192.168.21.20 (192.168.2.20).
220 (vsFTPd 3.0.3)
Name (192.168.2.20:root): ftpuser// 用户名
331 Please specify the password.
Password: ftpuser123 //密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd  #查看当前路径
257 "/data/ftp" is the current directory
ftp> mkdir data  #创建文件夹data
257 "/data/ftp/data" created
ftp> ls #查看当前路径下的文件
227 Entering Passive Mode (192,168,21,200,116,131).
150 Here comes the directory listing.
drwxr-xr-x    2 1000     1000         4096 Mar 23 13:42 data

ftp> bye
221 Goodbye.  # 退出ftp

八、报错解决

使用ftp用户登录,输入ftp用户密码后报错如下

530 Login incorrect.
Login failed.

可能会是以下几种原因:

  • 1.ftp用户名密码不对
  • 2.要登录的ftp用户没有被创建
  • 3.检查/etc/pam.d/vsftpd
# vim /etc/pam.d/vsftpd
注释掉以下内容
#auth    required pam_shells.so
  • 4.检查/etc/vsftpd/vsftpd.conf配置
# vim /etc/vsftpd/vsftpd.conf

local_enable=YES  
pam_service_name=vsftpd     //这里很重要,有人说ubuntu是pam_service_name=ftp,可以试试,已证明不是
userlist_enable=YES

最后无论哪种情况 重启试试

sudo service vsftpd restart
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰哥的技术杂货铺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值