一、关闭防火墙

systemctl status firewalld.service  #查看防火墙状态
systemctl stop firewalld.service   #停止防火墙服务
systemctl disable firewalld.service #关闭防火墙开启自启动
vi /etc/selinux/config   #把文件中的SELINUX=enforcing 改为SELINUX=disabled

二、安装vsftpd并启动服务

1、安装vsftpd

yum install -y vsftpd

2、启动服务

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

三、编辑配置

   vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO       #是否开启匿名用户,匿名都不安全,不要开
local_enable=YES          #允许本机账号登录FTP
write_enable=YES          #允许账号都有写操作
local_umask=022           #意思是指:文件目录权限:777-022=755,文件权限:666-022=644,这有点反人类了,并且没有人跟我说是减去的。注意理解!
dirmessage_enable=YES     #进入某个目录的时候,是否在客户端提示一下
xferlog_enable=YES        #日志记录
connect_from_port_20=YES  #开放port模式的20端口的连接
xferlog_std_format=YES    #日志成为std格式
chroot_local_user=YES     #限制用户只能在自己的目录活动
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=NO      #是否允许使用ls -R等命令
listen=YES                #监听ipv4端口,开了这个就说明vsftpd可以独立运行,不用依赖其他服务
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=6301             #被动模式起始端口,0为随机分配
pasv_max_port=6305             #被动模式结束端口,0为随机分配
user_config_dir=/etc/vsftpd/userconfig    #主目录配置,修改后到这个目录中在修改用户配置

纯净版配置文件(配置文件有空格无法启动ftp):

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=NO
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
allow_writeable_chroot=YES
tcp_wrappers=YES
pasv_min_port=6301
pasv_max_port=6305
user_config_dir=/etc/vsftpd/userconfig

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

systemctl start vsftpd.service   #重启FTP服务

建议:把默认21端口,最好和pasv端口改成连续的。

例如:FTP的默认监听端口为6000,pasv端口范围改为6001-6005 (5个就够了)

那么这样架设到公网的话,只需要在路由器里面端口映射一条就好了,一般的路由器端口映射的数量是有限制的。要不然你最少要设置两条。

四、新建用户并设置密码

1、新建用户:helloftp

我们如果直接使用useradd -d helloftp新建的用户是可以登录系统的。这样会给FTP服务器带来安全隐患。因此我们必须不能让FTP用户登录系统。但是如果把/etc/passwd中helloftp用户后面改成/sbin/nologin,FTP也就无法登录了。这好像是一个坑。所以我们一步一步来。

#为ftp用户统一创建一个不能登录系统的shell,这一行的命令只运行一次即可,后面新建用户就不需要执行了echo /usr/bin/nologin>>/etc/shells创建用户useradd -d /home/ftp_data/helloftp -m -s /usr/bin/nologin helloftp   #创建并指定用户主目录和shell

把ftp用户的shell改为/usr/bin/nologin。注意这里的bin   不是sbin。这里需要注意的是千万不要删除用户,删除时会同时删除用户主目录,主目录内的资料也会同时删除

2、设置用户helloftp密码

passwd helloftp

五、允许新建用户登录FTP

vi /etc/vsftpd/user_list

编辑/etc/vsftpd/user_list ,这个是允许登录ftp的名单。一行一个用户,不能把多个写到一行。

到了这一步,FTP其实就可以登录了。

但是有个非常大的缺点就是,我们没有给用户指定主目录,这样的话默认每个用户的主目录都在自己的家目录。也就是说每个用户的主目录都是在不同目录中,这样的状况会给我们后期数据备份带来不便。所以我们必须想办法把用户主目录集中管理,最好能放到一个目录里面。

六、自定义用户主目录

在这里我们准备把用户主目集中放到/home/data/ftp下集中管理。之前我们在/etc/vsftpd/vsftpd.conf配置文件中写了这么一行:user_config_dir=/etc/vsftpd/userconfig ,那么这一行的作用是什么呢?就是定义用户的主目录。userconfig默认是没有的,必须新建。然后我们可以把,给每个用户定义的主目录配置文件放到这个目录里面下。就可以实现自定义主目录。

1、新建主目录配置

mkdir /etc/vsftpd/userconfig
vim /etc/vsftpd/userconfig/helloftp    #新建主目录配置文件helloftp,配置文件名字必须要和用户名相同helloftp文件中写入下面一行保存:
local_root=/home/ftp_data/helloftp

注意:配置文件名字必须要和用户名相同。

2、给用户新建主目录并授权

mkdir -p /home/ftp_data/helloftp
chmod -R 777 /home/ftp_data/helloftp

七、防火墙配置

我们的监听端口是6000,被动模式端口范围是6001-6005

firewall-cmd --version   #查看防火墙版本
0.6.3
firewall-cmd --zone=public --add-port=6000-6005/tcp --permanent  #开启6000-6005 tcp端口
success
firewall-cmd --reload  #刷新,重新载入
success
firewall-cmd --zone=public --query-port=6000-6005/tcp  #检测端口是否开启
yes

