首页 > 代码库 > Linux快速搭建FTP服务器

Linux快速搭建FTP服务器

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。

一般在各种linux的发行版中,默认带有的ftp软件是vsftp,从各个linux发行版对vsftp的认可可以看出,vsftp应该是一款不错的ftp软件。

 

1、检查安装vsftpd软件

使用如下命令#rpm -qa |grep vsftpd可以检测出是否安装了vsftpd软件,

如果没有安装,使用YUM命令进行安装。

 

2、启动服务 

使用vsftpd软件,主要包括如下几个命令:

启动ftp命令#service vsftpd start

停止ftp命令#service vsftpd stop

重启ftp命令#service vsftpd restart

 

3、vsftpd的配置

ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:

ftpusers    该文件用来指定那些用户不能访问ftp服务器。

user_list   该文件用来指示的默认账户在默认情况下也不能访问ftp

 

4、以匿名用户为例,我们去掉配置文件vsftpd.conf 里面以下

anon_upload_enable=YES

anon_mkdir_write_enable=YES

两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。

vsftpd.conf   vsftpd的主配置文件

 

如何在命令行中使用 ftp 命令上传和下载文件?

步骤 1: 建立 FTP 连接

想要连接 FTP 服务器,在命令上中先输入ftp然后空格跟上 FTP 服务器的域名 ‘domain.com‘ 或者 IP 地址

 

例如:

  1. ftp domain.com
  2. ftp 192.168.0.1
  3. ftp user@ftpdomain.com

注意: 本例中使用匿名服务器。

替换下面例子中 IP 或域名为你的服务器地址。

技术分享

 

步骤 2: 使用用户名密码登录

绝大多数的 FTP 服务器是使用密码保护的,因此这些 FTP 服务器会询问‘username‘和‘password‘.

如果你连接到被称作匿名 FTP 服务器(LCTT 译注:即,并不需要你有真实的用户信息即可使用的 FTP 服务器称之为匿名 FTP 服务器),可以尝试anonymous作为用户名以及使用空密码:

  1. Name: anonymous
  2. Password:

之后,终端会返回如下的信息:

  1. 230Login successful.
  2. Remote system type is UNIX.
  3. Using binary mode to transfer files.
  4. ftp>

登录成功。

技术分享

 

步骤 3: 目录操作

FTP 命令可以列出、移动和创建文件夹,如同我们在本地使用我们的电脑一样。ls可以打印目录列表,cd可以改变目录,mkdir可以创建文件夹。

 

使用安全设置列出目录

  1. ftp>ls

服务器将返回:

  1. 200 PORT command successful.Considerusing PASV.
  2. 150Here comes the directory listing.
  3. directory list
  4. ....
  5. ....
  6. 226Directory send OK.

技术分享

 

改变目录:

改变目录可以输入:

  1. ftp>cd directory

服务器将会返回:

  1. 250Directory succesfully changed.

技术分享

 

步骤 4: 使用 FTP 下载文件

在下载一个文件之前,我们首先需要使用lcd命令设定本地接受目录位置。

  1. lcd /home/user/yourdirectoryname

如果你不指定下载目录,文件将会下载到你登录 FTP 时候的工作目录。

现在,我们可以使用命令 get 来下载文件,比如:

  1. getfile

文件会保存在使用lcd命令设置的目录位置。

服务器返回消息:

  1. local:file remote:file
  2. 200 PORT command successful.Considerusing PASV.
  3. 150Opening BINARY mode data connection forfile(xxx bytes).
  4. 226File send OK.
  5. XXX bytes received in x.xx secs (x.xxx MB/s).

技术分享

使用FTP下载文件

下载多个文件可以使用通配符及 mget 命令。例如,下面这个例子我打算下载所有以 .xls 结尾的文件。

  1. mget *.xls

步骤 5: 使用 FTP 上传文件

完成 FTP 连接后,FTP 同样可以上传文件

使用 put命令上传文件:

  1. put file

当文件不再当前本地目录下的时候,可以使用绝对路径:

  1. put /path/file

同样,可以上传多个文件:

  1. mput *.xls

 

步骤 6: 关闭 FTP 连接

完成FTP工作后,为了安全起见需要关闭连接。有三个命令可以关闭连接:

  1. bye
  2. exit
  3. quit

任意一个命令可以断开FTP服务器连接并返回:

  1. 221Goodbye

技术分享

需要更多帮助,在使用 ftp 命令连接到服务器后,可以使用help获得更多帮助。

技术分享

Linux快速搭建FTP服务器