Centos7搭建FTP服务器,详细教程

一、关闭防火墙

systemctl status firewalld.service  #查看防火墙状态

systemctl stop firewalld.service  #停止防火墙服务

systemctl disable firewalld.service #关闭防火墙开启自启动

/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT

然后关闭selinux,打开/etc/selinux/config 文件,命令如下:

vi /etc/selinux/config

把文件中的SELINUX=enforcing 改为SELINUXdisabled 即可。

等待搭建成功后再开启防火墙,再开端口。要不然会带来很多不必要的麻烦。

二、安装vsftpd并启动服务

1、安装vsftpd

yum install -y vsftpd

2、启动服务与设置开机启动ftp

systemctl start vsftpd.service 启动服务

systemctl enable vsftpd.service 设置开机自动启动服务

三、编辑配置文件 vsftpd.conf

vi /etc/vsftpd/vsftpd.conf #编辑配置文件

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

#anon_upload_enable=YES

#anon_mkdir_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

#chown_uploads=YES

#chown_username=whoever

#xferlog_file=/var/log/xferlog

xferlog_std_format=YES

#idle_session_timeout=600

#data_connection_timeout=120

#nopriv_user=ftpsecure

#async_abor_enable=YES

#ascii_upload_enable=YES

#ascii_download_enable=YES

#ftpd_banner=Welcome to blah FTP service.

#deny_email_enable=YES

#banned_email_file=/etc/vsftpd/banned_emails

chroot_local_user=YES

#chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

ls_recurse_enable=NO

listen=YES

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

userlist_deny=NO

allow_writeable_chroot=YES

tcp_wrappers=YES

pasv_min_port=6000

pasv_max_port=6010

修改完之后,需要重启FTP服务刷新配置:

systemctl start vsftpd.service  #重启FTP服务

1

四、新建用户并设置密码

useradd -d /home/helloftp -s /bin/bash helloftp

新建用户:helloftp 并禁止登入系统

passwd helloftp

设置用户helloftp密码

五、允许新建用户登录FTP

vi /etc/vsftpd/user_list

编辑/etc/vsftpd/user_list 这个是允许登录ftp的名单,将helloftp账号添加到最后。

搭建成功

特别注意:

1、设置了 chroot_local_user=YES 后,用户不能登录,原因是没设置 allow_writeable_chroot=YES

2、重启服务器后无法连接FTP,原因是你防火墙没有关闭彻底。

3、关于本vsftpd.conf配置文件的详细解析:

anonymous_enable=NO #是否开启匿名用户,匿名都不安全,不要开

local_enable=YES #允许本机账号登录FTP

write_enable=YES #允许账号都有写操作

local_umask=022

#意思是指:文件目录权限:777-022=755,文件权限:666-022=644,这有点反人类了,并且没有人跟我说是减去的。注意理解!

#anon_upload_enable=YES #匿名用户是否有上传文件的功能,不要开

#anon_mkdir_write_enable=YES #匿名用户是否有创建文件夹的功能,不要开

dirmessage_enable=YES #进入某个目录的时候,是否在客户端提示一下

xferlog_enable=YES #日志记录

connect_from_port_20=YES #开放port模式的20端口的连接

#chown_uploads=YES #允许没人认领的文件上传的时候,更改掉所属用户

#chown_uploads=YES的前提下,所属的用户

#chown_username=whoever

#xferlog_file=/var/log/xferlog #日志存放的地方

xferlog_std_format=YES #日志成为std格式

#idle_session_timeout=600 #用户多久不管,服务器会主动断开连接,单位秒

#data_connection_timeout=120 #数据连接超时

#以 ftpsecure 作为此一服务执行者的权限。

#因为 ftpsecure 的权限相当的低,因此即使被入侵,入侵者仅能取得nobody 的权限喔!

#nopriv_user=ftpsecure

#async_abor_enable=YES #异步停用,由客户发起

#ascii_upload_enable=YES #使用ascii格式上传文件

#ascii_download_enable=YES #使用ascii格式下载文件

#ftpd_banner=Welcome to blah FTP service  #欢迎词

#deny_email_enable=YES #以anonymous用户登录时候,是否禁止掉名单中的emaill密码。

#banned_email_file=/etc/vsftpd/banned_emails  #以anonymous用户登录时候,所禁止emaill密码名单。

chroot_local_user=YES  #限制用户只能在自己的目录活动

#chroot_list_enable=YES  #例外名单,如果是YES的话,这个有点怪,不懂别乱开,上面的选项会跟这个名单反调(会被上面的选项影响)。

#chroot_list_file=/etc/vsftpd/chroot_list

ls_recurse_enable=NO #是否允许使用ls -R等命令

listen=YES  #监听ipv4端口,开了这个就说明vsftpd可以独立运行,不用依赖其他服务。

#listen_ipv6=YES    #监听ipv6端口,还没普及呢!

pam_service_name=vsftpd  #pam模块的名称,放置在 /etc/pam.d/vsftpd ,认证用

userlist_enable=YES  #使用允许登录的名单

userlist_deny=NO  #限制允许登录的名单,前提是userlist_enable=YES,其实这里有点怪~!

allow_writeable_chroot=YES  #允许 限制在自己的目录活动的用户 拥有写权限

tcp_wrappers=YES

#Tcp wrappers : Transmission Control Protocol (TCP) Wrappers 为由 inetd 生成的服务提供了增强的安全性。

被动模式端口范围:

pasv_min_port=6000 (0为随机分配)

pasv_max_port=6010(这两项定义了可以同时执行下载链接的数量。)

注意:linux客户端默认使用被动模式,windows 客户端默认使用主动模式。在ftp客户端中执行"passive"来切换数据通道的模式。也可以使用"ftp -A ip"直接使用主动模式。主动模式、被动模式是有客户端来指定的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ftp 文件传输协议 跨平台 上传下载文件 vsftpd 工具:非常安全的文件传输协议;默认的命令端口21号,数据...
    柒夏锦阅读 4,152评论 1 9
  • 服务器资源 服务器:阿里云CentOS 7.3 安装部署 检测是否已安装 rpm -qa | grep vsftp...
    dningcheng阅读 383评论 0 1
  • FTP服务概述 简单FTP构建及访问 VSFTP服务基础 用户禁锢、黑白名单 FTP并发及带宽限制 一、FTP服务...
    紫_轩阅读 7,847评论 3 25
  • 图片更清晰,文字在最下面 FTP是TCP/IP的一种应用,使用TCP而不是UDP,所以是可靠的,面向连接的。 FT...
    停下浮躁的心阅读 1,773评论 0 4
  • 第10天作业,走时间线规划未来人生。 刚听完马龙飞老师的作业解析,我的心激动不已,我相信我的未来不是梦,一个丰盛富...
    感恩一切_e707阅读 284评论 1 2