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的基础知识。希望对你们有帮助!
本文地址:https://gpu.xuandashi.com/41754.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!