red hat 6.0 安装 vsftpd


检查安装包:

[root@localhost vsftpd]# rpm -qa|grep ftp

ftp-0.17-51.1.el6.x86_64

vsftpd-2.2.2-6.el6.x86_64


vsftpd-2.2.2-6.el6.x8包是ftp服务器用,

ftp-0.17-51.1.el6.x86_64 是ftplinux命令包。


rmp 安装 vsftpd,ftp两个包

安装vsftpd 后,会生成文件/etc/vsftpd/中。


[root@localhost vsftpd]# ll

total 28

-rw-------. 1 root root 126 Sep 18 12:19 ftpusers

-rw-------. 1 root root 362 Sep 18 12:19 user_list

-rw-------. 1 root root 4553 Sep 18 12:43 vsftpd.conf

-rwxr--r--. 1 root root 338 May 26 2010 vsftpd_conf_migrate.sh


ftpuser、和user_list 是ftp用户记录列表。

vsftpd.conf是ftp的配置文件。


ftp 配置要求:


只允许root用户登录以及不允许匿名访问,具体配置如下:


注销掉 ftpuser,user_list文件中的root


anonymous_enable=NO ## 关闭匿名

local_enable=YES ##开启本地用户

write_enable=NO ##关闭本地用户写

local_umask=022 ##文件权限

dirmessage_enable=YES

## 是否激活目录欢迎信息功能 , 当用户用 CMD模式首次访问服务器上某个目录时 ,

FTP 服务器将显示欢迎信息 , 默认情况下 , 欢迎信息是通过 该 目录下的 .message 文件获得的,

此文件保存自定义的欢迎信息,由用户自己建立

connect_from_port_20=YES ##端口

xferlog_std_format=YES

chroot_local_user=YES

chroot_list_enable=YES ##设置为 NO 时,用户登录FTP 服务器后具有访问自己目录以外的其他文件的权限, 设置为 YES 时 , 用户被锁定在自己的 home 目录中,

vsftpd 将在下面 chroot_list_file 选项值的位置寻找 chroot_list 文件,此文件需用户建立, 再将需锁定在自己home 目录的用户列入其中,每行一个用户


listen=YES ##监听

local_root=/home/Dnew_collect-1/log/log ## ftp 目录



pam_service_name=vsftpd ## 设置 PAM 外挂模块提供的认证服务所使用的配置文件名 ,

即/etc/pam.d/vsftpd 文件,此文件中file=/etc/vsftpd/ftpusers字段,

说明了PAM 模块能抵挡的帐号内容来自文件/etc/vsftpd/ftpusers中


userlist_enable=YES #此项默认为YES ,设置是否阻扯user_list 文件中的用户登录FTP 服务器


tcp_wrappers=YES ## 表明服务器使用 tcp_wrappers 作为主机访问控制方式,tcp_wrappers

可以实现linux 系统中网络服务的基于主机地址的访问控制,在/etc 目录中的hosts.allow 和hosts.deny

两个文件用于设置tcp_wrappers 的访问控制,前者设置允许访问记录,后者设置拒绝访问记录




若遇到:

500 OOPS:cannot change directory:/root



配置selinux


查看状态:

/etc/s/usr/sbin/sestatus -v


可以查看

getsebool -a | grep ftp


[root@localhost log]# getsebool -a | grep ftp

allow_ftpd_anon_write --> off

allow_ftpd_full_access --> off

allow_ftpd_use_cifs --> off

allow_ftpd_use_nfs --> off

ftp_home_dir --> off

ftpd_connect_db --> off

ftpd_use_passive_mode --> off

httpd_enable_ftp_server --> off

tftp_anon_write --> off


发现 ftp_home_dir 是off

setsebool -P ftp_home_dir on 就可以配置。


再次测试:


[root@localhost log]# ftp localhost

Trying ::1...

ftp: connect to address ::1Connection refused

Trying 127.0.0.1...

Connected to localhost (127.0.0.1).

220 (vsFTPd 2.2.2)

Name (localhost:root): root

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

说明配置成功


设置开机启动:


chkconfig vsftpd on