vsFTPd 服务器初学者精通手册

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

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

  1、vsFTPd的服务器的启动和关闭;

  vsFTPd服务器启动和关闭是极容易的;我们可以直接把服务器运行调到后台运行;这是几乎所有服务器管理的运行方式;

  1.1、vsFTPd服务器启动和关闭的通用方法;

  运行vsftpd命令,要用到root权限,如果您当前操作用户并非是root,可以用su切换到root权限;关于root权限的切换,您有两种方式,一种是su,另一种是sudo;请参考: 《Linux 系统中的超级权限的控制》

  vsFTPd服务器的运行;

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

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

  vsFTPd服务器是否运行起来;

  我们可以通过pgrep vsftpd 来查看vsftpd是否运行起来;

  [root@localhost ~]# pgrep vsftpd

  4248

  上面显示vsFTPd服务器运行起来了,您可以通过ftp命令、lftp工具或gftp或其它的FTP客户端来测试连接;

  vsFTPd 服务器关闭:

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

  [root@localhost ~]# pkill vsftpd

  [root@localhost ~]# pgrep vsftpd

  1.2、在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: [ 确定 ]

  2、vsFTPd的服务器和防火墙及SELINUX的关系;(重要)

  我在论坛上看到有些弟兄说vsFTPd服务器启动正常,但却不能访问或用户不能上传文件,我感觉应该是防火墙或SELINUX的事;可能FTPD服务器被防火墙或SELINUX的安全机制防住了。所以您必须要让防火墙通过ftp,当然也要让SELINUX通过ftp服务器才行;

  在Fedora/Redhat/CentOS中,您要设置一下防火墙,可以把防火墙关掉,或者在自定义中让ftp “通过”防火墙;

  [root@localhost ~]# system-config-securitylevel-tui

  或者运行一下如下的命令,清除防火墙规则(通用);

  [root@localhost beinan]# iptables -F

  关于SELINUX服务器的解说 ,可能老手或新手对SELINUX都有点麻烦,建议您SELINUX;或者让vsFTPd服务器跳过SELINUX启动;也就是说要用到 4.1、vsFTPd服务器启动和关闭的通用方法;;这在Fedora/Redhat/CentOS中这样启动vsFTPd服务器是有效的;

  当然您可也可以关掉SELINUX,在/etc/selinux/config 配置文件如下;

  /etc/selinux/config

  # This file controls the state of SELinux on the system.

  # SELINUX= can take one of these three values:

  # enforcing - SELinux security policy is enforced.

  # permissive - SELinux prints warnings instead of enforcing.

  # disabled - SELinux is fully disabled.

  SELINUX=Disabled #这样就把SELINUX服务器关掉了,请重新启动系统;

  # SELINUXTYPE= type of policy in use. Possible values are:

  # targeted - Only targeted network daemons are protected.

  # strict - Full SELinux protection.

  SELINUXTYPE=targeted

  3、500 OOPS: vsftpd: refusing to run with writable anonymous root

  如果我们已经把vsFTPd服务器启动好了,但登录测试是会出现类似下面的提示;

  500 OOPS: vsftpd: refusing to run with writable anonymous root

  这表示ftp用户的家目录的权限不对,应该改过才对;

  [root@localhost ~]# more /etc/passwd |grep ftp

  ftp:x:1000:1000:FTP User:/var/ftp:/sbin/nologin

  我们发现ftp用户的家目录在/var/ftp,就是这个/var/ftp的权限不对所致,这个目录的权限是不能打开所有权限的;是您运行了chmod 777 /var/ftp所致;如果没有ftp用户这个家目录,当然您要自己建一个;

  如下FTP用户的家目录是不能针对所有用户、用户组、其它用户组完全开放;

  [root@localhost ~]# ls -ld /var/ftp

  drwxrwxrwx 3 root root 4096 2005-03-23 /var/ftp

  修正这个错误,应该用下面的办法;

  [root@localhost ~]# chown root:root /var/ftp

  [root@localhost ~]# chmod 755 /var/ftp

  有的弟兄可能会说,那匿名用户的可读、可下载、可上传怎么办呢?这也简单,在/var/ftp下再建一个目录,权限是777的就行了,再改一改vsftpd.conf就OK了;没有什么难的;

  vsFTPd出于安全考虑,是不准让ftp用户的家目录的权限是完全没有限制的,您可以去读一下vsFTPd的文档就明白的了;否则也不能称为最安全的FTP服务器了,对不对?

  4、关于vsFTPd配置文件的说明;

  vsftpd.conf是vsFTPd服务器的配置文件,此文件一般是/etc/vsftpd.conf或/etc/vsftpd/vsftpd.conf ,以系统为准吧。。

  vsftpd.conf配置文件就是vsFTPd服务器的全局控制文件,此配置文件中,每行应该算做一个规则;前面带有#号的服务器不会解释,这和apache 的配置文件类似;#后所接的内容一般是说明性的,或者是关掉某些功能的选项;

  vsftpd.conf 这个配置文件并不包括所有您想实现的功能,有些功能的实现,我们要自己动手来解决,我们要学会查vsFTPd的文档和FAQ等,虽然是英文的,但都是比较简单的;我们要习惯看洋文文档,为什么呢?因为Linux本来就是洋人厉害,重量级的软件都是洋人的。呵,兄弟不要抱怨,谁让我们落后了呢?

  注意:修改完配置文件后,一定要重启vsFTPd服务器才能生效,切记~~

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

【编辑推荐】

  1. vsFTPd常用功能之限速和限制链接点
  2. vsftpd入门——安装、配置、案例与常见问题
  3. FreeBSD下配置vsftpd虚拟用户
  4. 我教你如何添加Vsftpd 虚拟用户
  5. vsFTPd的安装一分钟搞定
  6. 如何做到 vsFTPd 服务器的启动和关闭
  7. vsFTPd的服务器和防火墙及SELINUX的关系暧昧

 

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

2011-03-02 10:57:27

vsFTPd

2011-03-02 12:43:40

vsFTPd

2010-08-26 15:47:09

vsftpd安装

2023-01-27 14:50:45

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2011-04-12 10:13:24

2009-08-30 15:04:56

2020-09-08 19:03:41

Java代码初学者

2022-07-22 13:14:57

TypeScript指南

2010-06-13 11:13:38

UML初学者指南

2023-07-03 15:05:07

预测分析大数据

2009-11-18 09:30:43

2011-05-18 11:01:39

Oracle

2021-05-10 08:50:32

网络管理网络网络性能

2022-03-28 09:52:42

JavaScript语言

2023-07-28 07:31:52

JavaScriptasyncawait

2009-12-02 10:01:54

2011-04-07 14:09:45

2009-11-23 10:29:43

CISCO路由器教程
点赞
收藏

51CTO技术栈公众号