阿里云ECS的CentOS7下搭建FTP服务器

 

转载https://blog.youkuaiyun.com/jiance520/article/details/85705816

在网上看了一些别人的笔记,很多不适合新手看,结果各种问题,不是代码错误,就是省略了一些步骤。最后自己整了几天才把常用的功能整理完,包括使用虚拟用户来分配不同用户的权限。不过还是要感谢前人的笔记。

目录

准备

安装vsftpd服务器

创建系统用户

修改配置文件(重点)

/etc/vsftpd/vsftpd.conf  核心配置文件

vim /etc/vsftpd/user_list 白名单

vim /etc/vsftpd/chroot_list无限制名单

创建/添加/删除虚拟用户

连接FTP服务器

Xftp或 FlashFXP连接FTP

xftp 提示无法显示远程文件夹:

用户身份验证失败:

如果需要截图部分的代码,请到这里下载。https://download.youkuaiyun.com/download/jiance520/10894330

vsftpd.conf部分常用参数说明:https://mp.youkuaiyun.com/postedit/85723550。


准备

使用环境是阿里云ECS服务器,系统CentOS7

所有操作是在关闭防火墙的情况下演示,如果你的服务器很重要,请不要关闭。

systemctl stop firewalld

刷新防火墙:iptables -F。

阿里云ECS开放相关端口。54301:54305端口你自己定义。用于pasv被动模式的数据传输。这是很多人容易忽略的步聚

如果服务器不在阿里云,如在本机,请执行以下操作开放端口。

A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
A INPUT -m state --state NEW -m tcp -p tcp --dport 54301:54305 -j ACCEPT

检查SElinux状态并关闭,SElinux是 Linux 的一个安全子系统。

getsebool -a|grep ftp

如果没有关闭,  把 SELINUX=SeLinux 改为SELINUX=disable。

vim /etc/sysconfig/selinux

安装vsftpd服务器

检查是否已经安装vsftpd

rpm -qa| grep vsftpd

如果没有安装,执行yum安装

yum -y install vsftpd

启动vsftpd

systemctl start vsftpd

查看vsftpd服务的状态

systemctl status vsftpd

设置vsftpd服务开机自启

systemctl enable vsftpd

创建系统用户

useradd ftpuser3

passwd ftpuser3指定密码123456。密码你自己写。

passwd ftpuser3

给创建的用户文件夹授权,默认是/home/ftpuser3

chmod 777 -R /home/ftpuser3

如果要修改主目录,把/home/ftpuser3改成你自己指定的目录

usermod -d /home/ftpuser3

修改配置文件(重点)

主要配置文件:

 /etc/vsftpd/vsftpd.conf      核心配置文件

 /etc/vsftpd/user_list 白名单,里面存放允许登陆ftp的账号,一行一个账号名,如果不想让某个账号登陆ftp,就别填那个账号进来。

 /etc/vsftpd/ftpusers 黑名单,和列表,user_list差不多,可以忽略。

 /etc/vsftpd/chroot_list无限制名单:指定其中的用户允许登和访问主目录和上级目录(前提是chroot_list_enable=NO)。                                  反过来,不在这里面的用户只能访问自己的主目录。

      /etc/pam.d/vsftpd     PAM接口配置文件

      /var/ftp              匿名用户的工作目录

/etc/vsftpd/vsftpd.conf  核心配置文件

所有配置文件的修改,请自行备份,备份:cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

修改配置文件,并:wq保存退出。

vim /etc/vsftpd/vsftpd.conf

以下为我修改后的内容,如需要匿名访问,请改anonymous_enable=YES。

pasv_address=xxx.xxx.xxx.xxx填写你自己的ECS虚拟主机IP。

vim /etc/vsftpd/user_list 白名单

增加用户,由你自己决定是否增加匿名用户,如果启用了user_list,必须添加创建的用户ftpuser3

ftp
anonymous
ftpuser3

vim /etc/vsftpd/chroot_list无限制名单

增加以下用户

ftpuser3

修改配置以后,必须重启ftp。

systemctl restart vsftpd

如果启动失败,提示错误:Job for vsftpd.service failed because the control process exited with error,Failed to start Vsftpd ftp daemon,vsftpd,99%是你的vsftpd.conf中代码错误,乱码等。

还有一些其它原因,中文乱码^M,格式问题。

创建/添加/删除虚拟用户

虚拟用户对系统更安全。可以针对不同的用户指定不同的工作目录。

首先查看compat-db

rpm -qa| grep compat-db

