操作系统:suse10企业版
一、确认系统中是否已有开通ftp所需要包
rpm -qa | grep vsftp
如果没有安装,需要手工安装
rpm -ivh vsftpd-2.0.4-19.18.suse.x86_64.rpm
二、安装玩数据包后,需要更改一下配置文件
配置文件目录:/etc/vsftpd.conf
-----------------------------------------------------------------------------
vsftpd有三种服务器方式:匿名方式、本地方式和虚拟用户方式。vsftpd的配置文件位于/etc/目录下,名称为vsftpd.conf。下面说一下需要修改的地方:
将local_enable=YES前的#去掉,使其可用,表示允许本地用户登录;增加listen_port=21配置项,设置监听端口为21;该步骤可选,不允许匿名用户登录,
将anonymous_enable=YES的值改为NO,根据实际需要设置。
限制本地用户访问文件系统
chroot_local_user=YES 将本地用户浏览限制在其FTP根目录下,FTP用户登录后,一般在HOME的用户目录下,需要通过CHOWN来设置该目录的属主和权限,这样才可以上传和创建文件或目录,其他目录和文件都可以正常下载。
重启vsftpd服务:service vsftpd restart。或/etc/init.d/vsftpd restart启动后,在进行测试,使用本地用户userl及其密码登录,成功。
限制部分用户访问文件系统
chroot_list_enable=YES 启用列表(不可以与上条命令同时开启)
chroot_list_file=%file path% 限制用户的列表文件
连接限制
Max_client=%number% 最大连接数
max_per_ip=%number% 每ip最大连接数
anon_max_rate=%number% 匿名用户最大速率 单位kbps
local_max_rate=%number% 本地用户最大速率 单位kbps
三、测试连接
方法一:用工具连接,这种方法就不介绍了,全部图形界面,点点鼠标就OK,我们介绍命令行的方法;
方法二:使用命令行连接
C:\Documents and Settings\Administrator>ftp 192.168.1.241
Connected to 192.168.1.241.
220 (vsFTPd 2.0.4)
User (192.168.1.241:(none)): tftp
331 Please specify the password.
Password:
230 Login successful.
ftp>
ftp> put D:\initorcl.ora
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 File receive OK.
ftp: 发送 1091 字节,用时 0.00Seconds 1091000.00Kbytes/sec.
ftp>
注意:我这里没有另外指定ftp的端口,使用的是ftp默认端口 21,如果在参数文件中指定了默认端口意外的端口,在windows中将不能采用以上的连接方式,详见下面的示例;
C:\Documents and Settings\Administrator>ftp
ftp> open 192.168.1.241 21
Connected to 192.168.1.241.
220 (vsFTPd 2.0.4)
User (192.168.1.241:(none)): tftp
331 Please specify the password.
Password:
230 Login successful.
ftp>
ftp> put D:\initorcl.ora
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 File receive OK.
ftp: 发送 1091 字节,用时 0.00Seconds 1091000.00Kbytes/sec.
ftp>
常用的ftp命令:
1、选择本地路径:cd D:\app
2、选择远程路径:cd /home/tftp/
3、上传文件:put
put后面可以跟绝对路径也可以跟相对路径
4、下载文件:get
5、切换pasv和port模式:
quote pasv
或
quote port
6、其他的命令可以在ftp中输入 ? 寻求帮助。
-----------------------------------
VSFTPD我是自己编译的,在论坛上许多文章说是编译使用的是XINETD模式,所以只要在/etc/xinetd.d/vsftpd文件中,把disable=no改成YES就行了!
还有就是在/etc/vsftpd.conf文件添加listen=yes这样就改成了STANDALONE独立模式!
500 OOPS: could not bind listening IPv4 socket 错误:
因为xinetd已经启动了vsftpd,而vsftpd设置成了stardalone模式,所以,先停止xinetd服务, service xinetd stop ;service vsftpd restart