linux ftp服务选择与ftp(vsftpd,Pure-FTPd)服务安装使用教程(转载)

一 linux ftp常用的服务软件

在Linux系统中,最常用的ftp有vsftpd,Pure-FTPd,ProFTPd,Wu-FTPd,glftpd,他们的特性优缺点如下对比图:

常用的5款linux ftp对比图:
软件 特性 优点 缺点
vsftpd 轻量级、安全、易于配置 安全性高、性能好、易于配置 功能较为简单
Pure-FTPd 安全、可扩展、易于管理 安全性高、可扩展性强、易于管理 配置较为复杂
ProFTPd 功能强大、可扩展、可定制 功能强大、可扩展性强、可定制 配置较为复杂
Wu-FTPd 功能强大、可扩展、老牌软件 功能强大、可扩展性强、老牌软件 安全性较低
glftpd 功能强大、可扩展、支持 IPv6 功能强大、可扩展性强、支持 IPv6 配置较为复杂
linux ftp服务详情:
vsftpd
vsftpd 是 Linux 下最常用的 FTP 服务器软件之一。它具有以下特点:

轻量级:vsftpd 的代码量很小,启动速度快,占用系统资源少。
安全:vsftpd 采用了多种安全措施来保护 FTP 服务器,包括 chroot 限制、用户权限控制、密码加密等。
易于配置:vsftpd 的配置文件简单易懂,即使是初学者也可以快速配置。
Pure-FTPd
Pure-FTPd 也是 Linux 下非常受欢迎的 FTP 服务器软件。它具有以下特点:

安全:Pure-FTPd 采用了多种安全措施来保护 FTP 服务器,包括 chroot 限制、用户权限控制、密码加密等。
可扩展:Pure-FTPd 支持多种扩展模块,可以满足不同用户的需求。
易于管理:Pure-FTPd 提供了一个 Web 管理界面,可以方便地管理 FTP 服务器。
ProFTPd
ProFTPd是一款功能强大的 FTP 服务器软件。它具有以下特点:

功能强大:ProFTPd 支持多种功能,包括虚拟用户、目录权限控制、日志记录等。
可扩展:ProFTPd 支持多种扩展模块,可以满足不同用户的需求。
可定制:ProFTPd 可以根据用户的需求进行定制。
Wu-FTPd
Wu-FTPd是一款老牌的 FTP 服务器软件。它具有以下特点:

功能强大:Wu-FTPd 支持多种功能,包括虚拟用户、目录权限控制、日志记录等。
可扩展:Wu-FTPd 支持多种扩展模块,可以满足不同用户的需求。
安全性较低:Wu-FTPd 在安全性方面存在一些缺陷,需要注意。
glftpd
glftpd是一款功能强大的 FTP 服务器软件。它具有以下特点:

功能强大:glftpd 支持多种功能,包括虚拟用户、目录权限控制、日志记录等。
可扩展:glftpd 支持多种扩展模块,可以满足不同用户的需求。
支持 IPv6:glftpd 支持 IPv6,可以满足 IPv6 网络的需求。

 

linux下常见ftp服务器
vsftpd (Very Secure FTP Daemon)
vsftpd是Linux系统中最流行的FTP服务器之一,它的目标是提供一个安全可靠的FTP服务器。它支持虚拟用户、SSL/TLS加密传输等特性。

ProFTPd
ProFTPd是一个成熟稳定的FTP服务器,支持虚拟用户、SSL/TLS加密传输、动态模块加载等特性。

Pure-FTPd
Pure-FTPd是一个轻量级、安全可靠的FTP服务器,支持虚拟用户、SSL/TLS加密传输、限速、IP过滤等特性。

FileZilla Server
FileZilla Server是一个免费的FTP服务器软件,支持虚拟用户、SSL/TLS加密传输、UTF-8编码等特性,具有简单易用的界面。

CrushFTP
CrushFTP是一个商业级FTP服务器软件,支持虚拟用户、SSL/TLS加密传输、限速、WebDAV等特性,具有丰富的功能和高度可配置性。

对上述一些特性名词的解释
虚拟用户
指FTP服务器上的用户账号和密码并非与系统用户一一对应,而是通过FTP服务器自己的认证方式进行认证的用户。这种方式可以更好地控制用户访问权限,避免直接使用系统用户账号密码进行FTP访问时带来的风险。

注意:虚拟用户并不会在系统的home目录下创建对应的目录
虚拟用户并不会在系统的home目录下创建对应的目录。相反,虚拟用户一般是在FTP服务器的配置文件中单独配置的,与系统用户账号和密码分离。在配置虚拟用户时,需要指定该虚拟用户的根目录,该目录可以是任何一个存在的目录,不一定是系统的home目录。

当虚拟用户通过FTP客户端访问FTP服务器时,会被限制在其指定的根目录中,无法访问该目录以外的其他目录。因此,虚拟用户的根目录实际上扮演着类似于home目录的角色,但并不是系统的home目录。

生产环境下虚拟用户目录位置
在生产环境下,为了安全考虑,虚拟用户的目录最好不要直接放在系统的home目录下,以避免虚拟用户访问到系统中的敏感文件或者目录。通常来说,可以单独为FTP服务器创建一个目录,作为所有虚拟用户的根目录。

这个目录最好放在一个不易被访问的位置,同时可以为这个目录设置专门的权限和用户组,以限制非授权用户的访问。此外,为了提高数据安全性,最好将这个目录放在独立的磁盘分区上,避免其他目录出现问题时对FTP服务器的数据造成影响。

为了确保FTP服务器的安全性和稳定性,虚拟用户的目录应该放在一个独立的位置,并设
置合适的权限和安全策略。

以下是几个比较常用的位置:

/srv/ftp
这是Linux Filesystem Hierarchy Standard中专门为FTP服务器指定的目录,通常包含FTP服务器的配置文件、日志文件和虚拟用户的目录等。

/home/ftp
这是一些FTP服务器常用的目录之一,但需要注意的是,该目录可能包含系统用户的home目录,因此需要进行权限和安全设置。

/var/ftp
这是一些Linux系统默认安装的FTP服务器(如vsftpd)的默认根目录,也是一些其他FTP服务器的常用位置之一。

/data/ftp
这是一个比较通用的位置,可以单独为FTP服务器创建一个data目录,并在其中创建ftp子目录作为FTP服务器的根目录。

无论选择哪个位置,都需要在设置时进行合理的权限和安全设置,避免出现安全问题。

动态模块加载
指FTP服务器支持在运行时加载或卸载模块,以增加或删除某些功能的能力,同时避免重新编译或重新启动FTP服务器。这种方式可以提高FTP服务器的灵活性和扩展性。

IP地址过滤
指FTP服务器可以根据用户的IP地址进行访问控制,防止某些IP地址进行恶意攻击或非法访问。

UTF-8编码
指FTP服务器支持使用UTF-8编码进行文件名和路径名的处理,可以更好地支持多语言环境。

WebDAV
WebDAV是一种基于HTTP协议的文件管理方式,可以通过FTP客户端或Web浏览器进行文件管理。FTP服务器支持WebDAV可以提高文件管理的灵活性和便捷性。

 

linux最常两款ftp安装和使用教程
一 vsftpd 安装和使用教程

1 安装vsftpd (环境:linux centos)
yum install -y vsftpd
如图下图,安装完成。

 

 

2 启动vsftpd
systemctl start vsftpd
如下图,启动成功

 

 

3 设置 FTP 服务开机自启动
systemctl enable vsftpd
4 创建 FTP 用户
useradd -m -d /home/ftpuser ftpuser
5 为 FTP 用户设置密码
passwd ftpuser
6 设置 FTP 用户的权限
chown ftpuser /home/ftpuser
7 设置 FTP 服务的配置文件
默认配置文件路径是: /etc/vsftpd/vsftpd.conf

vim /etc/vsftpd/vsftpd.conf
在 vsftpd.conf 文件中,修改以下配置,如下图:

 

 

 

 

anonymous_enable 设置为 NO,禁止匿名访问
local_enable 设置为 YES,允许本地用户访问
chroot_local_user 设置为 YES,将本地用户限制在其主目录中
allow_writeable_chroot 设置为 YES,允许本地用户在其主目录中写入文件
重启 FTP 服务使配置生效

systemctl restart vsftpd
8 使用客户端winscp验证

 

 

客户端登陆ftp服务器成功

 

 

验证成功。

二 Pure-FTPd 安装使用教程
1 安装Pure-FTPd(环境:linux centos)
yum install pure-ftpd
如下图:

 

 

安装成功,如下图:

 

 

 

 

2 启动 Pure-FTPd 服务
systemctl start pure-ftpd
3 配置开机自动启动
systemctl enable pure-ftpd
4 配置虚拟用户
创建虚拟用户数据库
1 创建一个存储虚拟用户信息的文本文件
touch /etc/pure-ftpd/pureftpd.passwd
chmod 600 /etc/pure-ftpd/pureftpd.passwd
2 使用 pure-pw 工具添加虚拟用户。
pure-pw useradd myuser -u ftpuser -d /home/ftp_directory
回车后会提示输入新的虚拟用户密码

pure-pw参数:

myuser 虚拟用户名(ftp客户端访问账号)。
-u linux系统用名(useradd ftpuesr)。
-d /home/ftp_directory 指定虚拟用户的主目录。
另外 -u参数 还可以是指系统用户的uid ,如下图

pure-pw useradd ftpone -u 1003 -g 1003 -d /home/ftp_file

 


执行pure-pw后,要将虚拟用户信息写入虚拟用户数据库文件:

pure-pw mkdb
如下图:

 

 

配置 Pure-FTPd文件启动虚拟账户
打开 Pure-FTPd 配置文件 /etc/pure-ftpd/pure-ftpd.conf 进行编辑:

vi /etc/pure-ftpd/pure-ftpd.conf
在配置文件中添加以下配置项:

PureDB 指定虚拟用户数据库文件的路径。

# 启用虚拟用户
PureDB /etc/pure-ftpd/pureftpd.pdb
# 允许用户登录
UnixAuthentication no
重新启动 Pure-FTPd 服务生效:

systemctl restart pure-ftpd
登陆客户端验证,验证成功如下图:

 

 

Pure-FTPd常见问题
常见问题1:无法获得目录列表(登陆成功,数据传输失败)如下图:

 


报错解决:确保以下配置文件配置正确,并确认防火墙数据端口放行:

 

 


常见问题2

 


权限配置错误,重新授权ftp目录

例如:

 

 

注意:虚拟用户对就的权限组是(其它组)
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qyhua/article/details/135487146

posted @ 2024-02-22 15:34  全琪俊  阅读(134)  评论(0编辑  收藏  举报