vsFTPd 服务器初学者指南

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的基础知识,希望对你们有帮助!

(0)

相关推荐

  • Shell脚本搭建FTP服务器(vsftpd)

    各种知识点都写在注释里. 只需要 sudo $PATH/ftpsetup.sh即可,默认以test/test为用户名密码登录,登录后的根目录只读,子目录writable可写. Ubuntu 13和Linux Mint 15上测试ok. 复制代码 代码如下: #!/bin/bash # by liuhx 2013-Nov-04. # 设置ftp环境的脚本.ftp的根目录为只读,其下的writable目录为可写 # 可自定义以下四项 # ftp用户名 userName="test" # f

  • VSFTP 两招帮你提高FTP服务器的安全性

    一.禁止系统级别用户来登录FTP服务器. 为了提高FTP服务器的安全,系统管理员最好能够为员工设置单独的FTP帐号,而不要把系统级别的用户给普通用户来使用,这会带来很大的安全隐患.在VSFTP服务器中,可以通过配置文件vsftpd.ftpusers来管理登陆帐户.不过这个帐户是一个黑名单,列入这个帐户的人员将无法利用其帐户来登录FTP服务器.部署好VSFTP服务器后,我们可以利用vi命令来查看这个配置文件,发现其已经有了许多默认的帐户.其中,系统的超级用户root也在其中.可见出于安全的考虑,V

  • 全面提高WindowsFTP服务器的安全性能

    但使用IIS5.0 架设的FTP服务器真的安全吗?它的默认设置其实存在很多安全隐患,很容易成为黑客们的攻击目标.如何让FTP服务器更加安全,只要稍加改造,就能做到. 一 取消匿名访问功能 默认情况下,Windows2000系统的FTP服务器是允许匿名访问的,虽然匿名访问为用户上传.下载文件提供方便,但却存在极大的安全隐患.用户不需要申请合法的账号,就能访问FTP服务器,甚至还可以上传.下载文件,特别对于一些存储重要资料的FTP服务器,很容易出现泄密的情况,因此建议用户取消匿名访问功能. 在Win

  • 安全的FTP服务器 vsftpd简介

    vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面.它支持很多其他的 FTP 服务器不支持的特征.比如: 非常高的安全性需求 带宽限制 良好的可伸缩性 创建虚拟用户的可能性 IPv6支持 中等偏上的性能 分配虚拟 IP 的可能性 高速 vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者 Chris Evans 考虑的首要问题之一.在这个 F

  • FTP与SFTP的区别 知多少

    FTP是文件传输协议.在网站上,如果你想把文件和人共享,最便捷的方式莫过于把文件上传到FTP服务器上,其他人通过FTP客户端程序来下载所需要的文件. FTP进行文件传输需要通过端口进行.一般所需端口为: 1.  控制链路-TCP端口21.控制器端.用于发送指令给服务器以及等待服务器响应. 2.  数据链路---TCP端口20.数据传输端口.用来建立数据传输通道的.主要用来从客户向服务器发送一个文件.从服务器向客户发送一个文件.从服务器向客户发送文件或目录列表. FTP为了适应不同的网络环境,支持

  • vsFTPd 服务器初学者指南

    vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,非常好用,我都用了好长时间,那下面我就给大家介绍下vsftpd的学习指南. 1.vsFTPd,目前常用FTP服务器套件; vsFTPd是一款在Linux发行版中最受推崇的FTP服务器程序;特点是小巧轻快,安全易用;能让其自身特点得发发挥和掌握,也然最主要的是会用; 目前在开源操作系统中常用的FTPD套件主要有ProFTPD.PureFTPd和wuftpd等;至于哪个FTP服务器套件更好,哪个是你最熟悉的,哪个就是最好的; 2.ft

  • CentOS 7 安装vsftpd 服务器的具体操作步骤

    在CentOS7上安装ftp服务器用于保存服务端上传的图片. 1.CentOS卸载vsftpd的方法 如果服务器上已经安装了vsftpd服务,配置出错需要卸载vsftpd服务. 1.1 查找vsftpd服务 [root@localhost /]# rpm -aq vsftpd 返回结果显示: vsftpd-3.0.2-21.el7.x86_64 #此处是查找vsftpd的返回结果 表示此服务期之前已经安装过vsftpd服务. 1.2 删除查找到的vsftpd服务 注:在卸载vsftpd之前,先停

  • Linux编译安装vsftpd服务器(本地用户验证方式)

    Linux vsftpd编译安装和配置允许本地用户登录FTP 1.下载vsftpd源码 wget https://security.appspot.com/downloads/vsftpd-2.3.4.tar.gz 2.编译vsftpd源码 64位的系统编译之前先要执行cp /lib64/libcap.so.1 /lib/libcap.so.1命令: 复制代码 代码如下: tar xzvf vsftpd-2.3.4.tar.gz cd vsftpd-2.3.4 make make install

  • 构建基于虚拟用户的vsftpd服务器应用

    安装: [root@server ~]# yum install -y vsftpd [root@server ~]# rpm -ql vsftpd /etc/logrotate.d/vsftpd /etc/pam.d/vsftpd /etc/rc.d/init.d/vsftpd /etc/vsftpd /etc/vsftpd/ftpusers /etc/vsftpd/user_list /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_conf_migrat

  • ubuntu如何搭建vsftpd服务器

    目录 一.vsftpd是什么? 二.搭建过程 1.查询vsftpd是否存在和安装成功 2.安装vsftpd 3.查询vsftpd版本号 4.其他命令 5.使用匿名用户登录 三.用户设置 1.匿名用户登录 2.本地用户登录 3.使用虚拟用户 四.公网vsftpd服务器配置 1 服务器配置成被动模式 2 路由器端口映射 3 Linux服务器开放上述用到的端口 总结 一.vsftpd是什么? vsftpd 是very secure FTP daemon的缩写,安全性是它的一个最大的特点. vsftpd

  • 比较详细的基于CentOS的WWW服务器架设指南第1/2页

    一.系统约定 1.系统环境 Linux:CentOS-4.4.ServerCD Apache:2.2.4 MySQL:4.0.26 PHP:4.3.11 ZendOptimizer:3.2.2 phpMyAdmin:2.10.0.2 2.源码包存放位置 :/usr/local/src  #为什么一定要在/usr/local/src/下进行Tarball呢?这仅是约定俗成的,因为如此一来,大家都安装在这个地方,以后主机的维护与移交都很简单,并且对于将来在主机上面进行"升级"与"

  • CentOS7服务器环境下vsftpd安装及配置方法

    本文实例讲述了CentOS7服务器环境下vsftpd安装及配置方法.分享给大家供大家参考,具体如下: 0x:卸载vsftpd [root@localhost ~]# yum remove vsftpd [root@localhost ~]# find / -name "vsftpd*" /etc/vsftpd /etc/vsftpd/vsftpd.conf.bak [root@localhost ~]# rm -fr /etc/vsftpd/ 1x:重新安装 [root@localho

  • CentOS 6.8 安装vsftpd的方法步骤

    vsftpd是"very secure FTP daemon"的缩写,是一个完全免费的.开发源代码的ftp服务器软件. vsftpd是一款在Linux发行版本中最受推崇的FTP服务器程序,小巧轻快.安全易用.支持虚拟用户.支持带宽限制等功能. 系统环境:CentOS 6.8 64位 vsftpd版本 :vsftpd-2.22-21.el6.x86_64 1.执行命令 yum -y install vsftpd ps:(1)是否使用sudo权限执行根据具体环境来决定:(2)rpm -qa

  • vsftpd 出现530 and 500 错误问题解决办法

    VSFTP  530 Login incorrect  And    500 OOPS: vsftpd: refusing to run with writable anonymous root  错误的解决方法 530 Login incorrect  : 在文件中限制匿名用户,做如下设置: anonymous_enable=NO userlist_enable=YES userlist_deny=NO userlist_file=/etc/vsftpd.user_list 这样只有在 use

  • 史上最详细的vsftpd配置文件详解

    vsftpd作为一个主打安全的FTP服务器,有很多的选项设置.下面介绍了vsftpd的配置文件列表,而所有的配置都是基于vsftpd.conf这个配置文件的.本文将提供完整的vsftpd.conf的中文说明.学习本文的内容将有助于你初步了解vsftpd的配置文件,但针对具体情况还需要制定具体的配置方法. vsftpd的配置文件 /etc/vsftpd/vsftpd.conf 主配置文件 /usr/sbin/vsftpd Vsftpd的主程序 /etc/rc.d/init.d/vsftpd 启动脚

随机推荐