linux系统搭建vsftp并实现文件上传

1.linux系统准备

1.1 下载unbutux20.04镜像,进行安装

镜像地址:

参见blog:

1.2 安装VMtool工具

参见blog:

vmtooll可以实现本机和虚拟机的文件交互,还可以通过开启虚拟机的文件共享以实现两机的文件共享。

2.搭建vsFTP

参见blog:

2.1 常用命令如下

sudo apt-get install vsftpd 安装获取

systemctl enable vsftpd 设置开机自启

systemctl  status vsftpd #查看其运行状态

systemctl  restart vsftpd #重启服务

2.2 创建文件

创建用户并关联文件

新建一个ftp用户(uftp1就是用户名,根据需要取)
sudo useradd -d /home/myftp -s /bin/bash uftp1

删除一个用户
sudo userdel -r uftp       (uftp是要删除的用户名)

为用户设置一个密码
sudo passwd uftp1  (uftp是用户名)

2.3 修改配置文件

编辑配置文件vsftpd.conf

#修改配置
sudo nano /etc/vsftpd.conf
存在的修改成酱紫:
listen=NO # 阻止 vsftpd 在独立模式下运行
listen_ipv6=YES # vsftpd 将监听 ipv6 而不是 IPv4,你可以根据你的网络情况设置
anonymous_enable=NO # 关闭匿名登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 启用可以修改文件的 FTP 命令
local_umask=022 # 本地用户创建文件的 umask 值
dirmessage_enable=YES # 当用户第一次进入新目录时显示提示消息
xferlog_enable=YES # 一个存有详细的上传和下载信息的日志文件
connect_from_port_20=YES # 在服务器上针对 PORT 类型的连接使用端口 20(FTP 数据)
xferlog_std_format=YES # 保持标准日志文件格式
pam_service_name=vsftpd # vsftpd 将使用的 PAM 验证设备的名字

userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users

小tips:最后三行的配置文件可能有差别,具体依照自己的环境进行配置

并注意在写好后把ftp服务机用户加到对应的用户中,下边是可行的一些配置

userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users
seccomp_sandbox=NO

2.4 添加用户名以及测试

根据配置里的文件,去添加对应的用户名

使用nano 编辑器添加用户名

完成后重启服务,查看服务状态

验证:

ftp localhost 后输入用户名和设置的密码

2.5 常见问题及解决

1、ftp登陆报错530

Login incorrect. Login failed.

解决方案:

sudo nano /etc/vsftpd.conf 将pam_service_name=vsftpd 修改为:pam_service_name=ftp 然后重启:sudo service vsftpd restart

错误原因2:权限问题

3 ftp 500 登录异常

可能原因是权限没给够,还有可能是SELinux安全机制的保护作用。

可以配置并关闭防火墙

2.6 用户权限配置:

查看用户: cat /etc/passwd

查看当前用户:w 或者 who -a

3.文件上传操作实例

参见资料:

ftp文件准备:

其他参考资料

经验分享 程序员 微信小程序 职场和发展