前往顾页
以后地位: 主页 > 收集编程 > Php实例教程 >

Pure-FTPd 建设条记

时候:2018-08-14 21:29来源:知行网www.zhixing123.cn 编辑:麦田守望者

PureFTPd是免费、宁静、适合国际标准的FTP 办事器法度。它并没有那些无用而又花梢的服从,而是将重点放到了进步效力和易用性上,奇特的合用服从为小我用户和托管办事供应商供应了一个新的挑选。

pure-ftpd

下载:

从官方网站下载最新的不变版本http://www.pureftpd.org/ 其最新版本是1.0.36
下载地点为:http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.bz2
体系环境:
CentOS 6.2
PureFTPd 1.0.29

编译装置:

# tar -xvjf pure-ftpd-1.0.29.tar.bz2
# cd pure-ftpd-1.0.29
# ./configure --help # 检察编译选项

PureFTPd有很多的编译建设选项,下面就列出部分首要的建设

--prefix=PREFIX
--with-sysquotas 利用体系磁盘配额 (非假造)
--with-altlog 支撑挑选日记格局(近似Apache)
--with-puredb 支撑假造用户 (FTP登岸用户而非体系用户)
--with-extauth 支撑扩展考证模块
--with-pam 启用PAM考证支撑 (默许=禁用)
--with-cookie 启用Cookie支撑 (-F 选项)
--with-throttling 支撑带宽节制 (默许=禁用)
--with-ratios 支撑 上传/下载 速率节制
--with-quotas 支撑 .ftpquota 文件(指定磁盘配额利用)
--with-ftpwho 支撑pure-ftpwho(检察在线用户的法度)
--with-largefile 支撑年夜于2G的文件
--with-welcomemsg 支撑 welcome.msg 向后兼容(已颠末时)
--with-uploadscript 上传后许可履行外部脚本 (测试阶段)
--with-virtualhosts 在不合的IP地点供应假造办事器服从
--with-virtualchroot 许可在chroot的环境下经由过程适合连接跳转到外部
--with-diraliases 启用目次别号
--with-nonroot 浅显形式或说是限定形式. 如果你在该办事器上没有root权限
那只需启用该项
--with-peruserlimits 支撑每个用户的并发限定
--with-language= 说话支撑< english | traditional-chinese | simplified-chinese>
--with-ldap 在LDAP目次中供应用户数据库
--with-mysql 在MySQL数据库中存放用户数据
--with-pgsql 在PostgreSQL数据库中存放用户数据
--with-privsep 启用权限分离
--with-tls 启用 SSL/TLS 支撑 (测试阶段, 需求装置 OpenSSL)
--with-certfile= 证书文件 (默许目次: /etc/ssl/private/pure-ftpd.pem)
--with-rfc2640 启用兼容 RFC 2640 支撑(UTF-8 编码的文件名,测试阶段,需求装置iconv)
--with-everything 启用年夜多数选项,编译完服从版本的办事器端。

为了便利起见,我在这里利用了几个根基的编译号令来建设编译一个全服从版本的法度

# ./configure --prefix=/usr/local/pure-ftpd/ --with-language=simplified-chinese --with-everything

重视:如果要指定装置途径,那么途径最好是/usr/local/pure-ftpd或/usr/local/pureftpd/ 或干脆就不指定。如果不指定目次的话默许是将法度的文件装置到/usr/local下的呼应目次下。我这里指定目次是为了便于办理。至于为甚么装置目次也有如此的讲究,鄙人面再做申明。

# make && make check && make install
# mkdir /usr/local/pure-ftpd/etc
# cp configuration-file/pure-ftpd.conf /usr/local/pure-ftpd/etc/ # 建设文件拷贝到/etc目次下
# cp configuration-file/pure-config.pl /usr/local/pure-ftpd/sbin/
//仿佛make install健忘了将这个文件复制到呼应的目次了,我们只需手动本身做了
# chmod 755 /usr/local/pure-ftpd/sbin/pure-config.pl # 设置呼应的权限

体系集成:

这里所说的体系集成绩是制定体系变量,使体系可以找到我们方才装置的法度,最简朴的体例就是将一些可履行的法度,man文件在体系指定的path中建立标记链接便可以了。当然我们也能够点窜体系变量,如PATH变量,man page的建设文件等等。但是我还是习惯在呼应的目次建立适合连接。

