第五章 FTP服务器搭建

1.看看是否已经安装FTP服务器

service vsftpd start

ftp localhost

如果不认识ftp命令是因为没有安装ftp的client包,需要拿安装光盘去装一下。首先将安装盘(或者iso镜像)装入,进入安装盘的Package目录下。然后找到以ftp开头的包,使用命令安装即可。(注意:命令不要生搬硬套,你的ftpclient包版本可能和我不同,有可能输入和我相同的名称找不到)

如果不认识ftp命令是因为没有安装ftp的client包,需要拿安装光盘去装一下。首先将安装盘(或者iso镜像)装入,进入安装盘的Package目录下。然后找到以ftp开头的包,使用命令安装即可。(注意:命令不要生搬硬套,你的ftpclient包版本可能和我不同,有可能输入和我相同的名称找不到)

ls -l ftp*

rpm -ivh ftp-0.17-54.el6.x86_64.rpm

这时再敲ftp命令就没问题了!

如果想停止这个服务,输入以下命令:

service vsftpd stop

2.从windows登录FTP服务器

想要从Windows上登录,就要先获取到这台Linux服务器的ip,使用以下命令:

ifconfig

ping 自己的ip

结果显示能够ping通。如果在确认网络确实连接正确,ping的ip地址也正确,但是ftp就是上不去或者压根ping不通,这有可能是由于Linux的防火墙造成的。

解决方法有两种,一种是关闭Linux防火墙,输入以下命令查看防火墙状态:

service iptables status

setup

使用方向键切换到防火墙设置,按回车进入:

现在我们按下空格键,这样就能禁用防火墙,然后按下 tab键,这样OK按钮就会被选中,然后按下回车键,使我们的修改生效:

提示警告的界面中,我们依旧选中是按钮,回车:

现在运行这个命令,查看一下防火墙的状态:

service iptables status

第二种方法是打开ftp使用的端口。ftp连接端口有2个 21 和 20 端口,我现在添加对应的规则。

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

iptables -A INPUT -p tcp --dport 20 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT

好,这样就添加完了,我们用浏览器访问一下ftp,出现超时。所以我刚才说 ftp 是比较特殊的端口,它还有一些端口是 数据传输端口,例如目录列表, 上传 ,下载 文件都要用到这些端口。而这些端口是 任意 端口。。。 这个 任意 真的比较特殊。

如果不指定一个端口范围, iptables 很难对任意端口开放的,如果iptables允许任意端口访问,那和不设置防火墙没什么区别,所以不现实的。那么我们的解决办法就是 指定这个数据传输端口的一个范围。下面我们修改一下ftp配置文件。

vi /etc/vsftpd.conf

在配置文件的最下面 加入

pasv_min_port=30001

pasv_max_port=31000

然后保存退出。这两句话的意思告诉vsftpd, 要传输数据的端口范围就在30001到31000 这个范围内传送。这样我们使用 iptables 就好办多了,我们就打开 30001到31000 这些端口。

iptables -A INPUT -p tcp --dport 30001:31000 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 30001:31000 -j ACCEPT

service iptables save

最后进行保存, 然后我们再用浏览器范围下 ftp。可以正常访问

不过建议在操作前先关闭防火墙。使用一下命令也可:

service iptables stop

这样的结果就算连上了:

这说明ftp默认是允许匿名登陆的,用以下命令打开配置文件可以看到:

cd /etc/vsftpd

vi vsftpd.conf

这时在windows的控制台登录,用户名为anonymous,密码为空。

匿名登录成功。使用ls看看有哪些目录:

我们看到的pub就是一个目录。如果是默认安装vsftpd的话,以下是一些文件的位置约定:

/usr/sbin/vsftpd         ---- VSFTPD的主程序

/etc/rc.d/init.d/vsftpd ---- 启动脚本

/etc/vsftpd/vsftpd.conf ---- 主配置文件

/etc/pam.d/vsftpd        ---- PAM认证文件

/etc/vsftpd.ftpusers     ---- 禁止使用VSFTPD的用户列表文件

/etc/vsftpd.user_list    ---- 禁止或允许使用VSFTPD的用户列表文件

/var/ftp                   ---- 匿名用户主目录

/var/ftp/pub              ---- 匿名用户的下载目录

这么说来,我们看到的pub就是/var/ftp/pub这个目录。

如果要更改默认下载目录,修改/etc/vsftpd/vsftpd.conf,加入如下三行:

local_root=/

chroot_local_user=YES

anon_root=/

local_root表示使用本地用户登录到ftp时的默认目录

anon_root表示匿名用户登录到ftp时的默认目录

修改vsftpd.conf配置文件:

chroot_local_user = YES

chroot_list_file=/etc/vsftpd.chroot_list

退出,然后编辑/etc/vsftpd.chroot_list,在这里面输入用户名字,一行写一个用户名。最后你再重新启动一下vsftpd服务。就可以了

3.允许root用户上传

输入以下命令,编辑文件,解除对root上传的限制:

cd /etc/vsftpd

vi user_list

编辑这个文件,将里面的root删掉。

cd /etc/vsftpd

vi ftpusers

然后使用以下命令重启服务:

service vsftpd restart

在windows下可以使用FlashFXP

来登录。

如果登录时出现这样的错误:

在Linux上运行以下命令查看一下:

