一些人不喜欢安装控制面板,喜欢自己搭建环境,认为这样的系统更纯,不用安装太多无用的东西,也节省了内存和cpu的使用。其实我也是喜欢自己搭建环境,安装自己需要的软件,觉得这样的系统用起来更得心应手。本文给大家介绍一下如何在linux安装ftp服务并添加ftp用户,最后能达到上传文件到网站里的目的。
注意!本教程适合 CentOS 系统,其他系统本人未测试,可能略有不同。
整个过程其实安装ftp只是几秒钟的时间,关键的又最容易搞错的是ftp用户的添加和设置。
一、安装vsftpd
用root用户登录终端,使用如下命令查询是否安装了vsftpd。
[root@vultr ~]# rpm -qa | grep vsftpd
如果安装了的话会显示其版本,没安装就什么也不返回,但也不报错。没安装的话就使用如下命令来安装:
[root@vultr ~]# yum -y install vsftpd
安装只需几秒钟。
二、添加ftp用户
我们的ftp用户是用来上传网站文件的,所以我们添加ftp用户时就指定其所属目录为网站的根目录。假设网站目录是 /home/wwwroot/default
,ftp用户名是vps5u,那么使用命令就是:
[root@vultr ~]# useradd -d /home/wwwroot/default vps5u
添加用户后设置用户秘密,命令如下:
[root@vultr ~]# passwd vps5u
回车后,要输入两次密码来确认。
三、配置vsftpd
添加用户后还要配置vsftpd,才能在客户端连接。
输入如下命令,打开配置文件:
[root@vultr ~]# vi /etc/vsftpd/vsftpd.conf
然后编辑几个地方,新手操作提示:按i
键打开编辑模式,按Esc
键退出编辑模式;在非编辑模式,输入:wq!
后按回车键是保存退出编辑器,输入:q!
后按回车键是不保存退出编辑器。
把如下四行中的三行前面的注释符号#
去掉,原来是这样:
#chroot_local_user=YES #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd/chroot_list
修改后是这样:
chroot_local_user=YES chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list
然后,按向下箭头键,使光标一直往下滚到最后一行,在最后面添加一行,指定登录ftp后打开的目录,即是我们的网站目录:
local_root=/home/wwwroot/default
添加后,最后几行应该是这样:
pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES local_root=/home/wwwroot/default
最后,还有一个地方要设置。这个设置非常关键,大部分教程没有清楚说明白这一点,导致最后配置不成功,我为此耗了一个晚上的时间。
就是要在/etc/vsftpd/chroot_list
这个文件添加刚才添加的ftp用户。命令如下:
[root@vultr ~]# vi /etc/vsftpd/chroot_list
在编辑器编辑这个文件(这个文件其实是还不存在的,我们现在是新建这个文件),输入刚才添加的ftp用户vps5u,如图:
保存退出。
至此,我们就可以用ftp客户端连接了,但是你会发现,连接ftp后只能浏览却不能上传或删除文件。这时我们还需修改一下网站所属用户为刚才添加的ftp用户,执行命令如下:
[root@vultr ~]# chown -R vps5u /home/wwwroot/default
说明:vps5u是刚添加的ftp用户,/home/wwwroot/default
是网站根目录。
到此,就大功告成了!
对了,还要启动ftp服务哦,命令如下:
centos 6.x:
[root@vultr ~]# service vsftpd start
centos 7.x:
[root@vultr ~]# /bin/systemctl start vsftpd.service
ftp服务重启和关闭命令如下:
重启ftp服务 service vsftpd restart (centos 6.x) /bin/systemctl restart vsftpd.service (centos 7.x) 停止ftp服务 service vsftpd stop (centos 6.x) /bin/systemctl stop vsftpd.service (centos 7.x)
四、安装完毕
我用LeapFTP连接后,成功进行上传和删除文件操作。
本教程是本人亲自操作实践成功而作,希望对新手有一定的参考作用吧!
后记:安全问题
本教程中添加的ftp用户,由于没有对其权限进行特别设置,所以安全性是不太够的。由于这不是本文重点,为了介绍代码更加简洁易懂,操作步骤尽量简单,所以忽略了。但这仅为教程易学而已,在正式生产环境中,还是要对用户进行具体的权限设置的。这点希望大家明白。相关的安全设置这里不多究了,用户自行参考资料设置好即可。