.vsftpd说明

  LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等.Red Hat Enterprise Linux中默认安装的是vsftpd.

访问FTP服务器时需要经过验证,只有经过了FTP服务器的相关验证,用户才能访问和传输文件.vsftpd提供了3种ftp登录形式:

1anonymous(匿名帐号)

  使用anonymous是应用广泛的一种FTP服务器.如果用户在FTP服务器上没有帐号,那么用户可以以anonymous为用户名,以自己的电子邮件地址为密码进行登录.当匿名用户登录FTP服务器后,其登录目录为匿名FTP服务器的根目录/var/ftp.为了减轻FTP服务器的负载,一般情况下,应关闭匿名帐号的上传功能.

  2real(真实帐号)

  real也称为本地帐号,就是以真实的用户名和密码进行登录,但前提条件是用户在FTP服务器上拥有自己的帐号.用真实帐号登录后,其登录的目录为用户自己的目录,该目录在系统建立帐号时系统就自动创建.

 3guest(虚拟帐号)

  如果用户在FTP服务器上拥有帐号,但此帐号只能用于文件传输服务,那么该帐号就是guest,guest是真实帐号的一种形式,它们的不同之处在于,geust登录FTP服务器后,不能访问除宿主目录以外的内容.

二、安装和使用

1、安装ftp服务器工具

环境是centos6.0,安装的“vsftpd-2.2.2-6.el6.x86_64.rpm”

2、开启vsftp server服务,检查ftp端口是否打开

/etc/init.d/vsftpd start

netstat -lpnt | grep vsftpd,可以看到使用21端口进行通信。

3、安装ftp客户端工具

环境是windows xp,安装了FlashFXP。

4、使用下载功能

在linux端,touch /var/ftp/pub/file_linux;

使用FlashFXP,登陆服务器端,使用匿名用户访问,默认访问目录/var/ftp/pub,可以看到file_linux,并且可以下载到windows客户端上。

5、使用上传功能

通过windows客户端尝试上传文件到linux的/var/ftp/pub目录下,FlashFXP工具报出失败信息“553 could not create file”。

  • 修改/etc/vsftpd/vsftpd.conf:

    write_enable=YES

    anon_mkdir_write_enable=YES

    anon_other_write_enable=YES

  更多配置文件参数说明见http://www.cnblogs.com/hnrainll/archive/2011/02/16/1956538.html

  • 禁用Selinux:

    getsebool命令可以查看当前Selinux是否禁止。如果未禁用,网上有很多说明如何禁用。

  • 检查目录权限:

    ll /var/ftp

    drwxr-xr-x. 3 root root 4096 Jun  3 14:51 pub

    说明此目录当前属主是root,所以匿名访问的用户只具有读和执行权限,没有写权限。

有两种方式可以解决:

    A:设置pub目录为777的权限,chmod -R 777 pub

    B:在pub目录下创建子目录,设置子目录属主为ftp用户。

      先检查系统是否有ftp用户,一般默认会创建。

      cat /etc/passwd | grep ftp

      ftp:x:107:65534::/home/ftp:/bin/false

      mkdir  /var/ftp/pub/upload

      chown ftp:root  /var/ftp/pub/upload

6、修改默认根目录。

vsftpd服务使用匿名用户登录时,默认根目录为/var/ftp/pub,添加用户后登录的默认根目录可能是其家目录(未试过)。若需要设置为/mnt/vg,可加入如下:

    anon_root=/var/www/html   #针对匿名用户

  ====以下针对其它ftp用户,未试过==========

    local_root=/var/www/html

    chroot_local_user=YES

    注解:(修改FTP目录后也要修改FTP账户权限目录 否则会出现无权限错误提示)

7、与smb共享数据

  smb匿名用户为nobody,因此smb目录,ftp用户无法写入数据。

  解决方法

  • 将ftp加入了nobody组,设置该组权限为rwx
  • 将smb导出目录设置为777 

