上海网站建设之linux云主机的ftp安装与配置
2013-11-11 21:05:25

刚开通了一款linux云主机,准备配置一个高效的php运行环境。只是云主机中只有一个最基本的操作系统,其他的什么都没有,Ftp、apache、mysql、php都要安装。但是最基本的配置是ftp。这里就是用centos中最流行的vsftp,至于如何安装和配置,下面就详细介绍!

vsftpd作为FTP服务器,在Linux系统中是非常常用的。下面我们介绍如何在centos系统上安装vsftp。


什么是vsftpd
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。

安装vsftpd
1、以管理员(root)身份执行以下命令

yum install vsftpd
2、设置开机启动vsftpd ftp服务

chkconfig vsftpd on
3、启动vsftpd服务

1.service vsftpd start
管理vsftpd相关命令:

停止vsftpd:  service vsftpd stop

重启vsftpd:  service vsftpd restart

配置防火墙
打开/etc/sysconfig/iptables文件

1.vi /etc/sysconfig/iptables
在REJECT行之前添加如下代码

1.-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存和关闭文件,重启防火墙

1.service iptables start
配置vsftpd服务器
默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。

1.vi /etc/vsftpd/vsftpd.conf
添加ftp用户
下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。

1、修改/etc/vsftpd/vsftpd.conf

将底下三行

1.#chroot_list_enable=YES
2.# (default follows)
3.#chroot_list_file=/etc/vsftpd.chroot_list
改为

1.chroot_list_enable=YES
2.# (default follows)
3.chroot_list_file=/etc/vsftpd/chroot_list

3、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。

1.useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
4、设置用户口令

1.passwd ftpuser
5、编辑文件chroot_list:

1.vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:

peter
john

6、重新启动vsftpd

1.service vsftpd restart
另外,如果觉得以后管理ftp用户名嫌麻烦,可以使用centos官方发布的脚本管理。地址如下:

http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users

出现的错误
1、500 OOPS: cannot change directory
解决方法:


在终端输入命令:

1.setsebool -P ftpd_disable_trans 1
2.service vsftpd restart
就OK了!
原因:这是因为服务器开启了selinux,这限制了FTP的登录。