proftpd中如何实现对不同用户的速度限制?

发布于 2022-07-27 05:46:11 字数 163 浏览 21 评论 9

想让不同的帐号有各自的上传下载速度,应该如何设置呢?

另处我用的是ubuntu-server,zh_CN.UTF-8的,中文乱码,不知道大家是怎么解决的,难道真的要改成gbk吗?最新的proftpd1.3好像也不支持charset之类的命令,是不是得自己编译proftp加上iconv-patch呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

那一片橙海, 2022-07-27 23:18:07

我个人没用过 ip-based 的 ftp virtual host,我个人是建议 vincent339 兄可以自己先看一下 pure-ftpd 官方文件是否有提到这部份。

若没有 virtal host 支援的话也没关系,因为你只需要改组态档,然后启动三个 pure-ftpd 读取不同组态档来 listen 不同的 ip 位址即可提供该功能。

最后 pure-pw 来新增 ftp 帐号,限制该帐号的存取速度即可。

==

[ 本帖最后由 kenduest 于 2006-10-16 16:58 编辑 ]

旧梦荧光笔 2022-07-27 23:18:07

原帖由 vincent339 于 2006-10-15 11:53 发表
想让不同的帐号有各自的上传下载速度,应该如何设置呢?

另处我用的是ubuntu-server,zh_CN.UTF-8的,中文乱码,不知道大家是怎么解决的,难道真的要改成gbk吗?最新的proftpd1.3好像也不支持charset之类的命令 ...

proftpd 是一个非常优秀的ftp服务器软件,建议你仔细看一下的文档,你说的问题都能够解决。

以下是我安装的过程,不存在中文乱码的问题,希望对你有帮助。

安装环境:
系    统:Debian Sarger
软件名称:proftpd-1.3.0rc3.tar.gz

ServerName                "FTP Server "  #服务器的名字
ServerType                standalone     #proftpd运行的方式,有standalone和inetd
DeferWelcome                off            #只有在认证用户之后才显示欢迎信息
ServerIdent                off       #登陆的时候不显示ftp服务器的相关信息,增加安全性
#
User                      nobody      #以nobody,nogroup的身份运行程序
Group                     nogroup
#
Port                        21          #指定FTP的端口,默认是21端口
#
Umask                                          002          #新文件的权限掩码
ShowSymlinks                off          #不显示链接文件的目标文件
DefaultRoot                  ~  !username # ~用户只能访问自己的目录,!usernmae用户除外
RequireValidShell                off          #用户是否拥有shell,关闭安全
#
UseReverseDNS             off          #关闭DNS反向查询,节省连接时间
IdentLookups              off
#
TimeoutLogin                 60         #登陆时等待输入密码的时间
TimeoutIdle                  300        #登陆后允许IDLE的时间
TimeoutNoTransfer                600        #没有数据传输时允许IDLE的时间
#
AllowStoreRestart               on         #允许断点续上传
AllowRetrieveRestart            on         #允许断点续下载
AllowForeignAddress        on        #要允许 FXP 写成 on

#
PassivePorts                50000 65534        #指定被动模式端口的范围
#
MultilineRFC2228          on         #FTP安全扩展
#
MaxClients                100 "Sorry, the maximum number of allowed users are already connected (%m)"                       # 最大链接数限制
MaxInstances              100         #最大实例数为30,
MaxClientsPerHost                2   "每个IP只允许2个连接"   #每个IP只能有两个连接
#
ServerLog               /var/log/proftpd/
#SystemLog               /var/log/proftpd/system_log
ExtendedLog             /var/log/proftpd/proftpd.log ALL
#
AllowOverwrite           on
#
<Limit SITE_CHMOD>
  DenyAll
