Linux FTP 服务搭建

FTP(File Transfer Protocol)是一种文件传输协议,基于客户端/服务器架构,FTP支持两种模式:Standard (PORT方式,主动模式)和Passive (PASV,被动模式)

主动模式
FTP 客户端首先和服务器的 TCP 21 端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20 端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。

被动模式
建立控制通道和主动模式类似,但建立连接后发送Pasv命令。服务器收到 Pasv 命令后,打开一个临时端口(端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口传送数据。

vsftpd(very secure FTP daemon)是Linux下的一款小巧轻快、安全易用的FTP服务器软件,本次介绍如何在Linux上安装并配置vsftpd。

vsftpd的三种认证模式

匿名开放模式
它是一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到FTP服务器;

本地用户模式
它是通过Linux系统本地的账户密码信息进行认证的模式,相较于匿名开放模式更安全,而且配置起来也很简单。但是若被恶意用户破解了账户的信息,就可以畅通无阻地登录FTP服务器,从而完全控制服务器;

虚拟用户模式
它是三种模式中最安全的一种认证模式,它需要为FTP服务单独建立用户数据库文件,虚拟出的用户进行口令验证的账户信息,而这些账户信息在服务器系统上并不存在,仅供FTP服务器进行认证使用。

安装

yum install vsftpd 

添加ftp用户

#创建新用户vsftp
useradd -d /home/res/ftp vsftp
#设置密码
passwd vsftp

禁止用户ssh登录

usermod -s /sbin/nologin vsftp

编辑shells文件保证FTP可以登录/sbin/nologin类用户

vim /etc/shells
#末尾增加行
/sbin/nologin

修改配置文件

vim /etc/vsftpd/vsftpd.conf
# 不允许匿名访问
anonymous_enable=NO
#开启被动模式
pasv_enable=YES
#被动模式端口范围,如果有防火墙,就得开放这些端口,所以这里限定范围。
pasv_min_port=12000
pasv_max_port=13000
#指定用户登录后的目录。或者不指定也行,系统用户登录ftp后,直接到用户自己的家目录。
local_root=/home/res/ftp
#允许用户对目录写操作
allow_writeable_chroot=YES
# 限制用户只能访问自己的家目录
chroot_local_user=YES

关闭SELinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,在进程层面管控文件系统资源的访问的一种安全机制,进程只能访问那些在他的任务中所需要文件。
那为什么要关闭这个很好的功能呢?

不关ftp服务连不上

临时关闭SELinux

setenforce 0

修改/etc/selinux/config配置文件,将SELINUX设置为disabled

sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

服务管理

启动vsftpd服务

systemctl start vsftpd

关闭vsftpd服务

systemctl stop vsftpd

重启vsftpd服务

systemctl restart vsftpd

设置开机启动vsftpd服务

systemctl enable vsftpd
  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要搭建Linux FTP服务器,需要先安装FTP服务器软件,如vsftpd或proftpd。然后,配置FTP服务器的设置,包括用户认证、文件权限、端口号等。最后,启动FTP服务器并测试连接。需要注意的是,为了保障安全性,应该使用SSL/TLS加密传输数据,并限制FTP用户的访问权限。 ### 回答2: 搭建一个基于Linux系统的FTP服务器可以轻松地让你将文件和数据传输到你的团队或客户端。下面,我将为你介绍如何在Linux服务器上搭建一个FTP服务器。 步骤一:安装FTP服务器程序 Linux系统上有许多FTP服务器程序可供选择,如ProFTPD、vsftpd和Pure-FTPd等。在本文中,我们将选择vsftpd作为例子。使用以下命令来安装vsftpd: sudo apt-get update sudo apt-get install vsftpd 坚持正确的安装方式,会在Linux服务器上安装一个可使用的FTP服务器软件。 步骤二:创建FTP用户 在Linux服务器上运行FTP服务器之前,最好为FTP用户创建一个安全的账户。 使用以下命令来创建新用户: sudo adduser ftpuser 接下来,设置新用户的密码: sudo passwd ftpuser 输入两次密码。 步骤三:配置vsftpd文件 现在,打开FTP服务器的主要配置文件。这个文件通常位于/etc/vsftpd.conf。可以用以下命令打开它: sudo nano /etc/vsftpd.conf 要保持FTP服务器的基本安全性,请找到以下行: anonymous_enable=YES 将its YES改为NO,这个操作将禁用FTP服务器的匿名访问。 要允许FTP用户通过FTP客户端进行文件传输,请添加以下行: local_enable=YES write_enable=YES 最后,将以下行添加到上面添加的这些行之后: chroot_local_user=YES allow_writeable_chroot=YES chroot_local_user将限定FTP用户只能看到其主目录中的文件。allow_writeable_chroot将允许FTP用户将文件上传到主目录中的任何文件夹。 步骤四:开启FTP服务器 一旦完成了上述配置,就可以启动FTP服务器。使用以下命令: sudo systemctl start vsftpd 检查在 /var/run/vsftpd.pid 中是否存在FTP守护进程的PID。如果文件不存在,则FTP服务器没有启动。此时,可以使用以下命令: sudo systemctl status vsftpd 如果FTP服务器已启动,则会显示"active(running)"。如果未启动,则会显示"inactive(dead)"。 步骤五:测试FTP服务器 现在可以测试FTP服务器是否工作正常。可以在FTP客户端上使用新的FTP用户凭据。或通过使用FTP终端命令。 ftp ftpuser@your-server.com 在成功登录FTP服务器后,可以使用FTP命令将文件上传到服务器或从服务器下载文件。 总结: 使用这个方法,可以搭建一个完全可用的FTP服务器并允许FTP客户端与之交互。其余的细节可以在vsftpd.conf中调整或更改。与ftpuser相关的其他FTP用户可以通过重复之前的步骤来添加到系统中。不过,注意保持FTP服务器的安全性和涉及的库的相关配置,才可以最大程度地发挥FTP服务器的作用。 ### 回答3: Linux FTP 服务搭建 FTP 服务器是一种允许用户上传和下载文件的服务器,通常被用来上传和下载网站文件或者大文档。在 Linux 系统中,我们可以使用 ProFTPD 或 vsftpd 来搭建 FTP 服务器。 ProFTPD 1. 安装 ProFTPD 执行以下命令来安装 ProFTPD: ``` sudo apt-get install proftpd ``` 2. 配置和启动 ProFTPD 配置文件位于 /etc/proftpd/proftpd.conf,在此我们可以配置 FTP 服务器的端口、允许的用户组等。 编辑配置文件: ``` sudo nano /etc/proftpd/proftpd.conf ``` 找到和编辑以下两行: ``` # DefaultRoot ~ # RequireValidShell off ``` 取消注释并将 RequireValidShell 设置为 off : ``` # DefaultRoot ~ DefaultRoot /path/to/ftp/directory # RequireValidShell off RequireValidShell off ``` 此处的 /path/to/ftp/directory 是指我们希望允许用户上传和下载文件的目录。 保存并退出文件。 接着,重启 ProFTPD 服务以让配置生效: ``` sudo /etc/init.d/proftpd restart ``` 3. 增加 FTP 用户 我们需要增加用户来管理 FTP 目录。 使用以下命令创建用户和密码: ``` sudo adduser ftpuser ``` 创建后,赋予此用户 FTP 目录访问权限并设置密码: ``` sudo usermod -aG ftp ftpuser sudo passwd ftpuser ``` vsftpd 1. 安装 vsftpd 执行以下命令来安装 vsftpd: ``` sudo apt-get install vsftpd ``` 2. 配置和启动 vsftpd vsftpd 的配置文件位于 /etc/vsftpd.conf。我们可以编辑此文件来设置 FTP 服务器的各项配置。 编辑配置文件: ``` sudo nano /etc/vsftpd.conf ``` 以下是一些常见配置选项: ``` anonymous_enable=NO # 是否允许匿名访问 write_enable=YES # 是否允许文件上传 local_umask=022 # 上传文件的默认权限掩码 dirmessage_enable=YES # 是否在用户进入目录时发送提示消息 chroot_local_user=YES # 是否限制用户只能访问其主目录及其子目录 ``` 编辑完配置文件后,重启 vsftpd 服务以生效: ``` sudo /etc/init.d/vsftpd restart ``` 3. 增加 FTP 用户 我们需要增加用户来管理 FTP 目录。 使用以下命令创建用户和密码: ``` sudo adduser ftpuser ``` 创建后,赋予此用户 FTP 目录访问权限并设置密码: ``` sudo usermod -aG ftp ftpuser sudo passwd ftpuser ``` 总结 以上是搭建 Linux FTP 服务器的步骤。在具体实施过程中,根据自身的需求可以对 FTP 服务器进行更详尽的配置,以满足特定的应用场景需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值