# cd /usr/local/bin/
# ln -s /usr/local/pure-ftpd/bin/* .
# ln -s /usr/local/pure-ftpd/sbin/* /usr/local/sbin/
# ln -s /usr/local/pure-ftpd/man/man8/* /usr/local/share/man/man8/

PureFTPd建设:

PureFTPd 法度的一年夜特性就是官方保举利用号令行参数的情势来启动办事,而非我们常常利用的建设文件加号令的情势来启动办事。不过PureFTPd也是支撑读取建设文件的。只不过要用到一个Python编写的脚本,操纵这个脚原本将建设文件中的值转换为号令行参数!

(1)建立一个匿名拜候的FTP办事器

匿名用户拜候的FTP办事器比较好建设,只需求做一下与匿名用户相关的建设便可。如果只开启匿名拜候的ftp办事器那么其ftp目次就是体系中ftp用户的home目次。可利用finger号令来检察:

# finger ftp
Login: ftp Name: FTP User
Directory: /var/ftp Shell: /sbin/nologin
Never logged in.
No mail.
No Plan.

当然这个目次我也能够经由过程点窜/etc/passwd文件来点窜。但要记着,这个目次只针对匿名用户

点窜匿名用户上传/下载目次,和相关的权限

# usermod -d /home/ftp
# mkdir /home/ftp;chown ftp.ftp /home/ftp

点窜相关建设:

# vi /etc/pure-ftpd.conf
ChrootEveryone yes # 启用chroot
BrokenClientsCompatibility yes # 兼容不合客户端
Daemonize yes # 背景运行
MaxClientsPerIP 20 # 每个ip最年夜连接数
VerboseLog yes # 记录日记
DisplayDotFiles no # 显现埋没文件
AnonymousOnly yes # 只许可匿名用户拜候
NoAnonymous no # 运行匿名用户连接
SyslogFacility none # 不将日记在syslog日记中显现
DontResolve yes # 不进行客户端DNS剖析
MaxIdleTime 15 # 最年夜余暇时候
LimitRecursion 2000 8 # 浏览限定,文件2000,目次8层
AnonymousCanCreateDirs yes # 匿名用户可以建立目次
MaxLoad 4 # 超出负载后避免下载
PassivePortRange 45000 50000 # 主动形式端口范围
AnonymousRatio 1 10 # 匿名用户上传/下载比率
AntiWarez yes # 避免下载匿名用户上传但未经历证的文件
AnonymousBandwidth 200 # 匿名用户带脱期制(KB)
Umask 133:022 # 建立文件/目次默许掩码
MinUID 100 # 最年夜UID限定
AllowUserFXP no # 仅运行用户进行FXP传输
AllowAnonymousFXP no # 对匿名用户和非匿名用户许可进行匿名 FXP 传输
ProhibitDotFilesWrite no # 不克不及删除/写入埋没文件
ProhibitDotFilesRead no # 避免读取埋没文件
AutoRename yes # 有同名文件时主动从头定名
AnonymousCantUpload no # 不许可匿名用户上传文件
AltLog clf:/var/log/pureftpd.log # clf格局日记文件地位
MaxDiskUsage 99 # 当磁盘利用量打到99%时避免上传
CustomerProof yes # 避免号令误操纵

建设一个匿名拜候的办事器,下面的参数就够用了。可以按照本身的请求做一些具有针对性

的设置。详细的参数申明拜见附录

启动pureFTPd办事

# pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf

屏幕上会显现下面的信息

Running: /usr/local/pure-ftpd/sbin/pure-ftpd -A -b -B -C20 -d -e -fnone -H -I15 -L2000:8 -M -m4 - p45000:50000 -q1:10 -s -t200 -U133:022 -u100 -r -Oclf:/var/log/pureftpd.log -k99 -Z

(2)建立一个假造用户考证的FTP办事器

建设 FTP登录账户
pure-ftp默许采取Linux的root用户。假造用户则可以或许更好的节制拜候权限。假造用户是和Linux体系用户关联的自力的账户体系。所以在建立假造用户之前最好先建立一个体系的账户和组。
建立一个ftpgroup组和ftpuser用户

