应用场景 本地windows作为客户端,虚拟机CentOS7作为服务器端,搭建FTP服务器,本地访问虚拟机实现文件的上传下载。

1.安装vsftpd服务

1、安装vsftpd: yum install vsftpd -y
2、启动vsftpd: systemctl start vsftpd
3、设置开机启动:systemctl enable vsftpd

2.关闭防火墙

在虚拟机上使用没必要一个一个端口放行,直接关闭防火墙,一劳永逸

systemctl stop firewalld    停止防火墙运行
systemctl disable firewalld 禁止开机启动

3.添加访问用户

 useradd -g root -d /usr/local/src/ftp -s /sbin/nologin user1      #/usr/local/src/ftp为ftp文件目录 可自定义     user1 为添加的用户名
passwd      #设置用户密码,执行命令

4.配置ftp相关内容

[root@localhost 20190425]# getsebool -a | grep ftp
ftp_home_dir --> on
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> on
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off #修改ftp_home_dir和sftpd_full_access状态,可通过一下命令执行
setsebool -P allow_ftpd_full_access on #允许ftp访问外网
setsebool -P ftp_home_dir on         #允许ftp访问home

5.配置用户权限

到这里已经可以使用访问FTP了,我们也可以自定义修改ftp相关配置

#执行vim /etc/vsftpd/vsftpd.conf查看

listen=NO                   
listen-address=172.16.0.236        #绑定本机IP
anonymous_enable=NO            #禁止匿名访问
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
allow_writeable_chroot=YES        #允许写入

我只对匿名访问,允许访问做了更改,anonymous_enable=NO、allow_writeable_chroot=YES

现在可以在在windows资源管理器或者浏览器,输入ftp://IP PORT 进行访问

也可以在命令行访问

登陆成功。

6.常用命令

下载文件可以通过命令行执行

pwd          #打印当前目录
ls           #查看文件 
lcd          #设定本地下载目录
get filename     #文件下载
mget *        #文件批量下载
put filename     #文件上传
mput *         #批量上传

到此我们的ftp服务器搭建就结束了。

需要注意的是每次修改配置都要重启服务,顺利的话不要遇到 425,500的错误,如果真的有,重启服务,重新连接,如果还是不行请另行百度。

 
 
 
 
 
 

最新文章

  1. C++问题-无法打开某个自定义源文件
  2. [转]Response.AddHeader 文本下载
  3. ASP.NET Core 运行原理解剖[1]:Hosting
  4. 转:【Java集合源码剖析】Hashtable源码剖析
  5. 改变ListBoxItem选中的颜色
  6. Chapter 2 User Authentication, Authorization, and Security(11):在已还原的数据库中修正登录映射错误
  7. C#从IE缓存读取图片
  8. 运维基础——Zabbix 设置Redis监控
  9. LeetCode【100. 相同的树】
  10. 循环神经网络RNN的基本介绍
  11. ANSYS - 修改节点荷载的规则
  12. Scala的apply unapply unapplySeq 语法糖
  13. Django的quarySet
  14. asterisk与freepbx常用的命令
  15. Fatal error: Can't use function return value in write context
  16. POJ_3264 Balanced Lineup 【线段树 + 区间查询】
  17. 智能门锁超低功耗:SI522(13.56芯片)替代MFRC522\FM17522
  18. (转)Web API 入门指南 - 闲话安全
  19. 异步串行通信的XON与XOFF
  20. 关于Scala文件操作中出现的问题

热门文章

  1. DVWA 黑客攻防演练(十二) DOM型 XSS 攻击 DOM Based Cross Site Scripting
  2. Sql Server 完全卸载,卸载干净,Windows 7。
  3. 创建一个Windows服务程序与实现定时器效果
  4. iOS 多线程 NSOperation、NSOperationQueue
  5. Microsoft Visual Studio 2012 添加实体数据模型
  6. golang 调用windows API 中文的处理
  7. HelloHibernate的创建过程
  8. 零代码第一步,做个添加数据的服务先。node.js + mysql
  9. button JS篇ant Design of react之二
  10. PHP实现部分字符隐藏