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文件准备:
其他参考资料
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
树莓派通过NPS实现内网穿透