至此搭建成功。

八、腾讯云防火墙

如下

腾讯云服务器搭建ftp相关推荐

  1. 腾讯云服务器搭建WordPress网站教程(全流程)

    已经有了腾讯云服务器如何搭建网站?腾讯云服务器网以腾讯云服务器,借助宝塔面板搭建Web环境,然后使用WordPress博客程序搭建网站,大致分为三步,首先购买腾讯云服务器,然后在腾讯云服务器上部署宝塔 ...

  2. 腾讯云linux配置服务器配置,centos7+腾讯云服务器搭建wordpress

    title: centos7+腾讯云服务器搭建wordpress date: 2020-03-04 categories: web tags: [wordpress] 分两部分:1.搭建LEMP环境 ...

  3. 使用腾讯云服务器搭建个人网盘

    使用腾讯云服务器搭建个人网盘 应当说,个人网盘越来越普及,但是市面上的共有云网盘存在着不充会员就限速的特点.当然,这也不能怪各大厂商,毕竟中国商宽的价格就摆在那里,网盘运营者没有理由让免费用户也不限速 ...

  4. 使用腾讯云服务器搭建离线(中转)网盘

    使用腾讯云服务器搭建离线(中转)网盘 本文中,使用Aria2实现离线下载,使用Rclone实现上传.应当说,Aria2+Rclone是一个很好的组合.其中,Aria2是一款非常好用的命令行下载工具.当 ...

  5. VPS云服务器搭建FTP并连接

    VPS云服务器搭建FTP并连接 首先准备一台vps云服务器,然后在本地电脑cmd控制台运行mstsc.exe启动远程桌面连接云服务器. 打开服务器浏览器下载FileZilla Server 之后安装 ...

  6. 使用腾讯云服务器搭建网站

    使用腾讯云服务器搭建网站 云服务器操作 搭建动态网站服务器 云服务器操作 购买腾讯云服务器,并安装centos7系统(详细参考腾讯云服务器操作指南),创建实例: 在云服务器面板中设置安全组:设置入站规 ...

  7. 腾讯云服务器java搭建教程_腾讯云服务器搭建

    记录以备忘.转载请标明出处 腾讯云服务器搭建 *** 在本地产生自己的公钥和私钥文件 - "ssh-keygen" 根据提示输入必要信息 - 在~/.ssh/ 目录下能找到这两个文 ...

  8. 腾讯云服务器搭建IC EDA平台

    @腾讯云服务器搭建IC EDA平台 系统配置 在腾讯云购买服务器,我是用来存储数据的,仿真数据还是放在本地. 图形界面: 安装图形界面, yum groupinstall "Server w ...

  9. 腾讯云服务器的FTP账号密码如何查看?

    怎么查看腾讯云服务器的FTP账号密码?腾讯云服务器不同于虚拟主机,云服务器默认公共镜像安装的是纯净版操作系统,FTP需要用户自行配置,默认创建好的腾讯云服务器没有安装FTP服务,更没有FTP账号和密码 ...

最新文章

  1. CUDA运行时 Runtime(二)
  2. 【SICP练习】9 练习1.15
  3. VS出现异常?!和十进制转二进制比是小事
  4. cgi web 调用多次启动_CGI、FastCGI和PHPFPM有什么关系呢?
  5. 学号20175313 《实现Linux下cp XXX1 XXX2的功能(一)》第九周
  6. 华为2288H V5服务器 RAID操作
  7. php的封装继承多态,PHP面向对象深入理解之二(封装、继承、多态、克隆)
  8. 高能玩家!硬核自制小程序云“肝”动森
  9. C语言volatile关键字—最易变的关键字
  10. JAVA进阶开发之(内部类概述)
  11. 打造一款便携版的Sublime Text
  12. Win2003 运行 命令行 快捷操作
  13. iOS各个版本的新特性介绍
  14. 部署SpringBoot项目到腾讯云或其他服务器
  15. java对象命名用变量_在Java语言中,所有的变量、常量、对象和类都是用【 】来命名的。...
  16. [转]实现双网卡局域网和广域网同时上网
  17. 修改MySQL中字段的类型和长度
  18. 前端Docker教程
  19. Android Studio安装教程
  20. 发现一个好用文字云生成器

热门文章

  1. 旋转数组---python,No不需要循环(呜呜呜,妈妈~我出息了)
  2. vue中使用arcgis js api 中通过坐标定位
  3. 基于人脸识别的火车站监控解决方案(图)
  4. 在Web开发中制作个人简历(超简单版)
  5. 现代控制理论习题解答与Matlab程序示例
  6. linux下访问12306问题
  7. 如何解释什么是单例?
  8. 微信小程序API全局域名配置设置
  9. 麦蒂谈无上场机会爆粗口 称帕克十年季后最佳
  10. argparse 模块详解