继上次跟大家分享了《【菜鸟教程】最简单设置支持HTML的Web服务器》,很多朋友都给微魔提出了不少不错的建议,比如加入FTP功能。其实在此之前,微魔对于FTP来讲好感不大,但是有网友说如果加入FTP功能,一些诸如图床等用途就可以方便的使用了,其实加入FTP也并不麻烦,微魔在本文中还是会使用最简单的命令给大家实现FTP功能,如果你还没有看之前的简单HTML服务器的搭建,微魔推荐您可以回去粗略扫一眼~
【菜鸟教程】为Web服务器添加FTP支持
注意:一直以来FTP的安全性就让大家所诟病,本文的教程难免有所错漏,欢迎大家批评指正,同时本文借鉴了部分网络的成果,但来源复杂,原作者很难追溯,欢迎原文作者告知,微魔尊重知识来源,会根据需要添加原文链接。
本文选取的环境为Debian,所选用的FTP软件为vsftpd,这个软件有一个听起来很美好的名字,叫Very Safe FTP Daemon,是否名副其实,就由大家来评断了。
1.安装vsftpd
apt-get update apt-get install vsftpd
你可以通过 service vsftpd XXX或/etc/init.d/vsftpd XXX来管理,XXX可以替换为start(启动),restart(重启),reload(重新加载)和stop(停止)这四个最常见的指令。
2.增加FTP用户ftpadmin
useradd ftpadmin -d /home/www/vmvps.com -s /bin/false
3.设置FTP用户密码。
passwd ftpadmin
4.修改ftpadmin与www-data为同一个组(UID和GID)(因为我们前文用的是Nginx,默认用户为www-data)。
vi /etc/group vi /etc/passwd
参照已有的www-data修改,如
www-data:x:33: ftpadmin:x:33:
5.修改 /etc/pam.d/vsftpd 文件,在auth required pam_shells.so前面加#
vi /etc/pam.d/vsftpd
6.配置Vsftpd
值得注意的是Vsftpd的默认配置文件位于/etc/vsftpd.conf,下面我们就要对这个文件动刀了
推荐在使用前,先对这个默认的配置文件备份,以防操作失误~
cp /etc/vsftpd.conf /etc/vsftpd.confbackup
接下来vi这个文件我们会发现他的大部分内容都被#注释掉(也就是不生效的),我们可以根据自己的需求修改,我所做的修改如下,大家可以参照
listen=YES listen_port=21 #可以修改端口为其他 anonymous_enable=NO #禁止匿名用户登录 local_enable=YES #启用本地用户登录 write_enable=YES #启用写入 local_umask=022 #设置本地用户的文件掩码 chown_uploads=YES #上传文件的属主,与下面项配合用 chown_username=ftpadmin #与上面创建的用户对应 chroot_local_user=YES #锁定FTP用户在home目录 Chroot_list_enable=yes #文件中的名单可以调用 Chroot_list_file=/etc/vsftpd.chroot_list
最后,新建一个/etc/vsftpd.chroot_list,里面输入ftpadmin,大家就拿出FTP客户端尝试连接吧~