CentOS中的FTP功能是由一款名叫vsftpd的软件提供的,名字中的vs是very secure的缩写,所以vsftpd的特点是其安全性和稳定性比较突出。其官方站点为:http://vsftpd.beasts.org/。


1、安装、启动vsftpd:

1)查看 rpm -qa | grep vsftpd

2)安装:yum -y install vsftpd

3)配置防火墙(或关闭防火墙) setup 命令

 linux ftp服务配置_配置文件

4)配置开机启动:

 chkconfig vsftpd on

5)启动vsftpd:service vsftpd start


2、vsftpd的默认主目录是“/var/ftp/”,主配置文件是/etc/vsftpd/vsftpd.conf。

 1)vsftpd支持匿名用户登陆(anonymous),在/var/ftp/pub/下建立test.txt测试文件

 2)在浏览器上使用匿名用户访问:

 linux ftp服务配置_上传_02

 3)在命令行上访问:

 linux ftp服务配置_上传_03

4)ftp常用命令:



ls 列出远程机的当前目录 cd 在远程机上改变工作目录 lcd 在本地机上改变工作目录 ascii 设置文件传输方式为ascii模式 binary 设置文件传输方式为二进制模式 close 终止当前的ftp会话 hash 每次传输完数据缓冲区中的数据后就显示一个#号 get(mget) 从远程机传送指定文件到本地机 put(mput) 从本地机传送指定文件到远程机 open 连接远程ftp站点 quit 断开与远程机的连接并退出ftp ? 显示本地帮助信息  

3、匿名用户配置上传、修改文件权限:

 1)默认匿名用户只有下载功能,不能删除、上传文件;

linux ftp服务配置_文件传输_04


 2)修改如下内容:

 A、修改配置文件/etc/vsftpd/vsftpd.conf
    去掉注释 anon_upload_enable=YES

    去掉注释anon_mkdir_write_enable=YES

    要想让匿名用户支持删除和更名权限,必须在vsftpd.conf加入以下参数  anon_other_write_enable=YES  允许匿名账号具有删除.更名权限


 B、文件系统中FTP匿名用户对某个目录有写权限:

  安装完vsftpd后,会建立ftp用户,匿名登陆后使用ftp用户;该用户的家目录/var/ftp, /sbin/nologin 不支持系统登录,只能作为虚拟用户用来登录vsftpd.如下:

[root@localhost ~]# cat /etc/passwd |grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin


在/var/ftp下创建一个名为put目录,并定义这个文件的所有者为ftp

[root@localhost ftp]# mkdir put
[root@localhost ftp]# chown ftp put 修改文件所有者为ftp
[root@localhost ftp]# ll
总计 8
drwxr-xr-x 2 root root 4096 2007-12-13 pub
drwxr-xr-x 2 ftp  root 4096 12-29 18:13 put
 
[root@localhost ftp]#  service vsftpd restart 重启vsftpd服务
关闭vsftpd:                                             [确定]
为vsftpd启动vsftpd:                                     [确定]

linux ftp服务配置_上传_05

这样就上传到服务器put下了,如图:

linux ftp服务配置_配置文件_06