如果没有,执行安装

yum install -y  compat-db

修改用户配置文件

vim /etc/vsftpd/ftpuser.conf

添加,第一行用户名,第二行密码

ftpuser3
123456

根据虚拟用户配置文件ftpuser.conf生成ftpuser.db文件

db_load -T -t hash -f /etc/vsftpd/ftpuser.conf /etc/vsftpd/ftpuser.db

修改pam

vim /etc/pam.d/vsftpd

创建/配置虚拟用户权限配置文件,指定虚拟用户操作的目录,以及所拥有的操作权限。

创建用户配置文件目录

mkdir /etc/vsftpd/virconf

新建并编辑用户ftpuser3配置文件

vim /etc/vsftpd/virconf/ftpuser3

根据自己的情况,指定虚拟用户ftpuser3访问目录,并拥有以下指定的权限。

我们可以重复创建多个不同的虚拟用户,共用一个宿主用户ftpuser3

最后别忘记创建白名单用户

vim /etc/vsftpd/chroot_list

之前我们在在user_list中添加了用户ftpuser3,如果我们需要用户拥有更大的访问权限,请在chroot_list中也添加ftpuser3。

连接FTP服务器

Xftp或 FlashFXP连接FTP

最后就是我们可以在Xftp或 FlashFXP上配置自己的host:xxx.xxx.xxx.xxx主机IP地址和端口21,使用ftp方式访问FTP服务器。远程文件夹目录填写你的主目录,如:/home/ftpuser3

也可以在我的电脑上添加一个网络位置。来访问FTP。还可以在IDEA上配置。

xftp 提示无法显示远程文件夹:

xftp远程文件夹目录填写跟local_root=/home/ftpuser3不一致,没有访问权限。

如果配置没有错误,有该提示,并不影响操作,如果要去掉,可以在chroot_list中也添加ftpuser3,但是会增加用户的访问权限。

用户身份验证失败:

没有生成db数据文件。或数据文件ftpuser.db中没有该帐户。

用户名或密码错误。

其主目录文件夹没有创建。或指定的主目录不一致。

防火墙拦截,没有开放端口。

没有使用pasv被动模式。

文件夹没有授权chmod 777 -R

帐户没有加入user_list

allow_writeable_chroot=YES

没有重起更新修改。

一定要记得,修改虚拟用户密码或新增虚拟用户后要再次执行生成数据文件ftpuser.db,修改vsftpd.conf要记得重起。或者reboot重启系统,关闭防火墙。

db_load -T -t hash -f /etc/vsftpd/ftpuser.conf /etc/vsftpd/ftpuser.db

systemctl restart vsftpd

如果需要截图部分的代码,请到这里下载https://download.youkuaiyun.com/download/jiance520/10894330

vsftpd.conf部分常用参数说明https://mp.youkuaiyun.com/postedit/85723550

 

搭建FTP服务器,我们可以使用阿里云提供的云服务器ECS。首先,我们需要在阿里云控制台上购买一台ECS实例。选择适合自己需求的操作系统,如CentOS或Ubuntu。 购买成功后,我们可以通过SSH客户端连接到ECS实例。然后,我们需要安装FTP服务器软件,常用的有ProFTPD和vsftpd。通过在终端中运行适当的安装命令,即可完成安装。例如,在Ubuntu系统中,我们可以使用以下命令安装vsftpd: sudo apt update sudo apt install vsftpd 安装完成后,我们需要对FTP服务器进行配置。首先,我们需要编辑配置文件。在Ubuntu系统中,配置文件位于/etc/vsftpd.conf。我们可以使用命令行编辑器(如nano)打开该文件,并根据自己的需求进行修改。 配置文件中的一些重要选项包括:监听的端口、允许的用户、文件传输模式等。例如,我们可以选择是否允许匿名用户登录,并指定允许上传和下载的目录。还可以设置用户的权限和限制。 完成配置后,我们需要重启FTP服务器以使更改生效。在Ubuntu系统中,可以使用以下命令重启服务: sudo service vsftpd restart 现在,我们的FTP服务器已经搭建成功了!我们可以使用FTP客户端连接到ECS实例的公网IP,并使用配置的用户名和密码登录。如果一切顺利,我们应该可以在指定的目录下上传和下载文件了。 当然,在搭建FTP服务器的过程中还有更多细节需要考虑,如安全性配置、防火墙设置等。但通过以上简要的步骤,我们可以初步搭建服务器ECS上的FTP服务器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiance520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值