先来开通CentOS6的FTP服务吧。telnet服务也一并学习学习吧。在安装好CentOS以后,需要设置Ftp和Telnet服务文件,才能启动Ftp和Telnet服务,可以通过远程控制进行开启。

开通FTP有gssftp和vsftpd二种,查了查,据说vsftpd更稳定和更安全。就用vsftpd吧。

什么是vsftpd

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

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

首先看看vsftpd装了没有

rpm -q vsftpd

没装的话就先安装吧

yum -y install vsftpd

设置开机启动vsftpd ftp服务

chkconfig vsftpd on

启动vsftpd服务

service vsftpd start

管理vsftpd相关命令:

停止vsftpd:  service vsftpd stop

重启vsftpd:  service vsftpd restart

配置vsftpd服务器

vi /etc/vsftpd/vsftpd.conf

将下面三行

#chroot_list_enable=YES

# (default follows)

#chroot_list_file=/etc/vsftpd/chroot_list

改为

chroot_list_enable=YES

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

用adduser增加用户ftpuser,用-d指定目录。显示的用法看adduser.

useradd -d /home/wwwroot/ -g ftp  ftpuser

用passwd设置用户的密码

passwd ftpuser

重新启动vsftpd

service vsftpd restart 

开通telnet服务

rpm -q xinetd

yum -y install xinetd

chkconfig xinetd on

service xinetd start

这样就开通了telnet了。

配置防火墙

如果以上设置完了之后,还是不能正常访问,那很有可能是防火墙屏掉的原因了。再配置防火墙

vi /etc/sysconfig/iptables   #打开/etc/sysconfig/iptables文件

添加如下代码

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT  #FTP21端口的
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT  #telnet23端口

重启iptables

service iptables restart

配置VirtualBox的端口映射

如果你是用VirtualBox装的系统,就要在Host机跟虚拟机之间弄个端口映射了。 FTP的默认端口是21, telnet的默认端口是23

ftp配置的备注说明

如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置, 然后在
文件vsftpd.chroot_list中不添加该用户即可(此时, 在该文件中的用户都是可以浏览其主目录之外的目录的).
或者, 设置如下
chroot_local_user=NO
chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
chroot_list_file=/etc/vsftpd.chroot_list
然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list(此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的)
中即可(一行一个用户名).

三、CentOS vsftpd配置

1 打开 /etc/vsftpd/vsftpd.conf文件。将anonymous_enable=YES,改为anonymous_enable=NO
2 打开 /etc/vsftpd/vsftpd.conf文件。添加user_config_dir=/etc/vsftpd/virtual,并建立virtual目录。在此目录中建立以用户名为文件名的文件,并写入:local_root=[目录],这个目录即是FTP连接时的主目录。
3 限定用户只在自己目录:修改vsftpd.conf文件,取消注释:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在/etc/vsftpd/目录下添加文件chroot_list,加入作为FTP用户的本地用户名。
4 解决用户无法进入目录问题:
打开终端,输入:setsebool -P ftpd_disable_trans 1
然后重启FTP服务:service vsftpd restart

四、权限:

假设是/var/www/html
这个目录的权限应该是770,owner是root,group是ftp
chmod 770 /var/www/html
chown root:ftp /var/www/html