Pureftpd编译安装实录
2017-01-11 14:50
549 查看
安装配置
下载源码:wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.44.tar.gz解压:tar -xvzf pure-ftpd-1.0.44.tar.gz
跳转到目录:cd pure-ftpd-1.0.44/
配置:
./configure –prefix=/usr/local/pureftpd –with-tls –with-paranoidmsg –with-peruserlimits –with-puredb –with-quotas –with-ratios –with-virtualchroot |
–with-peruserlimits //每个用户并发限制
–with-puredb //支持虚拟用户,即虚拟用户数据库。
–with-quotas //启用虚拟配额。限制用户可以在其帐户中存储文件的最大数量。也可以限制总大小。
–with-virtualchroot //一般情况下,当用户使用chroot(-A和-a选项)后,不可能从他的根目录中离开。激活该功能将使得这成为可能:始终会有跟着一个符号连接,甚至他们指向的目录不在用户根目录中。这对于使用共享目录是非常有用的(例如,在每一个主目录中建立一个符号连接指向/var/incoming)。该功能默认不被激活。
configure: error: libmysqlclient is needed for MySQL support |
编译:make
测试:make check
安装:make install
创建符号连接到bin目录:
ln -s /usr/local/pureftpd/bin/pure-pw /usr/local/bin/pw ln -s /usr/local/pureftpd/sbin/pure-ftpwho /usr/local/bin/pure-ftpwho |
NoAnonymous yes //不允许匿名登录
PureDB /usr/local/pureftpd/etc/pureftpd.pdb //虚拟用户数据库位置,默认/etc/pureftpd.pdb,如果更改了编译路径必须修改。
daemonize yes //后台运行
noChmod yes //用户不能通过客户端更改权限
createHomeDir yes //自动创建根目录
umask 133:022 //默认文件/文件夹权限644/755
添加操作文件所需的用户和组:
groupadd ftpgroup useradd ftpuser -g ftpgroup -d /dev/null -s /sbin/nologin |
修改日志生成:vi /etc/rsyslog.conf
ftp.* /var/log/pureftpd.log |
SyslogFacility ftp
重启日志服务
systemctl restart rsyslogd
创建虚拟用户
-d : chroot user (recommended)
-D : don’t chroot user
-m : 自动更新虚拟用户数据库 /usr/local/pureftpd/etc/pureftpd.pdb
例如:pw useradd joe -u ftpuser -m -d /usr/local/apache/htdocs 查看用户信息:pw show joe 更改用户:pw usermod joe -u ftpuser 删除用户:pw userdel joe 更改用户密码:pw passwd joe 手动生成数据库:pure-pw mkdb 列出所有用户:pw list
常见问题
连接无反应,无日志,添加ftp协议允许。firewall-cmd –add-service=ftp –permanent
重载配置:firewall-cmd –reload
客户端登陆出现
响应: 530 Login authentication failed
日志/var/log/pureftpd.log出现
[INFO] New connection from x.x.x.x [WARNING] Can’t login as [joe]: account disabled [INFO] Logout. |
MinUID 10
[ERROR] Unable to read the indexed puredb file (or old format detected) - Try pure-pw mkdb |
生成TLS证书(详见README.TLS)
mkdir -p /etc/ssl/private openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048 openssl req -x509 -days 1095 -nodes -newkey rsa:2048 -sha256 -keyout \ /etc/ssl/private/pure-ftpd.pem \ -out /etc/ssl/private/pure-ftpd.pem chmod 600 /etc/ssl/private/*.pem
这里证书1095天有效,编辑配置文件:
TLS 1 //加密和非加密均可连接
客户端设置TLS后出现一直在读取目录列表
客户端反馈状态: 读取目录列表… // Entering Passive Mode
添加防火墙允许:
firewall-cmd –permanent –add-port=45000-50000/tcp
端口范围见配置文件:PassivePortRange 45000 50000
重载配置:firewall-cmd –reload
开机启动服务
http://www.jinbuguo.com/systemd/systemd.service.htmlvi /usr/lib/systemd/system/pureftpd.service
[Unit] Description=Pure-FTPd FTP server After=syslog.target network.target [Service] Type=forking ExecStart=/usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID [Install] WantedBy=multi-user.target |
相关文章推荐
- CentOS6.5 从源码编译安装 GCC-4.9.1 全程实录《第二部分:编译,安装,测试》
- 编译安装LNMP全程实录
- Debian5+LNMP重新编译安装pureftpd
- php与nginx编译安装实录
- CentOS6.5 从源码编译安装 GCC-4.9.1 全程实录《第一部分:基础知识与准备工作》
- Win2000下Bugzilla安装实录(二)
- pureftpd安装文档
- Win2000下Bugzilla安装实录(三)
- 在winxp下用mingw编译安装wxwidgets
- CMake是一个跨平台的安装(编译)工具
- Apache2 + mod_ssl + php5 完全安装实录(2)
- ythtBBS安装编译问题
- Win2000下Bugzilla安装实录
- alsa的编译安装
- 红旗Linux4.1下安装Apahce+Tomcat+PHP+mySQL+vsFTPd实录
- 一个新手安装天已社区全程实录
- Apache2 + mod_ssl + php5 完全安装实录(4)
- 在Linux操作下如何编译安装php&mysql&apache
- Apache2 + mod_ssl + php5 完全安装实录(1)
- Win2000下Bugzilla安装实录(三)