本文环境:CentOs 7.2 Vsftpd 3.0.3安全
最近一个接的一个小网站须要提供给维护人员上传和下载部分文件的功能,因而开始用到了Ftp服务器
首先先安装Vsftpd,至于为何是Vsftpd,查了一下发现网上大多数人是看重其安全性。工具
第一步安装Vsftpd:网站
# yum install vsftpd
接下来咱们要查看vsftpd安装到哪一个目录spa
# whereis vsftpd //vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
ok,系统告诉咱们在/etc/vsftpd下面,因此进入.net
# cd /etc/vsftpd
进入会发现一个叫vsftpd.conf的配置文件
vi vsftpd.conf3d
这个时候咱们会发现一大堆的配置文件,这个时候咱们其实能够启动ftp服务器了rest
# systemctl start vsftpd.service
若是 Firewall 防火墙开放端口而且安全组开放端口的话,已经能够经过第三方工具,好比FileZilla匿名登陆了,只须要输入ip 好比 47.104.25.13code
传输模式改成主动以后就链接上了,匿名登陆到的默认目录是/var/ftp 文件夹下blog
可是这种匿名登陆存在缺陷,若是别人知道你的服务器的ip的话也能够直接进入你项目下随心所欲了,因而咱们须要避免这种缺陷,修改配置文件
# vi vsftpd.conf //修改如下配置 anonymous_enable=NO //不容许匿名链接 allow_writeable_chroot=YES //容许修改root目录 chroot_local_user=YES //不容许用户访问上级目录
ok,加完这些保存以后,从新启动
# systemctl restart vsftpd.service
ok,这个时候咱们须要给ftp新加用户,而且给用户赋予某些文件夹的权限
# mkdir /data/www //建立一个目录 # cd /data/www //进入到目录下 # chmod -R 755 /data/www //给这个目录赋予rwxr-xr-x 的权限,具体755是什么权限能够去这个连接下看http://blog.csdn.net/u014316462/article/details/52241685
接下来咱们要建立一个用户
# useradd -d /data/www -s /sbin/nologin ftpUser // -s:禁止此用户登陆SSH的权限 /sbin/nologin:不容许此用户登陆系统,但能够登陆FTP
改变/data/www的全部者本来是root 而且建立用户ftpUser,可是这个用户不能使用SSH的权限也就是不能登陆centOs系统,只能用于ftp登陆
ok大功告成,这个时候咱们再一次重启ftp服务器
# systemctl restart vsftpd.service
这个时候咱们再试一下匿名登陆
出现了530错误,由于咱们禁止了用户的匿名登陆
这个时候咱们再用本地用户登陆
是否是成功登陆上去了。若是须要增长更多功能能够专研一下vsftpd.conf的配置文件。