sestatus -b | grep ftp

接下来把ftp_home_dir改成on:

setsebool -P  ftp_home_dir  on

然后重启ftp:

修改/etc/selinux/config文件,设置SELINUX= disabled:

vi /etc/selinux/config

使用reboot命令重新启动。再打开ftp服务,这时就可以了!

上传Oracle安装包试一下:

4.设置FTP开机自启

chkconfig vsftpd on

chkconfig --list | grep vsftpd

linux下java写ftp服务器端,在Linux下部署网站(java环境部署)第五章 FTP服务器搭建...相关推荐

  1. java项目-第155期ssm班级同学录网站-java毕业设计_计算机毕业设计

    java项目-第155期ssm班级同学录网站-java毕业设计_计算机毕业设计 [源码请到资源专栏下载] 今天分享的项目是<ssm班级同学录网站> 该项目分为2个角色,管理员.用户. 用户 ...

  2. Linux高级实战部署--LNMP生产环境部署(mysql,nginx,php编译安装,项目部署)

    LNMP生产环境部署 一.编译安装 MySQL MySQL 类型 #### 1.MySQL Community Server - MySQL Community Server是社区版本,开源免费,但不 ...

  3. java写的学生信息查询系统_用JAVA写一个简易的学生信息管理系统

    前言:写这篇文章的目的: 为了以后复习方便,当你回头看自己的代码的时候不至于想不起你写下这段代码的思路: 慢慢锻炼自己总结的能力,养成习惯以后去写自己的技术博客,古人云,温故而知新 作为一个技术拓荒者 ...

  4. java写一段程序代表心情_讨论java初步学习的方法及心情

    Java的重要性 Java语言的三大特点,面向对象.良好的跨平台性和健壮性,这三大特点使Java被广大编程人员接收并且使用.Java的核心机制有Java虚拟机和垃圾回收机制这两种,Java虚拟机通过解 ...

  5. java jolt tuxedo_Java中使用Jolt访问Tuxedo服务 – Tomcat环境部署测试

    Java中使用Jolt访问Tuxedo服务 – Tomcat环境部署测试 Java中使用Jolt访问Tuxedo服务 – Tomcat环境部署测试 最近在学习基于Tuxedo的系统架构,网上讨论最多的 ...

  6. linux用信号写代码,Python 信号(linux) 源代码放附件中

    Python信号 果汁味 信号的概念 信号(signal)--进程之间通讯的方式,是一种软件中断.一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号. 几个常用信号: SIGINT终止进程中断 ...

  7. linux镜像烧写,基于TMS320C6678的Linux镜像烧写演示

    1.串口调试软件配置 配置前请使用Micro USB线连接调试串口和电脑终端. 安装调试终端软件 推荐使用SecureCRT调试终端软件,安装包路径:"光盘资料/Tools/VanDyke. ...

  8. 一个纯java写成的贪吃蛇下游戏(《利用一维数组》附完全版源码和素材图片)

    贪吃蛇 先来个效果图吧 工具 eclipse 或者 intellij idea 都可以.图片素材我这边上传的如果有人觉得丑也可以自己搞一搞给蛇换个皮肤. 这个图片开始做的时候也没有素材什么的自己用画图 ...

  9. stomp java客户端_Stomp-Spring服务器端的Web套接字Java客户端

    stomp java客户端 问题: 为了分析问题,我不得不编写一个简单的Java Web套接字客户端站点代码,并使用基于stomp的Web套接字代理连接到服务器端基于Spring的应用程序. 解决方案 ...

最新文章

  1. Linux redhat 5.4上安装MYDNS
  2. js中期BOM及this指向
  3. 干货:如何进行用户流失分析与预警?
  4. 机器学习第八篇:详解逻辑斯蒂回归算法
  5. 可变参数列表(va_list,va_arg,va_copy,va_start,va_end)
  6. 察看linux内存使用情况
  7. RTKLIB的主要功能
  8. 前端学习(2009)vue之电商管理系统电商系统之渲染商品属性的结构
  9. 开启Windows或者Mac OSX 本地服务器 (非安装第三方服务器软件)
  10. wpf关闭窗口弹出是否确认关闭的提示
  11. python猴子选大王讲解_关于猴子选大王的面试题
  12. html5的video怎么把里面的控制器移出来_电动车突然不走了,但控制器和转把没坏,但车走电,这是怎么回事...
  13. scala 连接符_Scala标识符示例教程
  14. python总是下载失败_Python 下载依赖包环境经常失败超时解决方法
  15. [深度学习] fast-reid入门教程
  16. matlab 电力系统分析 毕设,毕设开题报告_-基于matlab中电力系统模块集(psb的电力系统仿真研究.doc...
  17. 妈妈!我也会做植物大战僵尸啦!
  18. 20个值得一看的 JS 代码简写片段
  19. 如何快速给食物照片调色
  20. Python中getA() 的意思

热门文章

  1. LVS+keepalived负载均衡
  2. HDU4007 Dave [杂题]
  3. apache与tomcat的联系
  4. LDP传输地址配置——Vecloud
  5. GBK字符集和UTF8字符集的转换C++
  6. 通过DLL使两个工程公用部分代码
  7. import和from...import
  8. bootstrap轮播图怎么居中
  9. laravel框架总结(十一) -- 集合
  10. 清除XCode缓存和生成文件