本人学习linux只是出于最原始兴趣而已,所以难免讲的有些浅薄,见谅。
一般搭个网站大家第一时间想到的是LAMP,这和FTP有什么关系呢,当LAMP环境搭建完成后怎么上传你的网站??有请我们的主角VSFTP!
VSFTP的全名叫做Very Secure FTP,没错very secure!very 安全的FTP软件。个人用户尤其是和我一样的菜鸟用户就不用考虑其他特性了,有前人的经验指导总是没错的。废话就不多说了,开搞。
注:系统环境 linux-centos-6.5-64位
很多linux镜像都默认安装了不少软件,so在安装前一定要检查一下是否已经安装了该软件
1. rpm -aq vsftpd
如果没有返回值,恭喜你,你的电脑没有预装,直接进行下一步即可。如果有vsftpd-2.2.2-21.el6.x86_64这种类型的返回值就说明你已经安装过了,如果想要重新安装就需要使用rpm -e vsftpd-2.2.2-21.el6.x86_64 这条命令来卸载掉即可。
2.yum -y install vsftpd
因为我使用的是阿里云centos服务器,阿里提供的镜像yum还是比较好用的。通过yum我们就可以来直接安装了,-y属性可以免去你输入yes的烦恼。
3.vim /etc/vsftpd/vsftpd.conf
vsftpd.conf文件是vsftp软件的总配置文件,这里面的属性直接决定ftp服务器的功能,我也只是略知一二而已。
①anonymous_enable=YES
这个属性是用来配置匿名用户是否可以登录的。因为我搭建ftp是给自己用的,所以我们直接通过#号注释掉即可,这样只有拥有ftp账号才可以登录。#anonymous_enable=YES
②pam_service_name=vsftpd
centos6.5默认带这条属性,其作用是告诉pam模块(系统自带的用户权限审核模块)这款软件的pam服务名称叫vsftpd。
③userlist_enable=YES
区别于pam模块,vsftp软件自身也带有权限审核机制userlist(两种机制可以同时存在,或者只存在pam模块),当只存在userlist_enable而不存在userlist_deny其意义是:
userlist_enable=YES user_list文件起白名单作用
当userlist_enable和userlist_deny同时存在时有以下关系:
注:只有userlist_enable=YES时userlist_deny的值才有意义!
userlist_enable=YES,userlist_deny=NO user_list文件起白名单作用;
userlist_enable=YES,userlist_deny=YES user_list文件起黑名单作用;
userlist_enable=NO,userlist_deny=NO user_list文件不起作用;
白名单作用是只有在user_list文件中的用户才可以访问FTP服务器。
黑名单的作用是所有在user_list文件中的用户都不可以访问FTP服务器。
④local_root=/home/ftpspace
指定本地用户登录ftp时的根目录,注意匿名用户不在其中。
⑤tcp_wrappers=YES
这个属性centos默认就是yes,不用更改。OK,到这我们已经配置完vsftpd.conf文件了。
3.useradd ftptest -s /sbin/nologin
添加ftp用户。
4.passwd ftptest
给ftptest用户设置密码,这里我们设置密码为ftptest。
5.vim /etc/vsftpd/user_list
还记得之前说过的白名单吗,没错就是它user_list,把里面其他用户用#号注释掉并且添加你刚useradd 的用户名ftptest。
6.mkdir /home/ftpspace
chown -R ftptest /home/ftpspace
chmod -R 755 /home/ftpspace
创建并修改ftp根目录权限。
7.service vsftpd start
开启服务。
8.chkconfig vsftpd on
设置开机启动。
现在,你就可以通过账号ftptest密码ftptest来登录刚建好的FTP服务器了