# groupadd ftpgroup
# useradd -g ftpgroup -d /dev/null -s /etc ftpuser

接上去所有与假造用户相关的操纵都可以用‘pure-pw’号令来完成。当然你也能够手动的来编辑呼应的文件。

下面为假造用户存储文件的详细格局,一行一个用户

<account>:<password>:<uid>:<gid>:<gecos>:<home directory>:<upload bandwidth>
:<download bandwidth>:<upload ratio>:<download ratio>:<max numberof connections>
:<files quota>:<size quota>:<authorized local IPs>:<refusedlocal IPs>
:<authorized client IPs>:<refused client IPs>:<timerestrictions>

暗码字段是加密后的暗码,加密体例与体系的用户暗码加密体例不异,用户可以履行setup号令建设。
除account, password, uid, gid, home directory字段外,其他的字段可以为空

利用号令增加一个假造用户
pure-pw号令的格局

pure-pw useradd <login> [-f <passwd file>] -u <uid> [-g <gid>]
-D/-d <home directory> [-c <gecos>]
[-t <download bandwidth>] [-T <upload bandwidth>]
[-n <max number of files>] [-N <max Mbytes>]
[-q <upload ratio>] [-Q <download ratio>]
[-r <allow client host>[/<mask>][,...]
[-R <deny client host>[/<mask>][,...]
[-i <allow local host>[/<mask>][,...]
[-I <deny local host>[/<mask>][,...]
[-y <max number of concurrent sessions>]
[-z <hhmm>-<hhmm>] [-m]

比方:

pure-pw useradd joe -u ftpuser -d /home/ftpusers/joe

回车后提示输入两次暗码:
利用 -d 参数指定一个用户的home目次后,该用户就被牢固到这个目次了,其不克不及切换到下级目次如果要想让用户可以拜候到别的目次,那么利用-D参数来指定hone目次。
如果pureFTPd的建设文件中指定了CreateHomeDir yes 的话,/home/ftpusers/joe 目次是没有需求手动建立的。当用户初次登录时如果目次不存在法度会主动建立呼应的目次。
利用-z参数可以指定用户只能在一天中的某个时候段可以登岸ftp办事器。比方 -z 0900-1800那么joe只能在早上9点和下午6点这个时候段登岸。重视:如果设置登岸时候的用户已经由过程考证登岸到ftp办事器上了,那么所做的登岸时候限定只能在他下次登岸考证的时候才气见效。
-r 与 -R 参数是束缚用户从哪些IP登岸的。可利用IP/mask的情势,如-r 192.168.1.0/24多个段用逗号隔开,如:-r 192.168.1.0/24,10.1.0.0/16,127.0.0.1/32 。伶仃的IP:-r 192.168.1.4,10.1.1.5主机名:-r bla.bla.net,yopcitron.com。和一些相兼容的格局。
-y 参数是限定同一时刻一个用户最多能建议多少个会话(sessions)。''或0 代表无穷制。该选项可以降落体系负载。结果同建设文件中的 MaxClientsPerIP
ok,现在用户 "joe" 已建立成功了默许的假造用户列表文件存储在 装置目次的/etc/目次下,可利用-f参数指定文件的存储途径
检察一下文件内容

# cat /usr/local/pure-ftpd/etc/pureftpd.passwd
joe:$1$ocfl1XW0$R0JaEh3CjGFByGbdN7qNy/:501:501::/home/ftpusers/joe/./::::::::::::

暗码字段是颠末加密的。

变动用户信息:
假造用户建立以后,你也能够经由过程pure-pw号令来点窜其相关的信息,如限定下载
带宽、磁盘配额、用户全名、下载上传率等等
比方:我要点窜用户joe的最年夜文件数为1000个,年夜小为10MB,号令以下:

# pure-pw usermod joe -n 1000 -N 10

检察一下假造用户列表文件:

# cat /usr/local/pure-ftpd/etc/pureftpd.passwd
joe:$1$ocfl1XW0$R0JaEh3CjGFByGbdN7qNy/:501:501::/home/ftpusers/joe/./::::::1000:10485760:::::

重置用户属性:

要禁用文件数配额,履行 pure-pw usermod -n ''
要禁用文件年夜小配额,履行 pure-pw usermod -N ''
要禁用上传/下载比率,履行 pure-pw usermod -q '' -Q ''
要禁用下载带脱期制,履行 pure-pw usermod -t ''
要避免上传带脱期制,履行 pure-pw usermod -T ''
要避免IP地点过滤,利用 pure-pw usermod <-i,-I,-r or -R> ''
要避免登岸时候限定,履行 pure-pw usermod -z ''
要避免最年夜并发数节制,履行 pure-pw usermod -y ''

删除用户:

利用pure-pw userdel 号令可以删除一个已存在的用户
pure-pw userdel <login> [-f <passwd file>] [-m]
如:pure-pw userdel joe
用户home目次中的文件不会被删除,需求手动删除

变动暗码:
变动用户暗码的号令
# pure-pw passwd <login> [-f <passwd file>] [-m]

操纵pure-pw号令检察用户信息

# pure-pw show joe
Login : joe
Password : $1$ocfl1XW0$R0JaEh3CjGFByGbdN7qNy/
UID : 501 (ftpuser)
GID : 501 (ftpgroup)
Directory : /home/ftpusers/joe/./
Full name :
Download bandwidth : 0 Kb (unlimited)
Upload bandwidth : 0 Kb (unlimited)
Max files : 0 (enabled)
Max size : 10 Mb (enabled)
Ratio : 0:0 (unlimited:unlimited)
Allowed local IPs :
Denied local IPs :
Allowed client IPs :
Denied client IPs :
Time restrictions : 0000-0000 (unlimited)
Max sim sessions : 0 (unlimited)

利用变动:首要:你可以经由过程下面提到的号令或手动的来增加/删除用户,点窜用户相关限定属性等等,但是这些窜改都是针对假造用户列表文件的(pureftpd.passwd)。pureFTPd办事器法度是不熟谙这个文件的。要想让ftp server可以或许辨认的我们所做的变动,必必要经由过程pure-pw mkdb 号令天生PureDB格局的文件,实际上PureDB数据文件就是从pureftpd.passwd文件转换过去的,为了ftp server可以更快的检索到指定的用户。

比方:
# pure-pw mkdb -> 当利用pure-pw 天生假造用户以后必然要利用pure-pw mkdb号令天生数据库文件,不然pure-ftp启动以后也无法考证假造用户
默许环境下会在软件装置目次/etc目次下天生pureftpd.pdb文件。
如:/usr/local/pure-ftpd/etc/pureftpd.pdb

或直接指定天生的pdb文件和参照的假造用户列表文件
如:pure-pw mkdb /etc/accounts/myaccounts.pdb -f /etc/accounts/myaccounts.txt

当变动了假造用户列表文件以后都要从头天生pdb数据库文件。但不需求从头启动pureFTPd办事。可利用-m参数来将变动当即利用到pdb数据库文件中,如:
# pure-pw passwd joe -m
当输入完两次新暗码以后,暗码的变动就同时利用到列表文件和pdb数据库文件中了。是不是是很便利!

启用假造用户考证登岸:
1、编译ftp办事器端的时候必然要插手--with-puredb 选项,或干脆--with-everything
2、建设文件中插手PureDB /etc/pureftpd.pdb 或启动办事器法度的时候插手参数
-l puredb/usr/local/pure-ftpd/etc/pureftpd.pdb
3、必然要重视本身的pdb文件的地位在哪

建设文件 vi /usr/local/pure-ftpd/etc/pure-ftpd.conf

ChrootEveryone yes # 启用chroot
BrokenClientsCompatibility yes # 兼容不合客户端
Daemonize yes # 背景运行
MaxClientsPerIP 20 # 每个ip最年夜连接数
VerboseLog yes # 记录日记
DisplayDotFiles no # 显现埋没文件
AnonymousOnly no # 只许可匿名用户拜候
NoAnonymous yes # 不许可匿名用户连接
SyslogFacility none # 不将日记在syslog日记中显现
DontResolve yes # 不进行客户端DNS剖析
MaxIdleTime 15 # 最年夜余暇时候
LimitRecursion 2000 8 # 浏览限定,文件2000,目次8层
AnonymousCanCreateDirs no # 匿名用户可以建立目次
MaxLoad 4 # 超出负载后避免下载
PassivePortRange 45000 50000 # 主动形式端口范围
#AnonymousRatio 1 10 # 匿名用户上传/下载比率
UserRatio 1 10 # 所有效户上传/下载比率
AntiWarez yes # 避免下载匿名用户上传但未经历证的文件
#AnonymousBandwidth 200 # 匿名用户带脱期制(KB)
UserBandwidth 8 # 所有效户最年夜带宽(KB)
Umask 133:022 # 建立文件/目次默许掩码
MinUID 100 # 最年夜UID限定
AllowUserFXP no # 仅运行用户进行FXP传输
AllowAnonymousFXP no # 对匿名用户和非匿名用户许可进行匿名 FXP 传输
ProhibitDotFilesWrite no # 不克不及删除/写入埋没文件
ProhibitDotFilesRead no # 避免读取埋没文件
AutoRename yes # 有同名文件时主动从头定名
AnonymousCantUpload yes # 不许可匿名用户上传文件
AltLog clf:/var/log/pureftpd.log # clf格局日记文件地位
PureDB /usr/local/pure-ftpd/etc/pureftpd.pdb # 用户数据库文件
MaxDiskUsage 99 # 当磁盘利用量打到99%时避免上传
CreateHomeDir yes # 如果假造用户的目次不存在则主动建立
CustomerProof yes # 避免号令误操纵

启动pureFTPd办事:

# pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf

若要pureFTPd随体系启动,将号令插手到 /etc/rc.local文件中,以下

# echo "pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf " >> /etc/rc.local

附录一:pure-config.pl 文件

#! /usr/bin/perl

# (C) 2001-2006 Aristotle Pagaltzis
# derived from code (C) 2001-2002 Frank Denis and Matthias Andree

use strict;

my ($conffile, @flg) = @ARGV;

my $PUREFTPD;
-x && ($PUREFTPD=$_, last) for qw(
${exec_prefix}/sbin/pure-ftpd
/usr/local/pure-ftpd/sbin/pure-ftpd
/usr/local/pureftpd/sbin/pure-ftpd
/usr/local/sbin/pure-ftpd
/usr/sbin/pure-ftpd
);

my %simple_switch_for = (
IPV4Only => "-4",
IPV6Only => "-6",
ChrootEveryone => "-A",
BrokenClientsCompatibility => "-b",
Daemonize => "-B",
VerboseLog => "-d",
DisplayDotFiles => "-D",
AnonymousOnly => "-e",
NoAnonymous => "-E",
DontResolve => "-H",
AnonymousCanCreateDirs => "-M",
NATmode => "-N",
CallUploadScript => "-o",
AntiWarez => "-s",
AllowUserFXP => "-w",
AllowAnonymousFXP => "-W",
ProhibitDotFilesWrite => "-x",
ProhibitDotFilesRead => "-X",
AllowDotFiles => "-z",
AutoRename => "-r",
AnonymousCantUpload => "-i",
LogPID => "-1",
NoChmod => "-R",
KeepAllFiles => "-K",
CreateHomeDir => "-j",
NoRename => "-G",
CustomerProof => "-Z",
NoTruncate => "-0",
);

my %string_switch_for = (
FileSystemCharset => "-8",
ClientCharset => "-9",
SyslogFacility => "-f",
FortunesFile => "-F",
ForcePassiveIP => "-P",
Bind => "-S",
AnonymousBandwidth => "-t",
UserBandwidth => "-T",
TrustedIP => "-V",
AltLog => "-O",
PIDFile => "-g",
);

my %numeric_switch_for = (
MaxIdleTime => "-I",
MaxDiskUsage => "-k",
TrustedGID => "-a",
MaxClientsNumber => "-c",
MaxClientsPerIP => "-C",
MaxLoad => "-m",
MinUID => "-u",
TLS => "-Y",
);

my %numpairb_switch_for = (
LimitRecursion => "-L",
PassivePortRange => "-p",
AnonymousRatio => "-q",
UserRatio => "-Q",
);

my %numpairc_switch_for = (
Umask => "-U",
Quota => "-n",
PerUserLimits => "-y",
);

my %auth_method_for = (
LDAPConfigFile => "ldap",
MySQLConfigFile => "mysql",
PGSQLConfigFile => "pgsql",
PureDB => "puredb",
ExtAuth => "extauth",
);

my $simple_switch = qr/(@{[join "|", keys %simple_switch_for ]})\s+yes/i;
my $string_switch = qr/(@{[join "|", keys %string_switch_for ]})\s+(\S+)/i;
my $numeric_switch = qr/(@{[join "|", keys %numeric_switch_for ]})\s+(\d+)/i;
my $numpairb_switch = qr/(@{[join "|", keys %numpairb_switch_for ]})\s+(\d+)\s+(\d+)/i;
my $numpairc_switch = qr/(@{[join "|", keys %numpairc_switch_for ]})\s+(\d+):(\d+)/i;
my $auth_method = qr/(@{[join "|", keys %auth_method_for ]})\s+(\S+)/i;

die "Usage: pure-config.pl [extra options]\n"
unless defined $conffile;

open CONF, "< $conffile" or die "Can't open $conffile: $!\n";

!/^\s*(?:$|#)/ and (chomp, push @flg,
/$simple_switch/i ? ($simple_switch_for{$1}) :
/$string_switch/i ? ($string_switch_for{$1} . $2) :
/$numeric_switch/i ? ($numeric_switch_for{$1} . $2) :
/$numpairb_switch/i ? ($numpairb_switch_for{$1} . "$2:$3") :
/$numpairc_switch/i ? ($numpairc_switch_for{$1} . "$2:$3") :
/$auth_method/i ? ("-l" . "$auth_method_for{$1}:$2") :
/UnixAuthentication\s+yes/i ? ("-l" . "unix") :
/PAMAuthentication\s+yes/i ? ("-l" . "pam") :
()
) while ;

close CONF;

print "Running: $PUREFTPD ", join(" ", @flg), "\n";
exec { $PUREFTPD } ($PUREFTPD, @flg) or die "cannot exec $PUREFTPD: $!";

附录二:pure-ftpd.conf 文件

# vi sample pure-ftpd.conf
# 将每个用户限定在本身的home目次下
ChrootEveryone yes

# 兼容ie等比较非正轨化的ftp客户端。默许:no
BrokenClientsCompatibility yes

# 最年夜用户连接数。默许:50
MaxClientsNumber 2000

# 背景形式(保护过程形式)
Daemonize yes

# 同一个IP许可连接数(可以避免迅雷、慢车等法度猖獗开线程)。默许:8
MaxClientsPerIP 20

# 如果要记录所有的客户端号令,请设置为‘yes’该选项可以将日记同步复制到日记办事器。默许:no
VerboseLog yes

# 显现埋没文件。默许:yes
DisplayDotFiles yes

# 不许可考证用户。只作为匿名ftp办事器。默许:no
AnonymousOnly no

# 不许可匿名用户连接。只许可考证用户连接。默许:no
NoAnonymous no

# 该选项是说将何种范例的日记同步写入到syslog中。
# 范例包含(auth, authpriv, daemon, ftp, security, user, local*)
# 默许是"ftp"如果不想将ftp的日记显现在/var/log/message中。则禁用便可: "none"
SyslogFacility none

# 显现 cookies
# FortunesFile /usr/share/fortune/zippy

# 在日记文件中不剖析主机名。日记越详细所需求的带宽也就越年夜。如果办事器的
# DNS剖析有问题或办事器的负载过年夜,建议将该选项建设yes。默许为:yes
DontResolve yes

# 最年夜余暇时候。单位:分钟 (默许 = 15 分钟)
MaxIdleTime 15

# LDAP 建设文件
# LDAPConfigFile /etc/pureftpd-ldap.conf

# MySQL 建设文件 (概况见 README.MySQL)
# MySQLConfigFile /etc/pureftpd-mysql.conf

# Postgres 建设文件 (概况见 README.PGSQL)
# PGSQLConfigFile /etc/pureftpd-pgsql.conf

# PureDB 用户数据库 (概况见 README.Virtual-Users)
# PureDB /etc/pureftpd.pdb

# pure-authd 的 socket 途径 (详见 README.Authentication-Modules)
# ExtAuth /var/run/ftpd.sock

# 如果要利用PAM考证,打消下面行的注释
# PAMAuthentication yes

# 如果要利用/etc/passwd 文件考证。打消下面行的注释
# UnixAuthentication yes

# 重视:LDAPConfigFile, MySQLConfigFile, PAMAuthentication 与 UnixAuthentication
# 只能启用一个,但他们可以结合利用。比方:你启用了 MySQLConfigFile 以后又启用了
# UnixAuthentication那么同一时刻只需SQL server 可用。如果SQL authentication 失败,
# 比方用户没有找到,那么体系会重试其他的体例来考证,这时候辰它就会找/etc/passwd 和
# /etc/shadow文件. 如果经由过程 SQL 考证的成果是因为暗码错误,那么就不会在进行下面的
# 考证了。由此得知,考证体例可以写多个,但同一个时刻只需一个事情,且当考证时找不
# 到信息时才会进行下一个考证体例。但当考证错误时就停止考证了。

# 'ls' 递归限定。第一个参数是最年夜可显现的文件数。第二个参数是子文件夹深度
LimitRecursion 2000 8

# 匿名用户是不是可以建立新文件夹
AnonymousCanCreateDirs no

# 如果体系负载超越下面所给的数字,那么匿名用户将无法下载
MaxLoad 4

# 在主动连接形式下为其分派的端口范围。便于制定防火墙建设。
PassivePortRange 45000 50000

# 强迫某个IP地点事情在 PASV/EPSV/SPSV 形式. - for NAT.
# ForcePassiveIP 192.168.0.1

# 匿名用户上传/下载比率
# AnonymousRatio 1 10

# 所有效户 上传/下载 比率。该选项可以代替下面的选项
# UserRatio 1 10

# 避免下载所有者为‘ftp’的文件。比方:那些匿名用户上传后未被本地办理员考证的文件。
AntiWarez yes

# 用来监听的IP地点和端口 (默许=所有 IP 和 21 端口).
# Bind 127.0.0.1,21

# 匿名用户最年夜带脱期制,单位 KB/s
AnonymousBandwidth 200

# 所有效户的最年夜带脱期制(包含匿名)单位 KB/s
# 没有需求同时开启 AnonymousBandwidth 和 UserBandwidth
# UserBandwidth 8

# 新建文件默许掩码. <文件掩码>:<目次掩码>
# 为了宁静起见可以设置为 177:077
Umask 133:022

# 考证登任命户的最小UID
MinUID 100

# 仅许可认证用户进行 FXP 传输
AllowUserFXP no

# 对匿名用户和非匿名用户许可进行匿名 FXP 传输
AllowAnonymousFXP no

# 用户不克不及删除/写入埋没文件,即便是文件的具有者也不许可。
# 如果 TrustedGID 选项为 enabled 文件所属组用户可以拜候埋没文件
ProhibitDotFilesWrite no

# 避免读取埋没文件 (如 .history, .ssh...)
ProhibitDotFilesRead no

# 永不覆盖文件。如果上传的文件已存在,体系会主动将其定名为file.1, file.2, file.3, ...
AutoRename yes

# 不许可匿名用户上传文件 (no = 许可上传)
AnonymousCantUpload no

# 仅许可来自以下IP地点的非匿名用户连接。你可利用这个指令来翻开几个公
# 网IP来供应匿名FTP,而保存一个公有的防火墙庇护的IP来进行长途办理。你
# 还可以只许可一内网地点进行认证,而在别的一个IP上供应纯匿名的FTP办事。
#TrustedIP 10.1.1.1

# 如果你要在登岸日记的每行增加PID标识表记标帜,去失落下行的注释
#LogPID yes

# 利用近似于Apache格局建立一个附加的日记文件,如:
# fw.c9x.org - jedi [13/Dec/1975:19:36:39] "GET /ftp/linux.tar.bz2" 200 21809338
# 这个日记文件可以被www流量阐发东西来措置
AltLog clf:/var/log/pureftpd.log

# 利用优化过的格局为统计陈述建立一个分外的日记文件
# AltLog stats:/var/log/pureftpd.log

# 利用标准的W3C格局建立一个分外的日记文件。(与年夜部分的贸易日记阐发器兼容)
# AltLog w3c:/var/log/pureftpd.log

# 不许可利用chmod号令.用户不克不及点窜他们上传文件的属性
#NoChmod yes

# 许可用户规复和上传文件,但不克不及够上除他们
#KeepAllFiles yes

# 用户主目次不存在的话,主动建立目次
#CreateHomeDir yes

# 启用假造磁盘配额。第一个参数是最年夜文件数,第二个参数是统共的年夜小,单位是MB
# 如: 1000:10 限定每个用户最年夜文件1000个且不克不及超越10MB
#Quota 1000:10

# 如果你在编译 pure-ftpd 时插手了‘standalone’选项,那么你可以变动pid文件地位
# 默许目次 /var/run/pure-ftpd.pid
#PIDFile /var/run/pure-ftpd.pid

# 如果你在编译 pure-ftpd 时插手了 pure-uploadscript 选项,这个指令将会使
# pure-ftpd 发送关于新上传的环境信息到 /var/run/pure-ftpd.upload.pipe,
# 如许 pure-uploadscript 就可以读然后调用一个脚本去措置新的上传。
#CallUploadScript yes

# 这个选项对匿名上传的办事器是很有效的。/var/ftp 在 /var 里时,需求保存必然
# 磁盘空间来庇护日记文件。当地点磁盘分区利用超越百分之 X 时,将不在接管新的上传。
MaxDiskUsage 99

# 如果不想让用户来重定名文件,请将其设置为yes
#NoRename yes

# 'customer proof' : 选项可以禁止浅显用户因误操纵而履行的错误号令
# 如:'chmod 0 public_html', 这是有效的号令,但履行完号令以后用户
# 就将他们本身的文件锁定了,这时候你的费事就来了,你需求给用户处理这
# 些因为用户而酿成的笨拙问题。如果你确信的你用户都具有一些unix根本
# 知识的话,那么该选项就没有需求设置,不然建议启用它。
CustomerProof yes

# 所有效户都做一样的限定。只需编译时插手了--with-peruserlimits 选项
# 才可以启用。格局为: <每个用户最年夜许可的过程>:<匿名用户最年夜过程>
# 比方:3:20 同一个认证用户最年夜可以有3个同时活动的过程。并且同时最多
# 只能有20个匿名用户过程
# PerUserLimits 3:20

# 当文件上传时,办事器上之前已有一个同名的文件时,旧的文件既不会被挪动
# 也不会被删除。在新文件上传结束之前会将上传的部分临时放到一个临时的文件
# 中,当上传结束以后会主动的切换到新上传的文件。比方:当办事器上有一个PHP
# 脚本正在履行,但我现在要上传一个新的PHP脚本,那么当我在上传结束以后才将
# 旧的文件切换到新的文件。而不是像某些法度那样在开端上传的时候就将旧的文件
# 覆盖失落了,如许做的目标就是可以最年夜程度的减少正在运行中的法度错误。该选项
# 与假造配额不克不及同时利用。
# NoTruncate yes

# 该选项可以接管3个可选值:
# 0 : 禁用 SSL/TLS 加密层 (默许).
# 1 : 同时接管传统的和加密的连接
# 2 : 回绝没有颠末 SSL/TLS 宁静考证的连接,包含匿名连接
# 在没有肯定下面三个问题之前不要自觉标打消注释:
# 1) 编译PureFTPd时是不是启用了 SSL/TLS 支撑 (--with-tls),
# 2) 体系中是不是包含一个有效的证书
# 3) 开启后只需兼容的客户端才气登岸
# TLS 1

# 在 standalone 形式下只监听IPV4的地点 (与禁用 IPv6 不异)
# 默许是IPV4与IPV6同时监听
# IPV4Only yes

# 在 standalone 形式下只监听IPV6的地点 (与禁用 IPv4 不异)
# IPV6Only yes

# 文件名的UTF-8支撑
# FileSystemCharset big5
# ClientCharset big5

顶一下
(0)
0%
踩一下
(0)
0%
------分开线----------------------------
标签(Tag):PureFTPd PureFTPd建设文件
------分开线----------------------------
颁发评论
请自发遵循互联网相关的政策法规,严禁公布色情、暴力、革命的谈吐。
评价:
神色:
考证码:点击我更换图片
猜你感兴趣