FTP(File Transfer Protocol)是在服务器与客户端进行文件传输的一种传输协议。本次介绍的是vsftpd的软件体验ftp服务。

  FTP服务器默认情况下依据用户登录情况分为三种不同的身份:

      ①:实体用户,real user

      ②:访客,guest

      ③:匿名用户,anonymous

当然,本次主要讲的是基于CentOS6.5系统的匿名用户的ftp服务器搭建,不过其他Linux版本的系统也可参考。

  准备工作:

   安装ftp和vsftpd:

    

    

  然后就可以启动你的ftp服务器了,具体启动指令有以下两种:

  

  

  具体功能:

  1. 使用本地时间,而非GMT时间(PS:ftp默认GMT时间,会和本地时间有8小时时差!)
  2. 提供欢迎信息
  3. 开放anonymous登录,无需密码
  4. 文件传输速度: 1M/s
  5. 超过10分钟未操作,予以断线
  6. 实现匿名用户的上传以及下载

   服务器搭建及设置:

  

  在/var/ftp目录下创建uploads(PS:提供匿名用户上传文件存储)注:此处需要开放uploads的权限 输入如下命令:chown ftp /var/ftp/uploads

            linux(PS:提供Linux系统相关软件)

            gnu(提供GNU的自由软件)

  匿名用户的配置文件具体设置:

  编辑 /etc/vsftpd/vsftpd.conf文件

 anonymous_enable=YES
no_anon_password=YES #系统检验时无需密码
anon_max_rate=1000000 #最大宽带使用1M/s
data_connection_timeout=60
idle_session_timeout=600 #匿名用户登录10分钟就断线
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES #上传权限
anon_world_readable_only=NO
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
use_localtime=YES #不启用GMT时间
banner_file=/etc/vsftpd/anon_welcome.txt #欢迎信息

 编辑/etc/vsftpd/anon_welcome.txt欢迎文件 

  Welcome to ftp server!
We provide some servers about Linux! The main dir:
uploads: provide datas that you upload
gnu: provide softwares which are from gnu
-by Y

  一切工作就绪,接下来检测下劳动成果,客户端测试:

  红色框框是我们的欢迎信息

  黄色框框是我们的用户名,不需密码即可登录

  绿色框框是我们建的文件夹

   就此,ftp匿名服务器搭建完成,可以用其他电脑在网址处输入ftp://*.*.*.*进行登录,*处为你的IP地址,当然需要是同网段的IP才可以登录进去

  登录后如下所示:

  

  相关问题:

  一:ftp connect no route to host

  解决方法:

  此问题一般是防火墙导致。

  1.开放ftp的端口,端口号为21。

 iptables -I INPUT -p tcp --dport 21 -j ACCEPT
service iptables save
service iptables restart

  2.开放iptables的两个模块,在/etc/sysconfig/iptables-config里面

  添加:IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"

  service iptables restart

  问题得以解决。

  二:550 Create directory operation failed.

  解决方法:

  这种问题中就是只能查看但是无法进行其他诸如上传下载新建目录等操作。

   这个主要是因为SELinux(Security-Enhanced Linux----是美国国家安全局对于强制访问控制的实现, 是Linux 上最杰出的新安全子系统.)安装机制搞的鬼.因此只要关闭SELINUX即可。

  执行命令:

  setenforce 0

  

