Linux安装FTP并添加FTP用户【原创亲测】

2019年12月21日09:48:13

一些人不喜欢安装控制面板,喜欢自己搭建环境,认为这样的系统更纯,不用安装太多无用的东西,也节省了内存和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,如图:

在chroot_list文件添加ftp用户

在chroot_list文件添加ftp用户

保存退出。

至此,我们就可以用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连接后,成功进行上传和删除文件操作。

Linux安装FTP后成功连接

Linux安装FTP后成功连接

本教程是本人亲自操作实践成功而作,希望对新手有一定的参考作用吧!

后记:安全问题

本教程中添加的ftp用户,由于没有对其权限进行特别设置,所以安全性是不太够的。由于这不是本文重点,为了介绍代码更加简洁易懂,操作步骤尽量简单,所以忽略了。但这仅为教程易学而已,在正式生产环境中,还是要对用户进行具体的权限设置的。这点希望大家明白。相关的安全设置这里不多究了,用户自行参考资料设置好即可。