安装pureftpd(转)超详细版
原来linux下的ftp server一直用vsftp,今天接手一台安装pureftpd的服务器,由于原来没接触过,郁闷死我了。 #wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.21.tar.bz2 修改/usr/loca/pureftpd/etc/pure-ftpd.conf,找到 管理pureftpd 例子:pure-pw useradd user1 -u ftpuser -d /data/ftp/ 修改账号信息 修改帐号密码 下面是我看的安装pureftpd+mysql的文章之一,节选了一部分 --with-everything \ make WITH_MYSQL=1 \ cd /usr/local/etc 安装参数详解 --with-everything: 编译一个几乎所有特性都开启的“大”服务器。 --with-paranoidmsg: 当该参数被开启,不论何种原因登录失败都将显示同样的信息给用户。不开启该参数是,密码问题将显示“验证失败”,被禁止用户将显示“对不起,我不信任你”。 --with-virtualchroot:通常一个用户使用chrooted(使用-A 和 -a 参数)命令不会转出他的home目录。开启该功能之后将使其成为可能:符号连接总是一起作用,甚至他们指向的目录不在用户的home目录内。这对于共享路径是一个非常拥有的功能(例如,每一个home目录下都有一个符号连接到/var/incoming)。该功能默认不开启。 --with-tls \ --with-largefile: 支持在32位架构下下载大于2 gigabytes 的文件。通过FTP传输一个如此之大的文件是一个较为奇怪的主意。并且你的文件系统,你的系统内核、你的FTP客户端也需要支持才行。并且当该功能被开启后,下载将会比不开启变慢(或需要耗费更多的CPU)。简单的说,不要应为好玩而开启该功能,除非你真的计划下载大于gigabytes的文件。 --with-welcomemsg: (为兼容)其它FTP服务器pure-ftp可以阅读 'welcome.msg' 。这是一个安全的缺陷(匿名用户可以上载'welcome.msg'文件到随机显示)。Pure-ftpd 默认使用 '.banner'文件。 --with-uploadscrīpt: 自从0.98版开始, Pure-FTPd 开始关注上传。当一个上传成功完成之后,任何额外的程序或脚本可以被自动启动。该功能需要一个称为“pure-uploadscrīpt”的程序安装在Pure-FTPd包内。 --with-cookie: 在用户登录的时候显示随机或定制的信息。 --with-virtualhosts: 支持虚拟主机。这意味着每个IP地址可以有不同的匿名FPT区域。如果服务器只有一个IP地址,就不需要该功能。但是如果有多个IP地址,并且需要一个客户端连接到IP xxx 去获得/etc/pure-ftpd/xxx/而不是~ftp/,就可以开启该功能。 --with-virtualroot \ //虚拟root支持 --with-diraliases: 支持路径的别名。 --with-quotas: 开启虚拟限额,可以限制一个用户可以在他的帐号下存储的最大数字,也可以限制总的大小。 --with-sysquotas: 支持系统限额(非Pure-ftpd的虚拟限额)。只有在计划使用系统限额的时候启用。 --with-ratios: 支持上传/下载比。 --with-ftpwho: 支持'pure-ftpwho' 命令。开启这个功能需要额外的内存。当pure-ftp运行在standalone模式时比较好,在inetd模式下启用较慢。 --with-throttling: 支持带宽限制。 其它参数 --with-altlog: 除了系统输出,还支持一些特殊的文件格式,目前已实现了:CLF, Stats, W3C 和 xferlog 格式 --with-brokenrealpath: 一些 Solaris 版本中realpath()运行不可靠。如果altlog和(或)pure-uploadscrīpt没有很好的运行,请用这个参数重新编译。 --with-certfile=<file>: 该file用来做SSL认证,默认为 /etc/ssl/private/pure-ftpd.pem . --with-extauth: 支持额外的校验模块。大多数用户不需要此参数。. 所支持语言 --with-ldap: 支持原始的LDAP路径。当该功能被开启,系统帐号将被忽略。你同时需要使用OpenLDAP。如果OpenLDAP被安装在一个特定的位置,你可以使用--with-ldap=<directory> 的参数。 --with-minimal: 为了有效运用现代FTP客户端的功能,Pure-FTPd采用基本的FTP协议加扩展(SITE IDLE,SITE CHMOD, MLSD, ...)的方式 。使用 --with-minimal 参数,这些扩展间不会被编译。同样的,也就不会有standalone server, 不会有lookup for user/group names, 不会有 humor也不会有 ASCII 的支持。但是执行文件将会比默认安装更小。该参数你至少需要GCC 3.3 以上来编译。如果你还想减少(执行)文件大小,可以采用--without-globbing 关联--with-minimal参数。如果你建立一个嵌入系统,可以这样使用;在其它场合,为了避免客户的抱怨(特别是使用windows客户端的客户),请忘记它吧 --with-mysql: 使用MySQL来提供用户数据库。当开启该参数,系统帐号被忽略。使用该功能MySQL 客户端的库文件将被安装。如果MySQL安装在特殊位置,可以使用--with-mysql=<directory> 语法。 --with-nonroot: 设置服务以非root特权用户启动。任何普通用户都可以运行服务。这对于在服务器上只有一个受限帐号的情况非常有用。但是一些特性将不能使用,而且密码只能通过LDAP,SQL或PureDB进行校验。当虚拟 chroot 被开启,用户将被限制在服务启动的目录。这是一种不安全的模式,一般用于普通(非root)用户建立临时性的服务器。在standalone模式下,2121端口将被侦听。如果想采用nonroot模式,需要编译并安装该软件(./configure --prefix=... && make install-strip) . /sbin, /bin and /man 目录需要被写入 prefix,同时还需要增加运行pure-ftpd用户在 /etc 目录的读写权限。 --with-pam: 使用紧密校验模式。Don't use this option if your login/passwd pairs are always refused (but the real fix would be to --with-peruserlimits: 开启每用户同时在线限制,在繁忙的服务器上避免该参数。 --with-pgsql: 使用 Postgres 提供用户数据库。当开启该参数,系统帐号将被忽略,Postgres客户端库将被安装。如果Postgres安装与特殊位置,可以使用--with-pgsql=<directory> 语法。 --with-probe-random-dev: Pure-FTPd 使用 /dev/arandom, /dev/urandom 或者/dev/random 设备来提供严格的随机数字。这些设备通常在编译时被探测。如果想编译一个二进制包在其它主机上运行,该参数将在运行时被探测。该参数在Linux和BSD系统上无效,但可以使用在Solaris 和 QNX上。 --with-puredb: 支持虚拟用户,一个本地的用户数据库,不用于系统帐号。 --with-boring: 显示 "professionnal-looking" 信息。 --with-privsep: 开启权限分离。 --withrendez-vous: 允许在MacOS X上支持Rendezvous。 --without-ascii: 不支持 7-bits 传输 (ASCII)。如果有客户使用windows客户端程序发送脚本和HTML文件,不要使用 该参数或让他们对你大叫。 --without-banner: 不使用初始标语,这是一种通过隐瞒获得的愚蠢的安全。 --without-capabilities: 如果性能库 (libcap) 被找到,Pure-FTPd 将使用其提供安全性。该参数不测试这个库是否存在。如果性能库没有正常工作,可以到ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/ 下载。 --without-globbing: 不包括全局代码。能够减少内存消耗但经常不能工作。大多数用户不需要使用--without-globbing。Globbing是一个不错的功能。 --without-humor: 如果你没有查看过源代码而使用这个参数,就只好祝你幸运了。 --without-inetd: 如果Pure-FTPd总是运行在standalone模式下,这个参数可以节约一些代码字节。不要同时使用 --without-inetd和 --without-standalone参数,可能会导致服务不能运行。这些参数在Pure-FTPd的二进制分发包上都没有使用,所以inetd和standalone都被支持。 --without-iplogging: 为了保守机密而不记录任何IP地址,除非是政治敏感的服务器。 --without-nonalnum: 非法文件名检查。只支持基本的字符。不要盲目的使用这个参数,或者接受用户的抱怨。 --without-unicode: 不接受非拉丁字符。如果服务器文件名不含特殊字符则推荐使用。 --without-shadow: 忽略shadow密码,即使他们被自动探测到。这通常是一个坏主意,除非使用的是PAM, LDAP 或 SQL。Pure-FTPd 支持shadow密码有效期 (包括帐号和密码)。. --without-standalone: FTP 服务器能够正常地以 standalone 模式运行(没有任何超级服务)。如果不需要该功能并且想要节省一些代码字节的话,就可以开启该参数。一个类似于g2s, xinetd或tcpserver 的超级服务将强制运行该服务,但是推荐使用standalone模式。 --without-usernames: 从不在在路径列表里输出用户和组名,而代之以UIDs和GIDs。这将提高安全和性能,但会有用户觉得不够友好。 --without-capabilities: 如果性能库 (libcap) 被找到,Pure-FTPd 将使用其提供安全性。该参数不测试这个库是否存在。如果性能库没有正常工作,可以到ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/ 下载。 --without-usernames: 从不在在路径列表里输出用户和组名,而代之以UIDs和GIDs。这将提高安全和性能,但会有用户觉得不够友好。 "--prefix=" 改变安装路径,默认为 "/usr/local/". 配置文件详解 pure-ftpd.conf ChrootEveryone yes BrokenClientsCompatibility no MaxClientsNumber 50 Daemonize yes MaxClientsPerIP 5 VerboseLog no DisplayDotFiles no AnonymousOnly no NoAnonymous no SyslogFacility ftp DontResolve yes MaxIdleTime 5 #LDAPConfigFile /usr/local/pureftpd/etc/pureftpd-ldap.conf MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf #PGSQLConfigFile /usr/local/pureftpd/etc/pureftpd-pgsql.conf #PureDB /ftp/etc/pureftpd.pdb #ExtAuth /var/run/ftpd.sock #PAMAuthentication yes #UnixAuthentication yes FortunesFile /usr/local/pureftpd/etc/.welcome LimitRecursion 2000 8 AnonymousCanCreateDirs no MaxLoad 4 PassivePortRange 30000 50000 ForcePassiveIP 192.168.0.1 AnonymousRatio 1 10 UserRatio 1 10 AntiWarez no Bind 127.0.0.1,8021 AnonymousBandwidth 8 UserBandwidth 8 Umask 133:022 MinUID 1000 AllowUserFXP yes AllowAnonymousFXP no ProhibitDotFilesWrite no AutoRename no AnonymousCantUpload no TrustedIP 10.1.1.1 LogPID NoChmod yes KeepAllFiles no CreateHomeDir yes Quota 1000:10 PIDFile /ftp/etc/log/pure-ftpd.pid CallUploadscrīpt yes MaxDiskUsage 99 NoRename yes CustomerProof yes pureftpd-mysql.conf MYSQLServer 127.0.0.1 MYSQLPort 3306 MYSQLSocket /var/lib/mysql/mysql.sock MYSQLUser ftp MYSQLPassword 123456 MYSQLDatabase ftpusers MYSQLCrypt md5 # cleartext 明文,crypt,md5,password是Backend password(‘your-passwd’)函数(MYSQL数据库所使用的password()函数) MYSQLGetPW SELECT Password FROM users WHERE User="\L" MYSQLGetUID SELECT Uid FROM users WHERE User="\L" MYSQLDefaultUID 1000 MYSQLGetGID SELECT Gid FROM users WHERE User="\L" MYSQLDefaultGID 1000 MYSQLGetDir SELECT Dir FROM users WHERE User="\L" MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User="\L" MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User="\L" MySQLGetRatioUL SELECT ULRatio FROM users WHERE User="\L" MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L" MySQLForceTildeExpansion 1 |
安装pureftpd(转)超详细版相关推荐
- Windows下安装DM8(超详细版)
目录 版本介绍 环境准备 下载安装包 安装DM8 版本介绍 DM8 采用了独特的双存储引擎架构,行存储引擎和列存储引擎可相互配合.协同工作.同时实现了计算层和存储层的分离,同一内核既支持共享存储式集群 ...
- VScode安装教程(超详细版)
目录 VS Code 简介 第一步:下载 第二步:安装与设置 1. 选择在文件夹中打开,刚刚下载好的安装包 2. 双击运行 3. 勾选"我同意此协议",点击"下一步&qu ...
- Redis第二集:Linux下安装Redis和测试,包含命令代码和问题处理办法,超详细版
Redis第二集:Linux下安装Redis和测试,包含命令代码和问题处理办法,超详细版 一.资源 Linux下的Redis的下载地址 二.安装与测试 上传至自己的Linux平台 解压安装包 tar ...
- DM数据库安装及启动教程(Linux超详细版)
DM数据库安装及启动教程(Linux超详细版) 一.部署前准备工作 1.新建 dmdba 用户 2.修改文件打开最大数 3.挂载镜像文件 4.新建安装目录 二.DM8Linux的安装部署 1.命令行安 ...
- windows安装Weblogic教程(图文教程超详细版)
windows安装Weblogic教程(超详细) 一. 下载 WebLogic 到Oracle官网http://www.oracle.com/ 下载WebLogic(根据自己的情况选择),本文档下载的 ...
- Hadoop——MapReduce相关eclipse配置及Api调用(图文超详细版)(内含遇到错误的解决方法)
一.前情提要 前面两篇文章我们已经成功搭建了Hadoop以及安装了Hive,Sqoop和Mysql数据库,现在我们就来利用Hadoop尝试做一个小实战,实现单词统计! 还没有搭建Hadoop成功的同学 ...
- Docker安装教程(超详细)
Docker安装教程(超详细) 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 http:// ...
- Docker超详细版教程通俗易懂 -之- 入门篇
前言 学习Docker,你可以熟练的操作命令,能够把你的项目构建成Docker镜像! 是后端开发人员必备的技能!下面是自己的学习笔记,希望能帮助到需要的你! 特别感谢哔哩哔哩狂神:[狂神说Java]D ...
- Docker超详细版教程通俗易懂 -之- 进阶篇
此刻的你,已成功入门Docker.让我们一起继续深造(内容不难,很有意思) 容器数据卷 什么是容器数据卷 docker的理念回顾:将应用和环境打包成一个镜像! 数据?如果数据都在容器中,那么我们容器删 ...
最新文章
- linux的ftp服务器
- 1.5 Kali Linux策略
- 互联网协议 — IPSec 安全隧道协议 — NAT-T
- VS2015编译ffmpeg 3.4.2
- oracle数据导入sqlldr小例子
- java 不可修改的map_Java中如何实现不可变Map详解
- std::dynamic_pointer_cast细节用法
- xshell进入桌面_Xshell怎么远程桌面连接Linux系统
- React之组件通信
- IEEE 754——计算机中浮点数的表示方法
- tensorflow实现LeNet-5模型
- 十大经典排序算法总结 (Python)
- Hadoop安装教程(单机/伪分布式配置)
- 吉他调音器(1)之十二平均律
- Kotlin的SAM转换
- 行人重识别多个数据集格式统一为market1501格式
- srsLTE 源码分析 UE_09 随机接入 之PRACH发送
- 5家同日在港股上市4家破发:有公司获500倍认购,康圣环球等惨烈
- 3、乐趣国学—“色难”
- 【Java开发岗:SpringCould篇】