Linux之匿名FTP服务器搭建的更多相关文章

  1. linux环境:FTP服务器搭建

    转载及参考至:https://www.linuxprobe.com/chapter-11.html https://www.cnblogs.com/lxwphp/p/8916664.html 感谢原作 ...

  2. Linux中ftp服务器搭建

    一.FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp ...

  3. centos7 配置ftp服务器搭建(匿名访问,以及本地登录)

    大家好,今天来给大家分享一个基于centos 7的ftp服务器搭建 实现功能:匿名访问,本地登录 查看系统版本: [root@localhost ~]# cat /etc/redhat-release ...

  4. Linux FTP服务器搭建与使用

    一.vsftpd说明 LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等.Red Hat Enterprise Linux中默认安装的是vsftpd. 访问F ...

  5. 《Linux下FTP服务器搭建及FTP使用》

    .LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...

  6. Linux CentOS 6.5 下 vsftpd ftp服务器搭建

    Linux CentOS 6.5 下 vsftpd ftp服务器搭建 by:授客 QQ:1033553122   操作系统环境:CentOS 6.5-x86_64 下载地址:http://www.ce ...

  7. Linux上的ftp服务器vsftpd之配置满天飞--设置匿名用户访问(不弹出用户名密码框)以及其他用户可正常上传

    一.问题背景 没事谁折腾这鬼玩意哦...还不是因为bug. 我们的应用,用户头像是存在ftp上的.之前的ftp服务器是一台windows,我们后台服务器程序收到用户上传头像的请求时,会用一个ROOT/ ...

  8. Linux 之 FTP服务器搭建

    FTP服务器搭建 参考教程:[千峰教育] 1.关闭防火墙: service iptables stop 2.关闭Selinux setenforce 0 3.安装所需要依赖及编译工具 yum inst ...

  9. 写给大忙人的centos下ftp服务器搭建(以及启动失败/XFTP客户端一直提示“用户身份验证失败”解决方法)

    注:个人对偏向于底层基本上拿来就用的应用,倾向于使用安装包,直接yum或者rpm安装:而对于应用层面控制较多或者需要大范围维护的,倾向于直接使用tar.gz版本. 对于linux下的ftp服务器,实际 ...

随机推荐

  1. 转载 tomcat6下项目移植到tomcat7下出问题的解决办法

    转载,原文地址  http://hw1287789687.iteye.com/blog/1817865 org.apache.catalina.core.ContainerBase addChildI ...

  2. LeetCode Remove Duplicates from Sorted Array II 删除整型数组中的重复元素并返回剩下元素个数2

    class Solution { public: int removeDuplicates(int A[], int n) { ],*e=&A[]; //s指向“连续数字”的第一个,e往后遍历 ...

  3. jquery UI_tabs

    1.tab使用 <!doctype html> <html lang="en"> <head> <meta charset="u ...

  4. 【BZOJ3460】Jc的宿舍(树上莫队+树状数组)

    点此看题面 大致题意: 一棵树,每个节点有一个人,他打水需要\(T_i\)的时间,每次询问两点之间所有人去打水的最小等待时间. 伪·强制在线 这题看似强制在线,但实际上,\(pre\ mod\ 2\) ...

  5. c++连接mysql并提示“无法解析的外部符号 _mysql_server_init@12”解决方法&提示缺少“libmysql.dll”

    课程作业要用c++连接mysql server,但是出现些小问题,经查阅资料已经解决,做一下笔记. 环境:vs2017, mysql版本是8.0.16-winx64. 设置项目属性   项目 -  C ...

  6. 在C++类中使用dllimport和dllexport导出,

    在Windows平台下: 您可以使用dllimport或dllexport属性声明C ++类.这些形式意味着导入或导出整个类.以这种方式导出的类称为可导出类. 以下示例定义可导出的类.导出其所有成员函 ...

  7. 解决session过期跳转到登录页并跳出iframe框架(或者layui弹出层)

    当用户长时间停留在管理界面没有操作,等到session过期后,进行了操作,那么只是iframe跳转到login页面,这不是我们想要的结果.解决方法:在login页面加一个逻辑判断: <scrip ...

  8. 如何利用WordPress的菜单功能实现友情链接功能?

    导语:对于wordpress网站的友情链接,有很多种方法可以实现,例如我们可以利用WordPress的链接功能,或者利用WordPress的菜单功能.本文章介绍的是如何利用菜单功能来实现友情链接. 前 ...

  9. notify()和notifyAll()主要区别

    notify()和notifyAll()都是Object对象用于通知处在等待该对象的线程的方法. void notify(): 唤醒一个正在等待该对象的线程.void notifyAll(): 唤醒所 ...

  10. C++ ADL

    即在一个名称作为调用运算符的左操作数时,并且这个名字是一个无限定名称时,在无限定查找到的名字集合中额外增加的一个规则使集合范围扩大(从而可以定位到其他一些限定名称),通常是用来保证定义在不同命名空间的 ...