先来开通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
VirtualBox的端口映射的方法见:http://liucheng.name/1947/ (配置VirtualBox+CentOS的SSH+FTP及CentOS yum镜像)
文件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