智传网优云课堂,专注分享IT技术
与IT技术爱好者一起共同学习进步

Linux搭建ftp服务器

以CentOS 6为例:

1. vsftp简介

  • vsftp是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。

  • 安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。

2. 安装vsftp套件

[root@zcwyou ~]# yum install vsftpd -y

3. 配置开机自启

chkconfig是CentOS6上的程序管理工具,CentOS7请使用systemctl

[root@zcwyou ~]# chkconfig vsftpd on

检查验证:

[root@zcwyou ~]# chkconfig vsftpd --list | grep vsftpd

chkconfig检查vsftp服务

4. 防火墙开放端口

如果你的防火墙默认没有开启FTP端口,请按以下方法开启,仅仅适用于CentOS6这类使用iptables防火墙的发行版,CentOS 7与Ubuntu不适用。请转到本站相关教程。

[root@zcwyou ~]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
[root@zcwyou ~]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

保存防火墙配置:

[root@zcwyou ~]# service iptables save

重启防火墙配置,马上生效。

[root@zcwyou ~]# service iptables restart

防火墙放行ftp服务

5. 创建ftp用户

以用户ftpuser为例

[root@zcwyou ~]# useradd ftpuser -d /home/ftpuser -s /sbin/nologin

只要使用ftpuser的身份登录FTP服务,即可读取以下目录的内容:
/home/ftpuser/

6. 为ftp用户设置密码

以用户ftpuser为例

[root@zcwyou ~]# passwd ftpuser

输入两次一样的密码

设置ftp用户密码

7. 修改配置文件(可选)

不允许匿名用户登录,只能用创建的账号和密码登录。

[root@zcwyou ~]# vi /etc/vsftpd/vsftpd.conf

修改以下内容,默认为YES,即允许匿名用户登录,NO表示不允许:
anonymous_enable=NO

禁止匿名用户登录ftp

8. 启动vsftp服务

[root@zcwyou ~]# service vsftpd start

9. 设置SElinux标签

如果你没有使用SElinux,不需要配置这步。如果你不清楚自己是否在使用,请按执行以下指令。

查询SElinux对ftp服务器的相关状态

[root@zcwyou ~]# getsebool -a | grep ftp

查询SElinux对ftp服务器的相关状态

可以看到,默认情况下,SElinux限制了ftp所有的功能

配置SElinux,允许访问FTP服务:

[root@zcwyou ~]# setsebool -P allow_ftpd_full_access 1

再次检查:

[root@zcwyou ~]# getsebool -a | grep ftp

确认SElinux放行ftp服务器

10. 测试

使用浏览器
使用浏览器访问ftp服务器

如果输入密码后无法进入,或者报530错误:

[root@zcwyou ~]# vi /etc/pam.d/vsftpd

auth required pam_shells.so修改为auth required pam_nologin.so即可

或者

使用FTP专用客户端:
filezilla ftp客户端

官方下载地址:
https://filezilla-project.org/

下载filezilla客户端

使用filezilla客户端登录ftp

赞(0)
未经允许不得转载:Linux入门学习到精通 » Linux搭建ftp服务器
分享到: 更多 (0)

学习QQ群:557371664

关注微信公众号自助视频学习

评论 抢沙发

评论前必须登录!