前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云服务器搭建ftp服务器

腾讯云服务器搭建ftp服务器

原创
作者头像
用户6468650
修改2019-10-24 10:32:59
35.6K0
修改2019-10-24 10:32:59
举报
文章被收录于专栏:上云知识上云知识

一、硬件描述

1.1 云服务器:腾讯云

云主机 操作系统:Ubuntu Server 14.04.1 LTS 32位 CPU:1核 内存:1GB 系统盘:20GB(本地磁盘) 数据盘:0GB 公网带宽:1Mbps

1.2 本地配置

操作系统:windows 8.1

二、远程登陆服务器(ubuntu为例)

2.1 操作教程

官方文档:如何远程登录linux服务器

2.2 踩过的坑

需要特别注意的是,在使用ssh与putty保存session登陆时,有一个坑!

保存的session名称应避免与用户名冲突

三、搭建vsftpd服务器

3.1 下载vsftpd

redhat、centos等使用rpm包的发行版:

使用命令安装:yum install vsftpd 使用下载包安装:rpm -ivh vsftpd*.rpm

Debian、Ubuntu等使用DEB包党的发行版:

使用命令安装:apt-get install vsftpd

若权限不足,则在命令前加 sudo ,下同

3.2 关闭selinux(Debian、Ubuntu等使用DEB包的系统可跳过此步骤)

由于ftp涉及到端口开放的问题,所以我们把selinux关闭。

selinux的介绍见博文——SELinux深入理解 ftp命令连接使用21端口,数据连接则有两种方式,即主动ftp和被动ftp。详细见博文——FTP两种工作模式介绍

一般在redhat、centos等使用rpm包的发行版默认安装有selinux,而Debian、Ubuntu等使用DEB包的发行版不默认安装

故对于Debian、Ubuntu等使用DEB包的服务器:

临时关闭(重启后,selinux会被打开):setenforce 0 开启:setenforce 1 永久关闭:修改/etc/selinux/config文件,将SELINUX=enforcing改成SELINUX=disabled,重启机器

3.3 开启ftp服务

service vsftpd start/stop/restart

对于服务操作的一些命令:

service [service名] [对service的操作如:start/stop/restart/status]

3.4 ftp用户管理

出于安全考虑,一般不会使用系统用户来做登陆ftp的操作,因而大部分情况下会新建一个linux用户(单纯的一个用户,不具备bash),并用此用户进行ftp的登陆等操作

对于ftp用户的管理,其遵循linux的用户管理,根据/etc/passwd和etc/group来进行管理

新建用户:

useradd test,passwd test

此处的useradd仅仅只是创建用户,而可替换为adduser(创建用户家目录\home\test) 二者具体的区别在useradd 与adduser的区别有介绍

3.5 通过对 vsftpd 配置文件的修改实现对vsftpd的精细化配置

对于vsftpd具体的一些配置可通过修改配置文件来进行实现。

常见的配置文件有:

对于主配置文件,一些常用的配置:

anonymous_enable=YES #是否开启匿名登陆 local_enable=YES #是否允许本地用户(即linux系统中的用户帐号)登录FTP服务器,默认设置为YES允许 write_enable=YES #是否允许本地用户对FTP服务器文件具有写权限,默认设置为YES允许

一项比较重要的配置:(文字不重要,重点看图)

用户登录FTP服务器后是否具有访问自己目录以外的其他文件的权限 设置为YES时,用户被锁定在自己的home目录中,vsftpd将在下面chroot_list_file选项值的位置寻找chroot_list文件 必须与下面的设置项配合 chroot_list_enable=YES 被列入此文件的用户,在登录后将不能切换到自己目录以外的其他目录 从而有利于FTP服务器的安全管理和隐私保护。此文件需自己建立 chroot_list_file=/etc/vsftpd/chroot_list

关于主配置文件的使用,史上最详细的vsftpd配置文件讲解(1) 这篇文章写得很详细

四、踩过的坑

4.1 不同系统配置文件的目录不同

ubuntu不同于centos,ubuntu的配置文件目录不在 /etc/vsftpd/vsftpd.conf 而是在 /etc/vsftpd.conf

4.2 明确vsftpd.conf 文件中几个参数的作用

4.3 记得打开21端口的安全组

购买云主机的时候,在做最初配置时,有引导安全组的配置。因为之前选了默认的打开“Linux安全组放通22端口”,而没打开ftp的21端口。 所以,在配置完成ftp服务器时发现只能在服务器上登陆ftp,而通过外网无法访问ftp。这是一个比较容易被忽略的问题!(这是一个大坑)

官方文档:如何配置安全组?

4.4 出现错误500 OOPS: vsftpd: refusing to run with writable root inside chroot()

如果启用chroot,必须保证ftp根目录不可写,这样对于ftp根直接为网站根目录的用户不方便,所以建议假如ftp根目录是/home/${cjh},则将访问权限改写如下 chmod a-w /home/cjh

4.5 写文件时遇到-bash: data1.txt: Permission denied

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、硬件描述
    • 1.1 云服务器:腾讯云
      • 1.2 本地配置
      • 二、远程登陆服务器(ubuntu为例)
        • 2.1 操作教程
          • 2.2 踩过的坑
          • 三、搭建vsftpd服务器
            • 3.1 下载vsftpd
              • 3.2 关闭selinux(Debian、Ubuntu等使用DEB包的系统可跳过此步骤)
                • 3.3 开启ftp服务
                  • 3.4 ftp用户管理
                    • 3.5 通过对 vsftpd 配置文件的修改实现对vsftpd的精细化配置
                    • 四、踩过的坑
                      • 4.1 不同系统配置文件的目录不同
                        • 4.2 明确vsftpd.conf 文件中几个参数的作用
                          • 4.3 记得打开21端口的安全组
                            • 4.4 出现错误500 OOPS: vsftpd: refusing to run with writable root inside chroot()
                              • 4.5 写文件时遇到-bash: data1.txt: Permission denied
                              相关产品与服务
                              访问管理
                              访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档