`

CentOS5.4安装配置vsftpd

 
阅读更多

centOS5.4 安装配置vsftpd

1.查看有没有安装vsftpd:
rpm -qa | grep vsftpd
2.yum安装vsftpd:
yum install vsftpd
3.rpm安装vsftpd:
可以从下面两个地方获得最新的vsftpd的RPM包https://www.redhat.com/或者http://www.rpmfind.net/
安装命令:
rpm -Uvh vsftpd-1.1.3-8.i386.rpm
4.设置每次开机时自动运行及手工启动它:
chkconfig vsftpd on
service vsftpd start
netstat -tl 可以查看ftp端口是否在侦听了!
5.配置文件
/etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list,#不能登陆FTP的用户;
/etc/vsftpd/vsftpd.conf
#anonymous_enable=YES
anonymous_enable=NO #设定不允许匿名用户访问
chroot_local_user=YES #把系统内所有的FTP用户都限制在家目录中
6.设定个FTP目录
修改 /var/www 目录属性:
$ chmod -R 777 /var/www 递归地给此目录下所有文件和子目录的读、写、执行权限
$ chgrp -R ftp /var/www 递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组
7.增加FTP用户
adduser -d /var/www -g ftp -s /sbin/nologin 用户名 #增加用户,组是FTP,目录是/var/www
passwd 用户名 #设定密码
Changing password for user beinan.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
8.重启FTP
service vsftpd restart
9.如果ftp服务器连接失败,错误提示:
500 OOPS: cannot change directory:/home/*******
500 OOPS: child died
当你看到以上提示时,试着在输入以下命令解决
setsebool -P ftpd_disable_trans 1
service vsftpd restart
第一行中的-P参数是为了以后不需要每次开机都输入这个命令
10.用户管理
userdel 选项 用户名 #删除用户
常用的选项是-r,它的作用是把用户的主目录一起删除。
passwd 选项 用户名 #修改口令
passwd -l 用户名 锁定口令,即禁用账号。
passwd -u 用户名 口令解锁。
passwd -d 用户名 使账号无口令。
passwd -f 用户名 强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。
如果是超级用户,可以用下列形式指定任何用户的口令:
passwd 用户名
passwd -d 用户名 此命令将用户的口令删除,这样用户下一次登录时,系统就不再询问口令
11.是否想修改21端口呢?
先修改防火墙,增加其FTP端口,下面使用921
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 921 -j ACCEPT
/etc/init.d/iptables restart #重启防火墙
/etc/vsftpd/vsftpd.conf 里增加加 listen_port=921
/etc/rc.d/init.d/vsftpd restart #重启vsftpd
netstat -an |grep 921 #查看端口是否正常启动:
有时客户端反应很慢,可以使用被动模式
经常听见有人讨论PORT和PASV,到底两者有何区别? 
  答:防火墙有很多种,其中有一些会禁止那些不是从内部网络IP发出的连接请求。而ftp协议是个很老的东东,没有考虑这个问题。可以这样简单描述一般ftp的工作原理:client对server发出请求:“嗨,我的xx端口正等着你传送数据呢,sever听到这个请求,就会建立一个连接,指向这个端口,并且开始传送数据。这就回到了我们的问题,如果发出请求的client在防火墙的后面,而这个防火墙禁止外部IP建立连接,那么当然server(在外部)不能建立与client的连接。所以,过了几年,人们修改了ftp协议以应付这种情况。这就是passive mode,工作原理如下:client向server发出passive命令,server回答说:“数据在xx端口等你,自己来拿。” 而这回则由client建立指向server的连接,从而取得数据。这就避免了防火墙的限制。
  为什么PORT方式比PASV方式安全?
  FTP传输过程中要求建立一个专门的连接来传输数据,建立连接有两个方法:一个就是FTP Server打开一个端口,Client可以去连接这个端口来建立连接。这就是PASV方式。一个就是FTP Client打开一个端口,Server去连接这个端口来建立连接。这就是PORT方式。显然,如果服务器打开了一个端口,就意味着向互联网打开了一个端口。所以PORT方式比PASV方式安全。
如果有很多机器都要连这个FTP,那都这样改,很麻烦,得让VSFTPD支持被动模式才行:
a.首先配置vi /etc/vsftpd/vsftpd.conf文件,加入
pasv_enable=YES
pasv_max_port=30100
pasv_min_port=30000
(上面的30000--30100端口号可以是其它的,在此举例)
b.防火墙配置开放:
vi /etc/sysconfig/iptables添加下面二行
-A RH-Firewall-1-INPUT -p tcp --dport 30000:30100 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

FTP需要2个端口,一个端口是作为控制连接端口,也就是21这个端口,用于发送指令给服务器以及等待服务器响应;另一个端口是数据传输端口,端口号为20(仅PORT模式),是用来建立数据传输通道的,主要有3个作用:

1.从客户向服务器发送一个文件。

2.从服务器向客户发送一个文件。

3.从服务器向客户发送文件或目录列表。

注意:所有FTP服务器软件都支持PORT方式,大部分FTP服务器软件PORT方式和PASV方式都支持,有些FTP服务器不支持PASV方式都支持,故造成了PASV模式失败,正在尝试PORT错误 或者 数据Sock错误。对症下药,解决的方法其实很简单――取消PASV模式

2.具体的方法

1)在ie中如何启用或者取消PASV模式:

如果要在ie里启用或关闭PASV方式,先打开IE,在菜单里选择:工具-> Internet选项->高级,在“使用被动ftp”前面打上钩或者去掉钩,不过需要IE6.0以上才支持。

2)FTP下载工具取消被动模式的方法:

Cute FTP 3.5英文版:FTP>Settings>Options>Firewall,将“PASV mode”前复选框中的打勾去掉。

Cute FTP3.5中文版:FTP>设置―>选项―>防火墙,“PASV方式(A)”前复选框中的打勾去掉。

Cute FTP4.0中文版:右击你所建立的ftp站点―>选择属性(properties)―>去掉"use PASV mod"选择项

Cute FTP Pro2.0中文版:编辑―>全局设置―>连接―>连接类型,“PASV/PORT”下拉选项菜单选择PORT

Leap FTP2.7.2Sites>Site Manager>Advanced,将“Use PASV mode”前复选框中的打勾去掉。

flashfxp:选项->参数->代理->去掉“使用被动模式”

flashget:选项->参数->代理服务器->编辑->将“Use PASV mode”前复选框中的打勾去掉。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics