在Linux下部署网站(java环境部署)第五章 FTP服务器搭建
2017-01-12 00:00
866 查看
摘要: 同学总结觉得有用所以发上来。请勿胡乱转载。
第五章 FTP服务器搭建
如果不认识ftp命令是因为没有安装ftp的client包,需要拿安装光盘去装一下。首先将安装盘(或者iso镜像)装入,进入安装盘的Package目录下。然后找到以ftp开头的包,使用命令安装即可。(注意:命令不要生搬硬套,你的ftpclient包版本可能和我不同,有可能输入和我相同的名称找不到)
如果不认识ftp命令是因为没有安装ftp的client包,需要拿安装光盘去装一下。首先将安装盘(或者iso镜像)装入,进入安装盘的Package目录下。然后找到以ftp开头的包,使用命令安装即可。(注意:命令不要生搬硬套,你的ftpclient包版本可能和我不同,有可能输入和我相同的名称找不到)
这时再敲ftp命令就没问题了!
如果想停止这个服务,输入以下命令:
结果显示能够ping通。如果在确认网络确实连接正确,ping的ip地址也正确,但是ftp就是上不去或者压根ping不通,这有可能是由于Linux的防火墙造成的。
解决方法有两种,一种是关闭Linux防火墙,输入以下命令查看防火墙状态:
使用方向键切换到防火墙设置,按回车进入:
现在我们按下空格键,这样就能禁用防火墙,然后按下 tab键,这样OK按钮就会被选中,然后按下回车键,使我们的修改生效:
提示警告的界面中,我们依旧选中是按钮,回车:
现在运行这个命令,查看一下防火墙的状态:
第二种方法是打开ftp使用的端口。ftp连接端口有2个 21 和 20 端口,我现在添加对应的规则。
好,这样就添加完了,我们用浏览器访问一下ftp,出现超时。所以我刚才说 ftp 是比较特殊的端口,它还有一些端口是 数据传输端口,例如目录列表, 上传 ,下载 文件都要用到这些端口。而这些端口是 任意 端口。。。 这个 任意 真的比较特殊。
如果不指定一个端口范围, iptables 很难对任意端口开放的,如果iptables允许任意端口访问,那和不设置防火墙没什么区别,所以不现实的。那么我们的解决办法就是 指定这个数据传输端口的一个范围。下面我们修改一下ftp配置文件。
在配置文件的最下面 加入
然后保存退出。这两句话的意思告诉vsftpd, 要传输数据的端口范围就在30001到31000 这个范围内传送。这样我们使用 iptables 就好办多了,我们就打开 30001到31000 这些端口。
最后进行保存, 然后我们再用浏览器范围下 ftp。可以正常访问
不过建议在操作前先关闭防火墙。使用一下命令也可:
这样的结果就算连上了:
这说明ftp默认是允许匿名登陆的,用以下命令打开配置文件可以看到:
这时在windows的控制台登录,用户名为anonymous,密码为空。
匿名登录成功。使用ls看看有哪些目录:
我们看到的pub就是一个目录。如果是默认安装vsftpd的话,以下是一些文件的位置约定:
这么说来,我们看到的pub就是/var/ftp/pub这个目录。
如果要更改默认下载目录,修改/etc/vsftpd/vsftpd.conf,加入如下三行:
local_root表示使用本地用户登录到ftp时的默认目录
anon_root表示匿名用户登录到ftp时的默认目录
修改vsftpd.conf配置文件:
退出,然后编辑/etc/vsftpd.chroot_list,在这里面输入用户名字,一行写一个用户名。最后你再重新启动一下vsftpd服务。就可以了
编辑这个文件,将里面的root删掉。
然后使用以下命令重启服务:
在windows下可以使用FlashFXP
来登录。
如果登录时出现这样的错误:
在Linux上运行以下命令查看一下:
接下来把ftp_home_dir改成on:
然后重启ftp:
修改/etc/selinux/config文件,设置SELINUX= disabled:
使用reboot命令重新启动。再打开ftp服务,这时就可以了!
上传Oracle安装包试一下:
第五章 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 |
iptables -A INPUT -p tcp --dport 30001:31000 -j ACCEPT iptables -A OUTPUT -p tcp --sport 30001:31000 -j ACCEPT service iptables save |
不过建议在操作前先关闭防火墙。使用一下命令也可:
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 ---- 匿名用户的下载目录 |
如果要更改默认下载目录,修改/etc/vsftpd/vsftpd.conf,加入如下三行:
local_root=/ chroot_local_user=YES anon_root=/ |
anon_root表示匿名用户登录到ftp时的默认目录
修改vsftpd.conf配置文件:
chroot_local_user = YES chroot_list_file=/etc/vsftpd.chroot_list |
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 |
修改/etc/selinux/config文件,设置SELINUX= disabled:
vi /etc/selinux/config |
使用reboot命令重新启动。再打开ftp服务,这时就可以了!
上传Oracle安装包试一下:
4.设置FTP开机自启
chkconfig vsftpd on chkconfig --list | grep vsftpd |
相关文章推荐
- 在Linux下部署网站(java环境部署)第二章 安装VMWare Tools(真实服务器不必)
- 阿里云服务器连接以及centos 搭建 web java环境(linux java部署 tomcat部署)
- 阿里云服务器连接以及centos 搭建 web java环境(linux java部署 tomcat部署)
- 阿里云服务器连接以及centos 搭建 web java环境(linux java部署 tomcat部署)
- 阿里云服务器连接以及centos 搭建 web java环境(linux java部署 tomcat部署)
- 【服务器】在Linux下搭建java环境
- linux下ftp服务器搭建_模拟企业网环境
- Linux环境下搭建ftp服务器
- windows开发 linux部署 java [debian+resin+mysql+java] 之环境搭建
- windows开发 linux部署 java [debian+resin+mysql+java] 之环境搭建
- 在Linux下部署网站(java环境部署)第一章 安装Oracle Linux
- 在Linux下部署网站(java环境部署)第三章 配置SSH客户端
- 关于用java搭建FTP服务器和远端Linux系统传输文件
- 在Linux下部署网站(java环境部署)第六章 安装Tomcat
- 阿里云服务器ECS Linux/CentOS的Java环境搭建
- linux java服务器环境搭建
- myshare 4.linux软件安装与java开发环境搭建&静态网站制作
- Linux 服务器部署标准搭建biscuz论坛的环境准备
- 【服务器搭建环境配置】Linux上部署Nginx服务以及故障排除
- Linux环境下FTP服务器的部署