vsFTPd 服务器初学者指南

系统 Linux
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。这么好的东西,我给初学者点用法指导!

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,非常好用,我都用了好长时间,那下面我就给大家介绍下vsftpd的学习指南。

  1、vsFTPd,目前常用FTP服务器套件;

  vsFTPd是一款在Linux发行版中最受推崇的FTP服务器程序;特点是小巧轻快,安全易用;能让其自身特点得发发挥和掌握,也然最主要的是会用;

  目前在开源操作系统中常用的FTPD套件主要有ProFTPD、PureFTPd和wuftpd等;至于哪个FTP服务器套件更好,哪个是你最熟悉的,哪个就是***的;

  2、ftp 用户管理解说;

  FTP服务器对用户的管理,在默认的情况下是根据 /etc/passwd及/etc/group 来进行的,所以我们一定要了解Linux系统用户和用户组的管理,用户和用户组的管理是一切应用的的基础,有的弟兄不想去了解基础的东西,就想一步成架好各种服务器,事实证明这种学习方法是最不明智的;虽然在您可能在几分钟启动了ftp服务器,但遇到问题时,您不一定能知道是哪里出错;所以基础还是极为重要的;

  推荐文章: 《Linux 用户(user)和用户组(group)管理概述》

  2.1、匿名ftp 用户和用户组的理解;

  当我们访问各大FTP上访问时,可能我们不去想我们以什么身份登录的,如果他的FTP允许匿名登录的话;比如我们在浏览器上打入;

  ftp://mirrors.kernel.org

  或

  ftp://ftp:ftp@mirrors.kernel.org

  我们会发现上面的两行最终都能访问,而且显示的结果也完全一样,最终都跳到 ftp://mirrors.kernel.org 地址;那我们访问这个FTP时,是不是有用户和密码呢?是的,也是需要在的,只是在服务器端允许匿名访问,而匿名访问的用户名和密码都是ftp,只是我们因为匿名访问,没有感觉到他有用户名和密码罢了。第二个地址就是以ftp用户,密码也是ftp来访问 ftp://mirrors.kernel.org;

  如果我们以ftp命令连接 mirrors.kernel.org 时,我们会发现需要输入用户ftp,密码ftp才能访问;

  在FTP服务器中,匿名用户的用户名和密码都是ftp ;这个用户可以在您的操作系统中的 /etc/passwd 中能找得到;可能有类似下面的一行;

  ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

  说明:

  /etc/passwd 是系统用户的配置文件;/etc/group是系统用户组配置文件,您可以通过 《Linux 用户(user)和用户组(group)管理概述》 及其相关文档中了解一些用户管理的一些基础知识;

  在ftp用户这行中,我们看到七个字段,每个字段写字段之间用:号分割;

  ftp 是用户名

  x 是密码字段,是隐藏的;

  14 是用户的UID字段,可以自己来设定,不要和其它用户的UID相同,否则会造成系统安全问题;

  50 用用户组的GID,可以自己设定,不要和其它用户组共用FTP的GID,否则会造成系统全全问题;

  FTP User 是用户说明字段;

  /var/ftp 是ftp用户的家目录,可以自己来定义;

  /sbin/nologin 这是用户登录SHELL ,这个也是可以定义的,/sbin/nologin 表示不能登录系统;系统虚拟帐号(也被称为伪用户)一般都是这么设置。比如我们把ftp用户的/sbin/nologin 改为 /bin/bash ,这样ftp用户通过本地或者远程工具ssh或telnet以真实用户身份登录到系统。这样做对系统来说是不安全的;如果您认为一个用户没有太大的必要登录到系统,就可以只给他FTP帐号的权限,也就是说只给他FTP的权限,而不要把他的SHELL设置成 /bin/bash 等;

  关于ftp用户组的理解:

  我们查看 /etc/group 的时候,会发现类似这样一条;

  ftp:x:50:

  /etc/group 是用户组的管理配置文件,上面这行表示用户组ftp,x是密码段,50是GID;我们对照在/etc/passwd中的ftp那行得知ftp用户是属于ftp用户组的,因为ftp用户那行中的GID和ftp用户组的GID是相同的;

  2.2、匿名ftp 用户和ftp用户组是否可以删除

  在一般情况下是不能把/etc/passwd和/etc/group 中有把ftp用户和用户组的行删除的,因为FTP服务器是需要他们来对FTP用户实现管理,在默认的情况下。

  虽然不能删除,但对/etc/passwd及/etc/group中的ftp用户及ftp用户组的一些相关的东西是能修改的;比如我们可以把ftp用户的家目录改掉,也可以把ftp用户的UID改掉 ... ... 前提是你对用户管理有所了解,系统用户管理是一切应用基础之一,可能初学Linux的弟兄并不了解用户管理的重要性,但慢慢您就会发现这个道理;

  3、vsFTPd的安装;

  在***的各大发行版中的安装盘中都有vsFTPd的软件包,您用相应发行版提供的软件包管理工具就能安装上;当然您可以到各大发行版的FTP镜像中找到vsftpd的软件包;当然也能用软件包的管理工具在线安装;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

  您可以下载源码包来安装

  比如我们下载的是 vsftpd-2.0.3.tar.gz ;

  [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运行有两种模式,在RPM包管理的系重审统,大多是由Fedora/Redhat 开发而来,对于这样的系统有xinted服务器一说;对于非RPM包管理的系统,一般没有xinted这一说。为了保证本文档的统一,我们都不要用xinetd模式,而用initd运行模式来启动和管理服务器,也就是独立运行模式; 至于什么是xinted和inted 模式,您可以参考《 用vsFTPd自架Linux网络安装服务器》

通过上文的介绍,我相信那些初学者都知道了vsFTPd的基础知识,希望对你们有帮助!

【编辑推荐】

责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-03-02 11:30:02

vsFTPd

2011-03-02 12:43:40

vsFTPd

2010-08-26 15:47:09

vsftpd安装

2023-01-27 14:50:45

2022-04-24 15:21:01

MarkdownHTML

2023-07-03 15:05:07

预测分析大数据

2021-05-10 08:50:32

网络管理网络网络性能

2022-03-28 09:52:42

JavaScript语言

2023-07-28 07:31:52

JavaScriptasyncawait

2010-06-13 11:13:38

UML初学者指南

2022-07-22 13:14:57

TypeScript指南

2023-02-10 08:37:28

2012-03-14 10:56:23

web app

2022-10-10 15:28:45

负载均衡

2022-09-05 15:36:39

Linux日志记录syslogd

2018-10-28 16:14:55

Reactreact.js前端

2013-04-08 16:35:52

Adobe Edge

2013-03-06 10:40:58

Adobe Edge HTML5

2020-08-16 13:10:46

TensorFlow深度学习数据集

2014-04-01 10:20:00

开源Rails
点赞
收藏

51CTO技术栈公众号