背景:最近需要在服务器上安一个ftp服务器,之前也使用wdcp安过,结果由于mysql数据库修改了,不知道什么莫名问题怎么也连不上,后来又使用了vsftpd,也是糊里糊涂的安好了,没怎么搞懂。最近又有新的需求要装个ftp,网上找了好多教程都没有成功,走了不上弯路,特此记录以供自己和后人参考。
1.如果你是基于最小化安装的linux系统,需要执行如下命令,安装必要的库,如果是安装过的可以跳过此步骤
yum -y install wget vim git texinfo patch make cmake gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal nano fonts-chinese gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap diffutils vim lrzsz net-tools
2.下载pure-ftpd的源码,这里我附上了我下载好的文件,链接
3.把源码上传到linux的某一目录下,我习惯放到/opt下
4.解压源码
tar -xvjf /opt/pure-ftpd-1.0.47.tar.bz2
5.进入源码目录
cd pure-ftpd-1.0.47
6.配置编译文件
./configure --prefix=/usr/local/pure-ftpd/ --with-language=simplified-chinese --with-everything
7.编译并安装
make && make check && make install
8.添加ftp用户组
groupadd ftpgroup
9.增加ftp用户
useradd -G ftpgroup ftpuser
10.创建一个用户的上传目录
mkdir -p /home/ftpusers/joe
11.添加一个pure-ftpd用户
/usr/local/pure-ftpd/bin/pure-pw useradd joe -u ftpuser -d /home/ftpusers/joe
12.生成数据库文件
/usr/local/pure-ftpd/bin/pure-pw mkdb
13.启动pure-ftpd
/usr/local/pure-ftpd/sbin/pure-ftpd -j -lpuredb:/usr/local/pure-ftpd/etc/pureftpd.pdb &
14.操做完以上步骤就可以使用ftp客户端连接了,你会发现无法上传文件,是因为没有添加目录的用户权限,执行以下命令
chown ftpuser /home/ftpusers/joe
这样你就可以顺利使用pure-ftp了,
ip限制
在使用pure-pw useradd添加虚拟用户,
或者pure-pw usermod修改虚拟用户设置的时候,
通过下面的选项限制登录ip段
允许
pure-pw -r ip/mask
禁止
pure-pw -R ip/mask
多个网段
(-r 192.168.1.0/24,10.1.0.0/16,127.0.0.1/32)
ps:如果连不上,是这个关闭防火墙,或者添加一条端口配置
————————————————
原文链接:https://blog.csdn.net/fanhenghui/article/details/78662649