Linux搭建ftp服务
目录
- 简介
- 一、安装配置vsftpd
- 二、验证本地ftp服务是否可以正常访问
- 三、创建用户并配置有用户的vsftpd配置文件
- 四、外部ftp访问配置
- 五、文件读写
简介
下面主要内容为阿里云租赁的Centos如何构建ftp服务器,讲解较为详细,亲测有用,搭建的过程中参考了网上一些文章,文后会给出,侵删
一、安装配置vsftpd
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用,我们选择安装并配置vsftpd
1、安装vsftpd,直接使用yum安装
yum install -y vsftpd
如上图所示则安装成功
vsftpd常用命令如下
service vsftpd stop//停止vsftpd服务
service vsftpd start//开启vsftpd服务
service vsftpd restart//重启vsftpd服务
netstat -antup | grep ftp//查看ftp服务端口
systemctl enable vsftpd.service//vsftpd开机自启
systemctl status vsftpd.service//查看vsftpd服务状态和日志
如果之前安装过的,想卸载重装的,下面是卸载方法
vsftpd卸载方法:
查看vsftpd版本(也可以查看是否安装了vsftpd):
rpm -q vsftpd
卸载vsftpd
rpm –e vsftpd版本
2、安装成功后,则需配置vsftpd的相关配置文件
本次配置是配置匿名登录的配置文件
vim /etc/vsftpd/vsftpd.conf
将 anonymous_enable=NO 设置为 YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
把这两句前的#号删除,移除注释
3、设置vsftpd开机自启
systemctl enable vsftpd.service
二、验证本地ftp服务是否可以正常访问
1、安装ftp
yum -y install ftp
如上图所示则安装成功
2、安装成功后,输入 ftp localhost ,使用anonymous登录,无需密码
出现 230 Login successful 则本地ftp可以正常匿名登陆
匿名登录成功后,我们需要创建用户,并修改一下配置文件,关闭匿名登录,让ftp使用账号密码登录
三、创建用户并配置有用户的vsftpd配置文件
1、创建用户useradd 用户名 -s /sbin/nologin
2、设置密码:passwd 用户名
3、创建成功后,和之前配置时相同,进入目录
将 anonymous_enable=YES 设置为 NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
在这两句前的加上#号,注释掉他们
找到 #chroot_local_user=YES 和 #chroot_list_file=/etc/vsftpd/chroot_list (这个也可以不取消注释)将前面的注释删除
4、配置好后,重启vsftpd
systemctl restart vsftpd.service
四、外部ftp访问配置
1、查看防火墙状态
systemctl status firewalld
Active状态为 active (running) 则防火墙处于开启状态
2、配置防火墙规则,开放21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --reload
这样防火墙就成功配置好了
也可以关闭防火墙,这样也能达到效果
systemctl stop firewalld.service//关闭防火墙
为了防止服务器重启后防火墙还是自动开启,可以禁止防火墙开机自启
systemctl disable firewalld.service//禁止防火墙重启后自启
防火墙其他命令:
systemctl start firewalld//启动防火墙
systemctl enable firewalld//开机自启防火墙
3、在本机电脑上取消使用被动ftp,不然会报200和227错误
如果没有取消使用被动ftp,就会报下图错误
下面是取消使用被动ftp的方法
在开始里输入int,选择Internet选项
在Internet属性中,选择高级,找到使用被动FTP,将前面的勾勾去掉,点击确定就好了
4、如果是使用阿里云服务器的,还需要检查服务器安全组是否开放了21端口(开启过的请忽略)
如果没开放21端口的话,会出现下图错误
查看阿里云服务器开放端口如下
登录后点击控制台
进入自己的服务器,我的是云服务器
点击安全组
配置规则
查看是否开放21端口
如果没有开放,则在右上角点击添加安全组规则
添加规则,点击确定就好了
5、在windows上输入ftp://ip地址,输入账号密码,就可以登录成功了
登录成功后,一般是没有东西的,这时候你想上传东西,会发现你没有权限上传,这时候我们需要赋予读写文件的权限
五、文件读写
1、设置用户文件夹权限
chmod 777 -R /home/用户名
这时候文件就可以正常上传了
至此ftp就配置成功了,如果想要匿名登录ftp,可以在本地匿名成功登录后,弄好外部ftp访问就可以直接在windows上输入ftp://ip地址,就可以登录了,无需账号密码,匿名登录后,会有一个pub文件夹(系统预设),然后赋予文件权限(chmod 777 -R /var/ftp/pub)就好了
问题一:匿名可以登录FTP服务器,但是用指定的用户名和密码无法登录到该FTP服务器,用ftp localhost 登录报500错误
解决办法:https://blog.csdn.net/qq_41521180/article/details/88209921
参考文章:
1、https://www.cnblogs.com/zhi-leaf/p/5983550.html
2、https://blog.csdn.net/qq_41020714/article/details/88068082
3、https://www.cnblogs.com/ismallboy/p/6785270.html
还没有评论,来说两句吧...