参考:
http://www.iitshare.com/installation-and-configuration-of-vsftpd.html
http://www.olinux.org.cn/linux/83.html
http://www.tuicool.com/articles/Z7FFZb
http://book.51cto.com/art/201005/199776.htm
http://os.51cto.com/art/201008/221633.htm
vsftpd作为FTP服务器,在Linux系统中是非常常用的。下面我们介绍如何在centos系统上安装vsftp。
什么是vsftpd
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
OK !现在进入安装配置。
安装vsftpd
1、以管理员(root)身份执行以下命令
yum install vsftpd
2、设置开机启动vsftpd ftp服务
chkconfig vsftpd on
3、启动vsftpd服务
service vsftpd start
管理vsftpd相关命令
停止vsftpd: service vsftpd stop
重启vsftpd: service vsftpd restart
配置防火墙
如果服务器没有下面防火墙文件,则不用进行设置,比如阿里云服务器就没有此配置文件
1、打开/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables
2、在REJECT行之前添加如下代码
/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
3、保存和关闭文件,重启防火墙
service iptables start
配置vsftpd服务器
默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。
vi /etc/vsftpd/vsftpd.conf
添加ftp用户
下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。
1、修改/etc/vsftpd/vsftpd.conf
将底下三行
1
2
3
|
#chroot_list_enable=YES
# (
default
follows)
#chroot_list_file=/etc/vsftpd.chroot_list
|
改为
1
2
3
|
chroot_list_enable=YES
# (
default
follows)
chroot_list_file=/etc/vsftpd/chroot_list
|
2、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
3、设置用户口令
passwd ftpuser
4、编辑文件chroot_list:
vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:
iitsahre
itblood
5、重新启动vsftpd
service vsftpd restart
错误解决
1、500 OOPS: cannot change directory
当我以为成功后,去用ftp工具连接测试结果发现:500 OOPS: cannot change directory:/home/admin
原因是CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。
//查看SELinux设置
# getsebool -a|grep ftp
ftpd_disable_trans --> off
//使用setsebool命令开启
# setsebool ftp_home_dir 1
//再次查看当前状态是否是on的状态
# getsebool -a|grep ftp
//setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
# service vsftpd restart
解决方法:http://www.iitshare.com/500-oops-cannot-change-directory.html