天天看点

proftpd 小技巧

在proftpd.conf里面加入两行:

UseReverseDNS off

IdentLookups off

防止proftpd进行DNS反查以及对用户端进行ident确认。

===

proftpd如何允许以root身份登录

在配置文件中使用下面的配置:

RootLogin on

===

如何让匿名用户使用proftpd服务器

建立一个用户,用户名为guest,然后在配置文件中使用下面的配置:

<Anonymous ~guest>

AnonRequirePassword off

User private

Group private

RequireValidShell off

<Directory *>

<Limit WRITE>

DenyAll

</Limit>

</Directory>

</Anonymous>

===

如果要支持下载续传,那么必须指定:

AllowRetrieveRestart on

如果要支持上传续传,那么必须指定:

AllowOverwrite on

AllowStoreRestart on

必须同时指定AllowOverwrite和AllowStoreRestart的原因是由于重新上传或者续传也是属于覆盖文件。

同时记得不要同时使用HiddenStor和AllowStoreRestart。

===

在配置文件中设置:

ShowDotFiles on

这样就能通过ls看见以"."号开头的文件

好好学习,天天吃饭

small-bird

===

proftpd如何实现磁盘限额

首先编译的时候指定--with-modules的时候要包含mod_quota。

然后在配置文件中使用:

Quotas on

QuotaCalc on

DefaultQuota 8000

QuotaBlockSize 1024

QuotaBlockName kb

就可以实现磁盘限额。其中DefaultQuota说明用户只能用8000个block,而QuotaBlockSize则指明每个block大小是1024byte也就是1k。QuotaBlockName只在提示中出现,告诉用户block的单位。

===

proftpd环境下如何将用户限制在自己的home目录下?

修改proftpd.conf,加入

DefaultRoot ~

(将用户限制在自己的目录下)

或者

DefaultRoot ~ group1, !group2,!group3

(将用户限制在自己的目录下,对group1有效,对group2,group3无效)

===

如何让proftpd只监听在特定IP

如果一台机器有两个或者多个IP,比如192.168.0.1和172.16.0.1,那么缺省情况下ftp到这两个ip都可以连上这个ftp server,有些情况下要求只能ftp到192.168.0.1而不能ftp到172.16.0.1,该如何处理呢?

在proftpd.conf里面设置:

Bind 192.168.0.1

SocketBindTight on

但是这个配置只能在standalone模式下面才能生效。

===

proftpd中MaxClients和MaxInstances有什么不同

为了有效利用系统资源,防止过多连接,有时候可以在proftpd.conf里面有这样的配置:

MaxClients 100

但是有时候却是看到这样的配置:

MaxInstances 100

这两个有什么区别呢?

MaxInstances设置的是proftpd产生的子进程的个数,而MaxClients限制的是登录用户的个数。而客户端只要产生一个连接,即使不登录,也会导致proftpd产生一个子进程。

如果配置文件中限制MaxClients 100的时候,第101个连上的用户会被提示允许连接的客户端个数已达上限,同时断开连接。而设置MaxInstances 100的时候,第101个连接的用户不会得到任何提示,而服务器拒绝接受任何连接。

====

Proftpd如何限制某个用户的同时连接数

Proftpd 1.2.7rc1以后提供了一个新参数-MaxClientsPerUser。在配置文件中添加下列参数:

MaxClientsPerUser 5

这样就能限制每个用户只能同时有5个连接,使用例如flashget等下载工具的时候就最多只能分成5块下载。

===

如何不用kill proftpd的进程而停止ftp服务

  ftpshut命令可以使得管理员不用停止proftpd进程而禁止所有连接,同时送出停止的信息。而且可以做到定时停止、允许当前存在的连接是马上中断还是到用户自己中断。

  要重新提供ftp服务只要删除/etc/shutmsg。

===

如何查看当前连接到proftpd的用户

--------------------------------------------------------------------------------

使用ftpwho命令,可以查看当前连接的用户相关信息,比如客户端机器名、用户名、连接时间、当前状态、进程号等。比使用ps命令来查看方便多了。

===

ftpshut

  这个程序的主要功能是生成文件/etc/shutmsg,也就是我们在前面/etc/ftpaccess中设定的shutdown命令,ftpshut的使用格式如下:

ftp <-l min> <-d min> time <说明>

  各个参数的说明如下:

-l 这个参数设定在关闭FTP服务器功能前多长时间停止用户的连接;

-d 这个参数设定在关闭FTP服务器功能前多长时间将用户断线;

Time 这个参数指定关闭FTP服务器功能的时间,如想

    在8点半关闭机器,这里可以写0830。

===

Proftpd如何设置允许非正常shell的用户登录

有时候系统里面有一些只有ftp权限的用户,他们的shell一般被设置成/bin/false来防止他们用telnet登录到系统,但是这样导致他们不能ftp,如何解决呢?

  需要注释掉/etc/pam.d/ftp,注释掉下面一行:

  auth required /lib/security/pam_shells.so

  同时在proftpd.conf里面加入:

  RequireValidShell off

===

Proftpd如何限速和设置发呆退出

  可以使用:

  RateReadBPS RateReadFreeBytes

  RateWriteBPS RateWriteFreeBytes

  来限制下载和上载速度:

  RateReadBPS和RateWriteBPS限制下载和上载的速率

  RateReadFreeBytes和RateWriteFreeBytes限制当用户现在这么多数据量以后再进行限速,这样可以实现对于小文件不限速,而大文件限速。

  TimeoutIdle -- 设置空闲连接超时时钟

  TimeoutLogin -- 设置空闲登陆超时时钟

  TimeoutNoTransfer -- 设置当没有数据传输时的超时时钟

  TimeoutStalled -- 设置被阻塞的下载的超时时钟