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 命令
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)在浏览器上使用匿名用户访问:
3)在命令行上访问:
4)ftp常用命令:
ls 列出远程机的当前目录
cd 在远程机上改变工作目录
lcd 在本地机上改变工作目录
ascii 设置文件传输方式为ascii模式
binary 设置文件传输方式为二进制模式
close 终止当前的ftp会话
hash 每次传输完数据缓冲区中的数据后就显示一个#号
get(mget) 从远程机传送指定文件到本地机
put(mput) 从本地机传送指定文件到远程机
open 连接远程ftp站点
quit 断开与远程机的连接并退出ftp
? 显示本地帮助信息
3、匿名用户配置上传、修改文件权限:
1)默认匿名用户只有下载功能,不能删除、上传文件;
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: [确定]
这样就上传到服务器put下了,如图: