热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

vsFTPd服务器的安装与配置方法

vsFTPD是一款小巧易用FTP服务器程序,是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用。vsFTPd的安装在最新的各大发行版中的安装盘中都有vsFTPd的软件包,用相应发行版提供的软件包管理工具就能安装。当然也可以到各大发行版的FT

vsFTPD是一款小巧易用FTP服务器程序,是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用。

vsFTPd的安装

在最新的各大发行版中的安装盘中都有vsFTPd的软件包,用相应发行版提供的软件包管理工具就能安装。当然也可以到各大发行版的FTP镜像中找到vsftpd的软件包,用软件包的管理工具在线安装。推荐用发行版提供的软件来安装,不推荐自己编译源码包的安装方式。

Fedora 或Redhat 系统,可以用下面的命令在线安装;

[root@localhost ~]# yum install vsftpd

如果是debian 类系统,可以用apt 来在线安装;

[root@localhost ~]# apt-get install vsftpd

如果是RPM的系统,也可以找到vsftpd-xxxx.rpm 的包来通过rpm命令来安装;

[root@localhost ~]# rpm -ivh vsftpd*.rpm

下载源码包安装

[root@localhost ~]# tar zxvf vsftpd-2.0.3.tar.gz
[root@localhost ~]# cd vsftpd-2.0.3
[root@localhost ~]# make ;make install
[root@localhost ~]# cp vsftpd.conf /etc

然后修改/etc/vsftpd.conf ,在配置文件的最后一行加入下面一行;

listen=yes

源码包安装的方法,如果您的系统是RPM包管理的系统,可以删除/etc/xinetd.d/vsftpd 这个文件;然后启动xinetd 服务器;

[root@localhost ~]# /etc/init.d/xinetd restart
停止 xinetd: [ 确定 ]
启动 xinetd: [ 确定 ]

vsFTPd服务器的运行

[root@localhost ~]# /usr/sbin/vsftpd &
[root@localhost ~]# /usr/local/sbin/vsftpd &

vsFTPd 服务器关闭

用pkill vsftpd 来杀死vsftpd进程,这样就把vsFTPd关闭,用psgrep vsftpd 来查看进程,如果没有进程,证明vsFTPd已经关掉;要用到root权限。

[root@localhost ~]# pkill vsftpd
[root@localhost ~]# pgrep vsftpd

在Fedora/Redhat/CentOS中vsFTPd 服务器的启动和关闭:

在Fedora/Redhat/CentOS中,也可以用下面的方法来启动vsFTPd;当然也要用到root权限;

[root@localhost beinan]# /etc/init.d/vsftpd start
为 vsftpd 启动 vsftpd: [ 确定 ]

重新启动vsFTPd用下面的命令;

[root@localhost beinan]# /etc/init.d/vsftpd restart
关闭 vsftpd: [ 确定 ]
为 vsftpd 启动 vsftpd: [ 确定 ]

关掉vsFTPd服务器,应该用下面的命令;

[root@localhost beinan]# /etc/init.d/vsftpd stop
关闭 vsftpd: [ 确定 ]

vsFTPd配置文件

vsftpd.conf是vsFTPd服务器的配置文件,此文件一般是/etc/vsftpd.conf或/etc/vsftpd/vsftpd.conf,vsftpd.conf配置文件就是vsFTPd服务器的全局控制文件,此配置文件中,每行应该算做一个规则。配置完后需要重启才有效。

vsFTPd配置虚拟用户

FTP用户一般是不能登录系统的,这也是为了安全。在系统中,没有权限登录系统的用户一般也被称之为虚拟用户;虚拟用户也是要写进/etc/passwd中;这只是一种虚拟用户的方法,但说实在的并不是真正的虚拟用户,只是把他登录SHELL的权限去掉了,所以他没有能力登录系统;

如果我们想把beinan这个用户目录定位在/opt/beinan这个目录中,并且不能登录系统;我们应该如下操作

[root@localhost ~]# adduser -d /opt/beinan -g ftp -s /sbin/nologin beinan
[root@localhost ~]# passwd beinan
Changing password for user beinan.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]#

其实这还是不够的,还要改一下配置文件vsftpd.conf ,以确保本地虚拟用户能有读写权限;

local_enable=YES
write_enable=YES
local_umask=022

如何实现虚拟路径?

比如:

/home/a 映射为 ftp://localhost/a
/home/b/c 则为 ftp://localhost/c

可以通过如下的方法来实现。

[root@localhost ~]# mount Cbind [原有的目录] [新目录]

比如我的ftp的默认目录是/var/ftp,我想把/mnt/LinG/WinSoft文件夹,映射到/var/ftp目录中,我就如下操作

我们要先在/var/ftp目录中建一个目录

[root@localhost ~]# mkdir /var/ftp/WinSoft

然后执行mount命令

[root@localhost ~]# mount Cbind /mnt/LinG/WinSoft /var/ftp/WinSoft

这样就OK了。

打开vsFTP服务器的日志功能

把下面xferlog_file前面的#号对掉,也就是把vsftp的log功能打开,这样我们就能在/var/log目录下查看vsftpd.log。这是vsFTP的日志功能,这对于我们来说是极为重要的。

xferlog_file=/var/log/vsftpd.log

如何让vsFTP服务器限制链接数,以及每个IP最大的链接数?

应该改vsFTPd服务器的配制文件vsftpd.conf,加入下面的两行:

max_clients=数字
max_per_ip=数字

举例:我想让我的vsFTP最大支持链接数为100个,每个IP,最多能支持5个链接,所以我应该在vsftpd.conf中加上如下的两行:

max_clients=100
max_per_ip=5

如何限制传输速度?

anon_max_rate=数字

注:这是匿名的速度

local_max_rate=数字

注:这是vsFTP服务器上本地用户的速度

注:这个数字的单位是byte,所以我们要计算一下。比如我想让匿名用户和vsFTP上的用户都以80KB下载,所以这个数字应该是1024×80=81920

所以我们要在vsftpd.conf中加入下面的两行

anon_max_rate=81920
local_max_rate=81920

如何有选择的把用户限制在家目录中

我们要自己建一个文件,在/etc目录中

#touch /etc/vsftpd.chroot_list

以user1和user2这两个用户限制在他们所在的家目录中,而其它的FTP用户不做此限制。

在vsftpd.chroot_list这个文件中,把user1和user2添上去就行,注意,每个用户占一行。

然后改/etc/vsftpd/vsftpd.conf文件,找如下的两行

#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list

把前面的#号去掉,也就是这样的

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

如果没有这样的两行,就可以自己添加上去也是一样的。

设置好后,重新vsFTPD服务器。

如何把系统内所有的FTP用户都限制在家目录中呢?

我们可以通过更改vsftpd.conf文件,加入如下的一行

chroot_local_user=YES

改完配制文件,不要忘记重启vsFTPd服务器

[root@linuxsir001 root]# /etc/init.d/vsftpd restart
关闭 vsftpd: [ 确定 ]
为 vsftpd 启动 vsftpd: [ 确定 ]
[root@linuxsir001 root]#


推荐阅读
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文介绍了Linux操作系统的核心组成部分——内核及其版本分类,以及市面上常见的几种Linux发行版,旨在为初学者提供一个清晰的学习路径。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • 如何在Ubuntu系统中直接使用Snap安装软件
    Canonical与Opera Software近日宣布,基于Chromium的Opera浏览器现已作为Snap包提供给Ubuntu用户,显著提升了在Linux操作系统上的安装便捷性和兼容性。通过Snap,用户可以在Ubuntu系统中轻松安装和更新Opera浏览器,享受更流畅的浏览体验。此外,Snap的容器化特性还确保了应用的安全性和稳定性,为用户提供更加可靠的软件环境。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 本文探讨了在MySQL数据库中处理大规模数据删除的最佳实践,包括分批删除、利用索引、管理事务以及选择合适的删除命令等策略,旨在提升删除效率并确保系统稳定。 ... [详细]
  • Dense Matrix Inversion Results in Segmentation Fault: Causes and Solutions ... [详细]
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
author-avatar
U友48805799
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有