曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 8056|回复: 0
打印 上一主题 下一主题

[SUSE] Pure-FTPd 应用管理配置

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2010-7-16 00:34:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
系统环境: OpenSUSE 11.2

配置文件 :  /etc/pure-ftpd/pure-ftpd.conf

在 OpenSUSE 下安装 Pure-FTP 很简单,可以通过系统光盘安装,也可以通过网络式的 webpin 一键式安装。查询是否已经安装了 Pure-FTP:
# rpm -q pure-ftpd
pure-ftpd-1.0.22-3.2.1.i586


安装好 Pure-FTP 后,就启动其服务,有另种方式:
# /etc/init.d/pure-ftpd start
Starting pure-ftpd                                                   done

 # service pure-ftpd start
Starting pure-ftpd                                                   done


启动好服务后,为了方便起见,先关闭防火墙,然后登录 FTP,默认情况下,只允许匿名登录:
 # ftp 192.168.1.100
Connected to 192.168.1.100.
220-Welcome to Pure-FTPd.
220-You are user number 1 of 10 allowed.
220-Only anonymous FTP is allowed here
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (192.168.1.100:groad):
230 Anonymous user logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>


Pure-FTP 使用虚拟用户功能,使能此功能,需要进行以下设置:

在 pure-ftpd.conf 要修改两项内容:
(1)取消对 PureDB 的注释
# PureDB user database (see README.Virtual-Users)
 PureDB                        /etc/pure-ftpd/pureftpd.pdb

(2)取消掉仅匿名用户可访问(默认只有匿名用户)
# Don't allow authenticated users - have a public anonymous FTP only.

AnonymousOnly               no


接下来,需要创建虚拟用户名和虚拟用户组。这么做的目的是,减少 /etc/passwd 中存储的 UID 和 GID 的条目数。现在创建虚拟用户组:
#groupadd virftp

创建用户:
# useradd -g virftp -d /home/pureftp -s /bin/false virftp

-g 参数指定新建用户 virftp 所属的组
-d 参数指定新建用户 virftp 的家目录(这里 /home/pureftp 已经事先创建)
-s 设置该用户登录后的 shell,这里表示它只能用来操作 FTP,而不会执行系统命令(false 可参考:http://www.groad.net/bbs/read.php?tid-2366.html)

下面创建虚拟用户:
# pure-pw useradd groad_pureftp -u virftp -g virftp -d /home/pureftp/groad_pureftp

这里, groad_pureftp 是虚拟用户。
为虚拟用户创建数据库:
#pure-pw mkdb


现在,我们可以用 groad_pureftp 来登陆 FTP 服务器了。我们可以通过以下命令查看新建用户的情况:
# pure-pw show groad_pureftp


这时,如果我们假设我们之前添加用户时为虚拟用户指定了错误的家目录,比如我们指定为 /home/pureftp (实际上是想指定为 /home/pureftp/groad_pureftp),可以通过以下命令修改:
# pure-pw usermod groad_pureftp -d /home/pureftp/groad_pureftp/

修改完后,再更新一下数据库:
#pure-pw mkdb

然后重启 FTP 服务器,那么这时虚拟用户的家目录就改变了。

默认情况下,用户都是被 chroot 的,也就是活它会被限制在自己的家目录中。如果我们不希望这么做,则可以先修改 pure_ftpd.conf  文件,将里面的 ChrootEveryone  项改为 no,然后使用下面的命令:
# pure-pw usermod groad_pureftp -D /home/pureftp/groad_pureftp/
# pure-pw mkdb

然后再重启一下 FTP 服务器,这样用户就不会被限定在自己的家目录当中,此时它可以浏览 linux 里的整个 / 目录下 virftp 用户组所允许浏览的内容,如:
linux-z13e:/home/pureftp/groad_pureftp # ftp 192.168.1.100
Connected to 192.168.1.100.
220-Welcome to Pure-FTPd.
220-You are user number 1 of 10 allowed.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (192.168.1.100:groad): groad_pureftp
331 User groad_pureftp OK. Password required
Password:
230-User groad_pureftp has group access to:  virftp     video
230 OK. Current directory is /home/pureftp/groad_pureftp
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

如果不被chroot,正如上面蓝色部分所示,登陆 FTP  时,它会告诉你你当前所在的目录。 事实上,这里没有必要再次使用 pure-pw mkdb 命令。因为,对已经存在的用户再设置相关属性时,只需要再相应的命令(可以通过 man pure-pw 查看哪些命令会用到 -m 选项参数)的末尾添加 -m 参数即可达到更新数据库的目的。

如果希望用户再次被限定在自己的家目录里面,则将上面的 -D 选项改为 -d 即可。

设置下载上传速率
设置下载速率使用 -t   选项,设置上传速率使用 -T 选项,如:
# pure-pw usermod groad_pureftp -t 100 -T 10 -m

这里使用 -m 参数,使设置马上就生效。验证效果,可以登录FTP然后上传一个文件,以查看速度;还可以通过 show 命令查看:
# pure-pw show groad_pureftp
Login              : groad_pureftp
Password           : $2a$07$m5xeneB2/hFV/1D79YIwduYHPeN/xdGFVJ8tbIrx/f30EFkateZNu
UID                : 1006 (virftp)
GID                : 2001 (virftp)
Directory          : /home/pureftp/groad_pureftp
Full name          :
Download bandwidth : 100 Kb (enabled)
Upload   bandwidth : 10 Kb (enabled)
Max files          : 0 (unlimited)
Max size           : 0 Mb (unlimited)
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)

如上所示,我们限制了 FTP 的下载速率为 100KB/S ,上传速率为 10KB/S 。

IP 限制
拒绝某个用户从某个 IP 登录:
# pure-pw usermod groad_pureftp -R 192.168.1.101 -m
这里,使用 -R 选项,然后后面跟着要拒绝登录的 IP 地址。这样 groad_pureftp 这个用户就不能从 192.168.1.101 这个 IP 地址进行登录。使用 -r 选项可以解除这个限制。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-19 14:29 , Processed in 0.063086 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表