ftp=file transter protocol 文件传输协议
ftp常见软件有pure-ftpd和vsftpd(系统自带)
pure-ftpd比 vsftp 配置起来更加灵活。
官方网站www.pureftpd.ort
1.下载源码包
wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.bz2
2.解压源码包
tar jxvf pure-ftpd-1.0.42.tar.bz2
3.编译安装源码
cd pure-ftpd-1.0.42
./configure \
--prefix=/usr/local/pureftpd \
--without-inetd \
--with-altlog \
--with-puredb \
--with-throttling \
--with-peruserlimits \
--with-tls
make && make install
4.Pure-ftpd 编译安装很快就完成了,而且极少有出现错误的时候,下面就该配置它了:
mkdir -p /usr/local/pureftpd/etc/ #创建配置文件目录
cd configuration-file #进入配置文件模板目录
cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf #复制配置模板到配置文件目录下
cp pure-config.pl /usr/local/pureftpd/sbin/pure-config.pl #复制启动脚本到sbin目录下
chmod 755 /usr/local/pureftpd/sbin/pure-config.pl #修改启动脚本可执行权限
5.修改配置文件,模板都是注释和解释,内容很多,去掉解释后的模板:
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 8
VerboseLog no
DisplayDotFiles yes
AnonymousOnly no
NoAnonymous no
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15
PureDB /usr/local/pureftpd/etc/pureftpd.pdb #存放用户账号密码的库文件路径
LimitRecursion 3136 8
AnonymousCanCreateDirs no
MaxLoad 4
AntiWarez yes
Umask 133:022
MinUID 100 #映射用户UID最小为100
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload no
PIDFile /usr/local/pureftpd/var/run/pure-ftpd.pid
MaxDiskUsage 99
CustomerProof yes
5.启动pure-ftpd
/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
前面是启动程序,后面是配置文件
如果是启动成功,会显示一行长长的以 Running 开头的信息,否则那就是错误信息。重
启可能会比较麻烦一些,毕竟我们没有启动脚本。重启的话,可以使用下面的命令来实现。
killall puref-ftpd
cd /usr/local/pureftpd/; ./sbin/pure-config.pl ./etc/pure-ftpd.conf
6.建立测试目录
mkdir /tmp/ftp
chown -R wyp:wyp /tmp/ftp #准备映射虚拟用户为系统用户wyp,所以要有权限。
7.建立用户账号密码
/usr/local/pureftpd/bin/pure-pw useradd user1 -uwyp -d /tmp/ftp/回车
输入两次密码
-u将虚拟用户user1与系统用户wyp关联在一起,也就是说使用user1账号登陆ftp后,会以wyp的身份来读取文件或下载文件。-d 后边的目录为 ftp的测试目录,这样可以使user1只能访问目录/tmp/ftp/。
8.最后一步,创建用户信息数据库文件。(关键一步)
/usr/local/pureftpd/bin/pure-pw mkdb
pure-pw 还可以列出当前的 ftp 账号,当然也可以删除某个账号, 我们再创建一个账号:
/usr/local/pureftpd/bin/pure-pw useradd user2 -uwyp -d /tmp/ftp
/usr/local/pureftpd/bin/pure-pw mkdb
列出当前账号:
/usr/local/pureftpd/bin/pure-pw list
删除账号的命令为:
/usr/local/pureftpd/bin/pure-pw userdel user2
课后答疑
1./pureftpd/etc/pureftpd.pdb这个文件是否就是我存放虚拟用户账号密码的文件,我用cat和vim都无法查看该文件的具体内容,需要用什么命令查看?
答:查看不了,是二进制文件。
2.root@localhost ~]# /usr/local/pureftpd/bin/pure-pw mkdb
这个主要是做什么用 说是户信息数据库文件,但是没觉得是用在什么地方?密码还是其他的?求解,百度没搜到有用的答案~
答:mkdb 其实就是把我们之前设置的用户名密码记录到一个文件里面去,这个文件才是pure-ftpd识别的文件。