</Limit>
<Anonymous /home/ftp>
  User                          ftp
  Group                         ftp
  AnonRequirePassword           off
  MaxClients                    50
  MaxClientsPerHost             3 "Sorry, you may not connect more than three times."
  Umask                         002     002
  # We want clients to be able to login with "anonymous" as well as "ftp"
  UserAlias                     anonymous ftp
  # We want 'welcome.msg' displayed at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin                  welcome.msg
  DisplayFirstChdir             .message
  TransferRate RETR 2000
  TransferRate STOR 2000
  <Limit LOGIN>
      Allow                       from all
  </Limit>
  # Limit WRITE everywhere in the anonymous chroot
  <Limit WRITE>
     DenyAll
  </Limit>
  <Directory /home/ftp/incoming/*>
    AllowOverwrite on
    <Limit WRITE STOR CWD MKD>
      Order Deny, Allow
      Allow from all
    </Limit>
    <Limit READ RMD DELE RNFR RNTO SITE_CHMOD>
      DenyAll
    </Limit>
  </Directory>
  <Directory /home/ftp/pub/*>
    AllowOverwrite off
    <Limit STOR CWD READ>
      Order Deny, Allow
      Allow from all
    </Limit>
    <Limit WRITE>
      DenyAll
    </Limit>
    <Limit RMD DELE RNFR RNTO SITE_CHMOD>
      DenyAll
    </Limit>
  </Directory>
</Anonymous>

不再见 2022-07-27 23:18:06

VIRTUAL SERVERS
       You can run several different anonymous FTP servers on one host,  by  giving  the  host  several  IP
       addresses with different DNS names.

       Here  are  the  steps  needed  to  create  an  extra server using an IP alias on linux 2.4.x, called
       "ftp.example.com" on address 10.11.12.13. on the IP alias eth0.

       1. Create an "ftp" account if you do not have one. It it best if the account does not have  a  valid
       home  directory  and  shell.  I prefer to make /dev/null the ftp account’s home directory and shell.
       Ftpd uses this account to set the anonymous users’ uid.

       2.  Create  a  directory   as   described   in   Anonymous   FTP   and   make   a   symlink   called
       /etc/pure-ftpd/10.11.12.13 which points to this directory.

       3. Make sure your kernel has support for IP aliases.

       4. Make sure that the following commands are run at boot:

         /sbin/ifconfig eth0:1 10.11.12.13

现在服务器有三个ip,想让每个ip对应不同的服务。

舂唻埖巳落 2022-07-27 23:17:13

原帖由 vincent339 于 2006-10-15 18:25 发表
那么如何对不同虚拟主机的匿名用户限制上传下载速度呢?

请先解释一下何谓 ftp virtual host ?

==

☆獨立☆ 2022-07-27 23:09:43

原帖由 llzqq 于 2006-10-15 14:11 发表
<Directory /home/down>
<Limit WRITE>
DenyGroup ftp
</Limit>
TransferRate RETR 15 user username
</Directory>
<Directory /home/upload>
<Limit RMD RNFR DELE RET ...

谢谢了,不过试了试pure-ftpd,对中文的支持已经比较好了,故准备转向pure.

轻拂→两袖风尘 2022-07-27 23:09:13

原帖由 kenduest 于 2006-10-15 12:19 发表

改用 pure-ftpd.. 因為

1. 可以用 pure-pw 的 useradd 新增虛擬帳號,指定 upload/download 的存取速度.

2. 支援 local & remote charset 指定.

==

那么如何对不同虚拟主机的匿名用户限制上传下载速度呢?

月野兔 2022-07-27 22:54:38

<Directory /home/down>
<Limit WRITE>
DenyGroup ftp
</Limit>
TransferRate RETR 15 user username
</Directory>
<Directory /home/upload>
<Limit RMD RNFR DELE RETR>
DenyGroup ftp
</Limit>
TransferRate STOR 50 user username
</Directory>

江城子 2022-07-27 20:32:21

难道proftpd真的没办法了吗?

你在看孤独的风景 2022-07-27 11:24:08

原帖由 vincent339 于 2006-10-15 11:53 发表
想让不同的帐号有各自的上传下载速度,应该如何设置呢?

另处我用的是ubuntu-server,zh_CN.UTF-8的,中文乱码,不知道大家是怎么解决的,难道真的要改成gbk吗?最新的proftpd1.3好像也不支持charset之类的命令 ...

改用 pure-ftpd.. 因為

1. 可以用 pure-pw 的 useradd 新增虛擬帳號,指定 upload/download 的存取速度.

2. 支援 local & remote charset 指定.

==

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文