本人小白一枚,最近从零开始搭建网站,前期工作做完后就着手搭建环境了,搭建网站肯定需要上传下载文件,所以ftp服务不可或缺今天搭建FTP遇到一些问题,所以记录下
- 安装vsftpd ,vsftpd是非常轻量级的软件,安装也很简单,远程连接云服务器之后直接执行命令
安装命令:yum -y install vsftpd
以下界面表示安装成功
- 运行以下命令设置FTP服务开机自启动
执行命令:
systemctl enable vsftpd.service
运行以下命令启动FTP服务 :
systemctl start vsftpd.service
- 配置vsftpd参数
在这一共有两种模式,主动模式和被动模式,可能参考的文档太多了,总是出现各种问题,连接不上服务器,不能访问目录列表等,查了一天,各种百度,各种搜索终于解决了。
主动模式和被动模式的区别一知半解,就不描述了。
我选择的主动模式,以下主动模式下本地用户配置方法:
(1)执行命令:
vim /etc/vsftpd/vsftpd.conf
,
进入编辑模式,修改如下参数:
anonymous_enable=NO #禁止匿名登录FTP服务器
local_enable=YES #允许本地用户登录FTP服务器
listen=YES #监听IPv4 sockets
#在行首添加#注释掉以下参数
#listen_ipv6=YES #关闭监听IPv6 sockets
#添加下列参数
chroot_local_user=YES #全部用户被限制在主目录
chroot_list_enable=YES #启用例外用户名单
chroot_list_file=/etc/vsftpd/chroot_list #指定例外用户列表文件,列表中的用户不被锁定在主目录
allow_writeable_chroot=YES
local_root=/var/ftp/test #设置本地用户登录后所在的目录
(2)创建chroot_list文件,并在文件中写入例外用户名单
执行命令:vim /etc/vsftpd/chroot_list
进入编辑模式,输入例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录,如果没有例外用户,也可以不创建。
(3)重启vsftpd服务
运行命令: systemctl restart vsftpd.service
4. 创建本地用户
运行命令:adduser ftptest
设置密码:passwd ftptest
创建可供用户使用的目录:mkdir /var/ftp/test
运行命令更改用户所有者:chown -R ftptest:ftptest /var/ftp/test
5. 设置安全组
登录阿里云官网,点击云服务ECS->实例,在右侧实例中点击更多->网络和安全组->安全组配置
入方向选择21端口
6. 使用XFTP或FileZilla登录
本地电脑下载软件之后
(1)填写主机IP,用户名,密码
(2)在传输设置中传输模式改成主动
(3)连接成功,显示默认目录,大功告成,可以传文件了
7. root用户登陆报错530 Permission denied、530 Login incorrect解决方法
(1)执行命令 vim /etc/vsftpd/user_list
进入编辑模式,注释掉root用户
(2)再次以root登陆,会报错“530 Login incorrect”
执行命令:vim /etc/vsftpd/ftpusers
进入编辑模式,同样注释掉root用户
(3)重新登录,成功!