一点一滴学Linux

    返回首页    发表留言
本文作者:李德强
          第二节 FTP服务
 
 

        FTP是用于在网络上进行文件传输的一套标准协议,FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。FTP有两种使用模式:主动和被动。主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。首先安装FTP服务软件:

yum install vsftpd

        服务操作:

service vsftpd start
service vsftpd stop
service vsftpd restart

        与搭建smb服务器一样,也要先创建一个不可以登录的用户并为FTP服务所使用:

useradd -s /usr/sbin/nologin lidqftp

        创建一个ftp的访问目录,并将目录的所属者指定为lidqshare,将share目录的所属组分配为lidq:

mkdir -p /ftp
chown -R lidqftp /ftp
chgrp -R lidq /ftp
ls -lh
drwxrwxr-x.   2 lidqftp   lidq 4.0K Jun 24 14:04 ftp

        修改/etc/vsftpd/vsftp.conf文件,修改以下配置项:

#禁用匿名登录
anonymous_enable=NO
#本地录登启用
local_enable=YES
#可写
write_enable=YES
#被动模式可用
pasv_enable=YES
#被动模式可用最小端口号
pasv_min_port=2100
#被动模式可用最大端口号
pasv_max_port=2199

        保存配置文件重启vsftpd服务:

service vsftpd restart

        使用ftp命令来测试FTP服务是否已经搭建成功:

ftp 172.16.1.2
Connected to 172.16.1.2 (172.16.1.2).
220 (vsFTPd 3.0.2)
Name (172.16.1.2:lidq): lidqftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (172,16,1,2,8,77).
150 Here comes the directory listing.
-rw-rw-r--    1 1000     1000           93 Jun 24 06:04 c_test.c
-rw-rw-r--    1 1002     1002          121 Jun 24 06:04 cpp_test.cpp
226 Directory send OK.
ftp>

        在fpt命令下可以使用get命令取得FTP服务器上的文件到本地,使用put命令将本地文件上传到服务器:

ftp> get c_test.c
local: c_test.c remote: c_test.c
227 Entering Passive Mode (172,16,7,8,8,102).
150 Opening BINARY mode data connection for c_test.c (93 bytes).
226 Transfer complete.
93 bytes received in 2.7e-05 secs (3444.44 Kbytes/sec)
ftp> put Test.java
local: Test.java remote: Test.java
227 Entering Passive Mode (172,16,7,8,8,115).
150 Ok to send data.
226 Transfer complete.
106 bytes sent in 1.4e-05 secs (7571.43 Kbytes/sec)
ftp> ls
227 Entering Passive Mode (172,16,7,8,8,126).
150 Here comes the directory listing.
-rw-r--r--    1 1002     1002          106 Jun 24 06:17 Test.java
-rw-rw-r--    1 1000     1000           93 Jun 24 06:04 c_test.c
-rw-rw-r--    1 1002     1002          121 Jun 24 06:04 cpp_test.cpp
ftp>

        可见FTP服务器搭建成功。

        另外,如果使用局域网内其它计算机访问FTP时,需要将防火墙的20、21和2000~2199端口打开:

iptables -A INPUT -p tcp -m tcp --dport 20:21 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 2000:2199 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 2000:2199 -j ACCEPT

 

    返回首页    返回顶部
  看不清?点击刷新

 

  Copyright © 2015-2023 问渠网 辽ICP备15013245号