8、更多使用例子

  http://www.cnblogs.com/hnrainll/archive/2011/02/16/1956536.html

Linux FTP服务器搭建与使用的更多相关文章

  1. linux ftp服务器搭建

    作为服务器的机器IP:192.168.124.129  主机名:Centos 操作系统:CentOS 5.5 需求:匿名用户可以下载公共目录里边内容,本地用户登录有rwx权限 软件安装 1.  准备测 ...

  2. 《Linux下FTP服务器搭建及FTP使用》

    .LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...

  3. Linux CentOS 6.5 下 vsftpd ftp服务器搭建

    Linux CentOS 6.5 下 vsftpd ftp服务器搭建 by:授客 QQ:1033553122   操作系统环境:CentOS 6.5-x86_64 下载地址:http://www.ce ...

  4. Linux之匿名FTP服务器搭建

    FTP(File Transfer Protocol)是在服务器与客户端进行文件传输的一种传输协议.本次介绍的是vsftpd的软件体验ftp服务. FTP服务器默认情况下依据用户登录情况分为三种不同的 ...

  5. Linux 之 FTP服务器搭建

    FTP服务器搭建 参考教程:[千峰教育] 1.关闭防火墙: service iptables stop 2.关闭Selinux setenforce 0 3.安装所需要依赖及编译工具 yum inst ...

  6. Linux中ftp服务器搭建

    一.FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp ...

  7. FTP-Linux中ftp服务器搭建

    一.FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp ...

  8. centos7 配置ftp服务器搭建(匿名访问,以及本地登录)

    大家好,今天来给大家分享一个基于centos 7的ftp服务器搭建 实现功能:匿名访问,本地登录 查看系统版本: [root@localhost ~]# cat /etc/redhat-release ...

  9. 记一次ftp服务器搭建走过的坑

    记一次ftp服务器搭建走过的坑 1.安装 ①下载 wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz #要FQ ②解压 ta ...

随机推荐

  1. java 、android 知识图谱

    java知识图谱: android知识图谱: 照此图练习,神功自成.....

  2. rsync 目录 斜杠

    源: 不带:同步  目录和内容 带/: 只同步内容 target目录: 待. -Warv --delete -W, --whole-file            copy files whole ( ...

  3. js 节流函数 throttle

    /* * 频率控制 返回函数连续调用时,fn 执行频率限定为每多少时间执行一次 * @param fn {function} 需要调用的函数 * @param delay {number} 延迟时间, ...

  4. Entity Framework6 访问MySQL

    先用PM命令安装EF6,MySQL提供的EF实现新增.删除.修改是采用存储过程实现的 Install-Package EntityFramework 配置修改如下 <?xml version=& ...

  5. [SQL] 要查询9 月份的数据中的任意时间段,可能是一个月的,也可能是1日到15日的

    SELECT * FROM [表名] WHERE datediff(month,[列名],

  6. mssqlserver 查询数据库表结构语句

    查询指定表结构的表名.列名.类型.说明.字段长度 select o.name as tableName,c.name as columnName,t.name as columnType,p.valu ...

  7. MFC学习 事件临界区

    事件: #include <Windows.h> #include <iostream> DWORD WINAPI Func1Pro(LPVOID lpParameter); ...

  8. xml是什么?

    xml Extensible Markup Language 可扩展标记语言 它被设计用来传输和存储数据. 它的内容都是由标签组成,非常有规律.

  9. CODESOFT中怎样打印数据库中的特定数据?

      CODESOFT可用于打印.标记和跟踪的零售库存标签软件,每种产品的售卖都代表着需要打印大量的条码标签.通常我们采用的方法就是在CODESOFT连接数据库批量打 印.但是如果数据量很大,该如何选择 ...

  10. Java基本概念(未完)

    仅简单总结~辅助快速回忆~ 一.JVM 1,Java类加载机制 Java程序由多个类文件组成,按需加载. Java的动态扩展是由运行期动态加载和动态链接实现的.——动态绑定,多态. 加载步骤: 1)装 ...