Fedora服务器vsftpd的配置 下载本文

[root@localhost Server]# rpm -qa |grep vsftpd再查询是否安装了vsftpd vsftpd-2.0.5-12.el5

[root@localhost ~]# rpm -qi vsftpd 查询vsftpd详细信息 Name : vsftpd Relocations: (not relocatable) Version : 2.0.5 Vendor: Red Hat, Inc.

Release : 12.el5 Build Date: 2007年12月13日 星期四 19时35分37秒

Install Date: 2009年12月26日 星期六 00时35分03秒 Build Host: ls20-bc1-14.build.redhat.com

Group : System Environment/Daemons Source RPM: vsftpd-2.0.5-12.el5.src.rpm

Size : 289673 License: GPL

Signature : DSA/SHA1, 2007年12月17日 星期一 23时43分34秒, Key ID 5326810137017186

Packager : Red Hat, Inc. URL : http://vsftpd.beasts.org/

Summary : vsftpd - 非常安全 Ftp 守护进程 Description :

vsftpd 是一个非常安全 FTP 守护进程。它是完全从零开始编写的。

[root@localhost ~]# rpm -ql vsftpd 列出vsftpd中包含文件 /etc/logrotate.d/vsftpd.log vsftpd的日志文件 /etc/pam.d/vsftpd PAM认证文件 /etc/rc.d/init.d/vsftpd 启动脚本 /etc/vsftpd vsftpd的配置文件存放的目录

/etc/vsftpd/ftpusers 禁止使用vsftpd的用户列表文件 /etc/vsftpd/user_list 禁止或允许使用vsftpd的用户列表文件 /etc/vsftpd/vsftpd.conf 主配置文件

/etc/vsftpd/vsftpd_conf_migrate.sh vsftpd操作的一些变量和设置 /usr/sbin/vsftpd vsftpd的主程序 其他一些说明文档和手册文件略! /var/ftp 匿名用户主目录

/var/ftp/pub 匿名用户的下载目录

[root@localhost /]# service vsftpd start 启动vsftpd 为 vsftpd 启动 vsftpd: [确定]

[root@localhost ~]# chkconfig --level 3 vsftpd on打开3级别随系统自动启动vsftpd

(二)设置匿名用户也支持下载和上传与创建目录 1.vsftpd的匿名用户默认只支持下载权限

[root@localhost /]# ftp 127.0.0.1 测试ftp用匿名用户登陆到本地服务器 Connected to 127.0.0.1. 220 (vsFTPd 2.0.5)

530 Please login with USER and PASS. 530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type Name (127.0.0.1:root): anonymous 331 Please specify the password. Password:

230 Login successful.

Remote system type is UNIX. Using binary mode to transfer files. ftp> 登陆成功(默认vsftp是开启匿名登录)

接下来测试匿名用户上传与下载

[root@localhost ~]# touch /var/ftp/pub/test.txt 先在匿名用户下载目录创建一个test.txt文件

[root@localhost /]# cd root

[root@localhost ~]# touch test1.txt 进入根目录创建一个test1.txt文件,作为上传测试 ftp> cd pub ftp> ls

227 Entering Passive Mode (127,0,0,12,92,5) 150 Here comes the directory listing. -rw-r--r-- 1 0 0 6 Dec 28 14:59 test.txt 226 Directory send OK. ftp> mget test.txt 下载text.txt mget test.txt?

227 Entering Passive Mode (127,0,0,12,123,33)

150 Opening BINARY mode data connection for test.txt (6 bytes). 226 File send OK.

6 bytes received in 0.0047 seconds (1.2 Kbytes/s) ftp> !ls 测试是否下载到本地

anaconda-ks.cfg install.log install.log.syslog test1.txt test.txt 下载成功 ftp> put test1.txt 上传test1.txt local: test1.txt remote: test1.txt

200 PORT command successful. Consider using PASV. 550 Permission denied. 请求被拒绝,说明没有上传权限 ftp> delete test.txt

550 Permission denied. 请求被拒绝,说明没有删除权限

2.让匿名用户支持上传功能,下载,创建目录文件的权限

要实现这个功能,必须做三件事情(测试环境是在关闭selinux情况下)

修改/etc/sysconfig/selinux文件: #SELINUX=enforcing SELINUX=disabled

重启生效,如果不想重启,用命令 #setenforce 0

(1)修改/etc/vsftpd/vsftpd.conf 去掉注释anon_upload_enable=YES (2)修改/etc/vsftpd/vsftpd.conf 去掉注释anon_mkdir_write_enable=YES

以上两个步骤如下:

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

25 # has an effect if the above global write enable is activated. Also, you will 26 # obviously need to create a directory writable by the FTP user. 27 anon_upload_enable=YES 28 #

29 # Uncomment this if you want the anonymous FTP user to be able to create

30 # new directories.

31 anon_mkdir_write_enable=YES 32 #

33 # Activate directory messages - messages given to remote users when they

34 # go into a certain directory. 35 dirmessage_enable=YES