ftp == file transfer protocol 文件传输协议,使用ftp服务,可以上客户端远程下载和上传服务端的文件。系统自带的ftp工具是vsftpd,我们也可以使用pure-ftpd工具。下载pure-ftpd的链接:
教程:www.aminglinux.com/study_v2/chapter21.html
服务端192.168.147.137:
进入源码目录:
[[email protected] src]# cd /usr/local/src
下载安装包:
[[email protected] src]# wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.bz2
解压安装包:
[[email protected] src]# tar jxvf pure-ftpd-1.0.42.tar.bz2
进入安装目录:
[[email protected] src]# cd pure-ftpd-1.0.42
配置安装选项:
[[email protected] pure-ftpd-1.0.42]# ./configure --prefix=/usr/local/pureftpd --without-inetd --with-altlog --with-puredb --with-throttling --with-peruserlimites --with-tls
编译:
[[email protected] pure-ftpd-1.0.42]# make
安装:
[[email protected] pure-ftpd-1.0.42]# make install
创建配置文件目录:
[[email protected] pure-ftpd-1.0.42]# mkdir -p /usr/local/pureftpd/etc
拷贝模板配置文件:
[[email protected] pure-ftpd-1.0.42]# cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/
拷贝启动文件:
[[email protected] pure-ftpd-1.0.42]# cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/
更改启动文件权限:
[[email protected] pure-ftpd-1.0.42]# chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
编辑配置文件:
[[email protected] pure-ftpd-1.0.42]# vim /usr/local/pureftpd/etc/pure-ftpd.conf
修改内容如下:
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 8
VerboseLog no
DisplayDotFiles yes
AnonymousOnly no
NoAnonymous no
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15PureDB /usr/local/pureftpd/etc/pureftpd.pdbLimitRecursion 3136 8
AnonymousCanCreateDirs no
MaxLoad 4
AntiWarez yes
Umask 133:022
MinUID 100
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload noPIDFile /usr/local/pureftpd/var/run/pure-ftpd.pidMaxDiskUsage 99
CustomerProof yes
(最小UID为100,映射的UID要大于这个值,/usr/local/pureftpd/etc/pureftpd.pdb为存放用户名密码的库文件)
创建一个测试目录:
[[email protected] pure-ftpd-1.0.42]# mkdir /tmp/ftp
改变其属主:
[[email protected] pure-ftpd-1.0.42]# chown -R rachy /tmp/ftp/
添加一个用于登陆ftp服务器的虚拟用户ftpuser1,并将系统用户rachy映射到该虚拟用户:
[[email protected] pure-ftpd-1.0.42]# /usr/local/pureftpd/bin/pure-pw useradd ftpuser1 -urachy -d /tmp/ftp/
Password:
Enter it again:
生成密码库文件:
[[email protected] pure-ftpd-1.0.42]# /usr/local/pureftpd/bin/pure-pw mkdb
(也可以查看内容:/usr/local/pureftpd/bin/pure-pw list)
(也可以删除用户:/usr/local/pureftpd/bin/pure-pw userdel ftpuser1)
启动pureftpd服务:
[[email protected] pure-ftpd-1.0.42]# /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
Running: /usr/local/pureftpd/sbin/pure-ftpd -A -c50 -B -C8 -D -fftp -H -I15 -lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb -L3136:8 -m4 -s -U133:022 -u100 -g/usr/local/pureftpd/var/run/pure-ftpd.pid -k99 -Z
查看进程:
[[email protected] pure-ftpd-1.0.42]# ps aux | grep pure
root 7146 0.0 0.0 9000 588 ? Ss 21:45 0:00 pure-ftpd (SERVER)
root 7148 0.0 0.0 5980 756 pts/0 S+ 21:46 0:00 grep pure
查看端口:
[[email protected] pure-ftpd-1.0.42]# netstat -lnp | grep pure
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 7146/pure-ftpd (SER
tcp 0 0 :::21 :::* LISTEN 7146/pure-ftpd (SER
客户端192.168.147.138:
安装lftp命令:
[[email protected] ~]# yum install -y lftp
登陆ftp服务器:
[[email protected] ~]# lftp [email protected]
口令:
lftp [email protected]:~> ?
登陆之后,输入?查看ftp支持的命令
下载文件:
[[email protected] download]# ls
2.txt
[[email protected] download]# lftp [email protected]
口令:
lftp [email protected]:~> ls
drwxr-xr-x 2 502 0 4096 Feb 26 21:57 .
drwxr-xr-x 2 502 0 4096 Feb 26 21:57 ..
-rw-r--r-- 1 0 0 5 Feb 26 21:57 1.txt
lftp [email protected]:/> get 1.txt
5 bytes transferred
lftp [email protected]:/> exit
[[email protected] download]# ls
1.txt 2.txt
[[email protected] download]#
上传文件:
lftp [email protected]:~> ls
drwxr-xr-x 2 502 0 4096 Feb 26 21:57 .
drwxr-xr-x 2 502 0 4096 Feb 26 21:57 ..
-rw-r--r-- 1 0 0 5 Feb 26 21:57 1.txt
lftp [email protected]:/> put 2.txt
5 bytes transferred
lftp [email protected]:/> ls
drwxr-xr-x 2 502 0 4096 Feb 26 21:59 .
drwxr-xr-x 2 502 0 4096 Feb 26 21:59 ..
-rw-r--r-- 1 0 0 5 Feb 26 21:57 1.txt
-rw-r--r-- 1 502 rachy 5 Feb 26 21:56 2.txt
lftp [email protected]:/>
也可以使用ftp命令登陆,跟lftp类似:
安装ftp客户端:
[[email protected] download]# yum install -y ftp
登录ftp服务器:
[[email protected] download]# ftp 192.168.147.137
Connected to 192.168.147.137 (192.168.147.137).
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 22:01. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (192.168.147.137:root): ftpuser1
331 User ftpuser1 OK. Password required
Password:
230 OK. Current directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,147,137,210,129)
150 Accepted data connection
drwxr-xr-x 2 502 0 4096 Feb 26 22:03 .
drwxr-xr-x 2 502 0 4096 Feb 26 22:03 ..
-rw-r--r-- 1 0 0 5 Feb 26 21:57 1.txt
226-Options: -a -l
226 3 matches total
下载文件:
ftp> get 1.txt
local: 1.txt remote: 1.txt
227 Entering Passive Mode (192,168,147,137,206,50)
150 Accepted data connection
226-File successfully transferred
226 0.000 seconds (measured here), 14.27 Kbytes per second
5 bytes received in 3.1e-05 secs (161.29 Kbytes/sec)
ftp> exit
221 Goodbye. You uploaded 0 and downloaded 1 kbytes.
[[email protected] download]# ls
1.txt 2.txt
上传文件:
ftp> put 2.txt
local: 2.txt remote: 2.txt
227 Entering Passive Mode (192,168,147,137,130,188)
150 Accepted data connection
226-File successfully transferred
226 0.001 seconds (measured here), 7.76 Kbytes per second
5 bytes sent in 0.000164 secs (30.49 Kbytes/sec)
ftp> ls
227 Entering Passive Mode (192,168,147,137,136,65)
150 Accepted data connection
drwxr-xr-x 2 502 0 4096 Feb 26 22:05 .
drwxr-xr-x 2 502 0 4096 Feb 26 22:05 ..
-rw-r--r-- 1 0 0 5 Feb 26 21:57 1.txt
-rw-r--r-- 1 502 rachy 5 Feb 26 22:05 2.txt
226-Options: -a -l
226 4 matches total
ftp>
windows上只需安装ftp客户端即可访问ftp服务器。