配置pure-ftpd debian/centos
文章目录
debian
1. 安装 pure-ftpd 软件
root@localhost:~# apt-get update
root@localhost:~# apt-get install pure-ftpd
2. 配置虚拟用户
root@localhost:~# groupadd ftpg #添加组
root@localhost:~# useradd -s /sbin/nologin -g ftpg ftpu -M #添加用户到组
3. 创建 ftp 虚拟用户
语法
pure-pw useradd 用户名 -m -u ftpu -d ftp的根路径
实例
root@localhost:~# pure-pw useradd test1 -m -u ftpu -d /www/ #用户名test1 根目录/www
Password: #输入两次密码
Enter it again:
4. 进入到 pure-ftpd 安装目录, 链接认证方式
root@localhost:~# cd /etc/pure-ftpd/auth
root@localhost:/etc/pure-ftpd/auth# ln -s ../conf/PureDB 60db
root@localhost:/etc/pure-ftpd/auth# ln -s /etc/pure-ftpd/conf/PureDB 60puredb
链接完成之后所有的文件
root@localhost:/etc/pure-ftpd/auth# ls -l
总用量 0
lrwxrwxrwx 1 root root 14 5月 20 09:28 60db -> ../conf/PureDB
lrwxrwxrwx 1 root root 26 5月 20 09:29 60puredb -> /etc/pure-ftpd/conf/PureDB
lrwxrwxrwx 1 root root 26 10月 9 2012 65unix -> ../conf/UnixAuthentication
lrwxrwxrwx 1 root root 25 10月 9 2012 70pam -> ../conf/PAMAuthentication
5. 重启 pure-ftpd 自行测试
root@localhost:~#chown ftpu.ftpg -R /www
root@localhost:~# /etc/init.d/pure-ftpd restart
更改密码
root@localhost:~# cd /etc/pure-ftpd
root@localhost:~# pure-pw passwd test1 -f pureftpd.passwd -m
root@localhost:~# pure-pw userdel test1 -f pureftpd.passwd -m #删除用户
centos 配置
1. 安装 yum 源
[root@iZ2ze97fdsfo ~]# yum -y install epel-release
[root@iZ2ze97fdsfo ~]# yum clean all
2.yum 安装
[root@iZ2ze97fdsfo ~]# yum -y install pure-ftpd
3. 编辑配置文件
[root@iZ2ze97fdsfo ~]# vim /etc/pure-ftpd/pure-ftpd.conf
PureDB /etc/pure-ftpd/pureftpd.pdb
#去掉这行注释,指定路径,PureDB用户数据库文件
VerboseLog yes
#开启日志 /var/log/pureftpd.log
NoAnonymous yes
#拒绝匿名用户登录
PassivePortRange 48000 50000
#使用被动模式,限制端口。
4. 添加用户
[root@iZ2ze97fdsfo ~]# groupadd ftpgroup
[root@iZ2ze97fdsfo ~]# useradd -g ftpgroup -s /sbin/nologin -d /dev/null ftpuser
创建虚拟账户
[root@iZ2ze97fdsfo ~]# pure-pw useradd test -d /data/ftp/ -u ftpuser -m
配置目录权限
[root@iZ2ze97fdsfo ~]# mkdir /data/ftp -p
[root@iZ2ze97fdsfo ~]# chown ftpuser.ftpgroup /data/ftp/ -R
[root@iZ2ze97fdsfo ~]# /ect/init.d/pure-fptd start
可能会出现的问题
可能你虚拟用户用使用的不是 ftpu,而是其他的,譬如现在我用的 www-data,添加完用户之后使用连接软件连接 FTP 会出现一个问题,如图所示
这个问题也是最近才出现的,说一下解决办法。就拿我现在的情况来举例子,我现在 pure-ftpd 的用户是 www-data,UID 为 33
但是在 pure-ftpd 的配置文件里默认是 1000,只要将 1000 改成自己使用用户的 UID 重启服务即可,配置文件路径。
root@iZbp1fcqc8bu4iu65ow0bqZ:~# cat /etc/pure-ftpd/conf/MinUID
1000
root@iZbp1fcqc8bu4iu65ow0bqZ:~# echo "33" > /etc/pure-ftpd/conf/MinUID
root@iZbp1fcqc8bu4iu65ow0bqZ:~# /etc/init.d/pure-ftpd restart
如果你开启了 iptables 防火墙,光开 21 端口是不够的,被动端口也要开,比如我的是从 48000 到 50000,你不可能一个一个的开,涉及到了 iptables 批量开放端口,操作如下。
[root@iZ2ze97fdsfodnhh1iuz4xZ ~]# iptables -I INPUT -p tcp --dport 48000:50000 -j ACCEPT
[root@iZ2ze97fdsfodnhh1iuz4xZ ~]# /etc/init.d/iptables save > /etc/sysconfig/iptables
[root@iZ2ze97fdsfodnhh1iuz4xZ ~]# /etc/init.d/iptables restart
直接编辑配置文件也可以,加入这条,然后重启即可。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 48000:50000 -j ACCEPT