由于当初在虚拟机VirtualBox中安装CentOS时,选择的是Basic Server,所以vsftpd没有默认安装。本文介绍通过挂载iso光盘镜像的方式,安装、配置vsftpd,详细如下。
一、安装vsftpd
1、挂载iso光盘镜像
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom
2、安装vsftpd包
# cd /mnt/cdrom/Packages
# rpm -ivh vsftpd-2.2.2-11.el6_4.1.i686.rpm
# chkconfig vsftpd on
# service vsftpd restart
3、防火墙限制端口放开
# cd /etc/sysconfig/
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
# service iptables restart
二、配置vsftpd、创建ftp用户
1、/etc/vsftpd/vsftpd.conf修改内容如下
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
2、创建ftpuser用户,指向/home/ftpuser,禁止shell登录,并创建密码
# useradd -d /home/ftpuser -g -s /sbin/nologin ftpuser
# passwd ftpuser
3、创建、编辑/etc/vsftpd/chroot_list文件,内容为ftp用户名,每个用户占一行
ftpuser
4、重启vsftpd服务
# service vsftpd restart
【备注】
可能出现的报错
500 OOPS: cannot change directory:/home/ftpuser
500 OOPS: priv_sock_get_cmd
这是因为服务器开启了selinux,这限制了FTP的登录。
网上的解决方法:
# setsebool -P ftpd_disable_trans 1
# service vsftpd restart
但是这个办法也有报错:
Boolean ftpd_disable_trans is not defined
更进一步的解决办法:
#查看selinux,会发现状态都是off
# sestatus -b | grep -i ftp#发现更改ftp_home_dir为on状态,竟然OK
# setsebool -P ftp_home_dir 1
于是再次重启vsftpd服务
# service vsftpd restart
测试ftp上传、下载,都ok。
至此,简明vsftp安装成功!