Pureftpd是一款Ftp程序。我们来看看他的配置的一种:虚拟用户支持
自从 0.99.2 版本开始, pure-ftpd 就开始支持虚拟用户。为了使 pure-ftpd 支持虚拟用户,需要在编译的时候加入选项 --with-puredb,或是和我们测试一样,用--with-everything,当然这个是随各用户使用而定。虚拟用户方式十分类似 /etc/passwd ,将用户的相关信息,如口令、姓名、 uid 、目录等,存入文件。但是该文件只适用于 FTP 。这意味着,可以为 FTP 设置虚拟用户,而不需要在系统中添加系统用户。同时,可以为这些用户单独设置配额、 ratio 、带宽等限制。很多虚拟用户可以共享同一个系统用户的属性,因此建议为这些虚拟用户单独创建一个系统用户,从而方便管理。我们选择新建系统用户(经测试,如果用linux系统自带的Ftp用户,在用虚拟用户登陆时会出现不被信任的提示,大家也可以做做实验,看是不是这样)。建立方法如下:
- # groupadd ftpgroup
- # useradd -g ftpgroup -d /dev/null -s /sbin/nologin ftpuser
系统帐号建立好后,我们就开始着手准备虚拟用户了。
虚拟用户建立方法
可以使用 ”pure-pw” 来创建虚拟用户。虚拟用户的信息以每个用户一行的方式存放在相应的文件中,除了帐号、口令、 uid 、 gid 和 home 目录之外,其它的可以是空值。
pure-pw useradd的语法规范如下:
- pure-pw useradd [-f ] -u [-g ]
- -D/-d [-c ]
- [-t ] [-T ]
- [-n ] [-N ]
- [-q ] [-Q ]
- [-r [/][,[/]]...]
- [-R [/][,[/]]...]
- [-i [/][,[/]]...]
- [-I [/][,[/]]...]
- [-y ]
- [-z -] [-m]
假设我们要创建 test 这样一个虚拟用户,则可以使用如下命令:
# pure-pw useradd test -u ftp -d /var/ftp/test
其中, -u 将虚拟用户 test 同系统用户 ftp 关联在一起。 -d 参数使 test 只能访问其 home 目录。而如果想让他访问整个文件系统,可以用 -D 选项。
执行完上述命令后,会提示输入密码,我们输入123456即可。
然后需要更改建立/var/ftp/test目录,并修改它的属性。
注意:在配置文件中有选项自动建立主目录
CreateHomeDir yes //我们可以设置为yes,但是有一点需要大家注意,就是它只支持二层目录的建立而不支持三层以上目录的建立,举个例子,如果我们创建虚拟用户是用如下语句:
# pure-pw useradd test -u ftp -d /home/ftp 命令,而这时系统只有/home目录而没有/home/ftp目录,那么在test用户第一次登陆时会创建/home/ftp目录,而如果我们改变以上命令如下:
# pure-pw useradd test -u ftp -d /home/ftp/test,而这时系统只有/home目录或/home/ftp目录,而没有/home/ftp/test目录,那么我们登陆时会得到没有主目录的提示。
其他参数含义:
-z 选项运用用户在一天当中指定的时间段连接服务器。如 -z 0900-1800 ,则该用户只能在上午 9 点到晚上 6 点之间连接服务器。
-r 选项或 -R 选项,可以限制用户从指定 IP 和掩码连入服务器
-y ,用户同一时间的并发连接数。 ’’ 或者 0 意味着不限制
-f ,默认虚拟用户的信息会被存放在 ./etc/pureftpd.passwd 文件中,通过该选项可以改变该文件的位置。
用户的口令会根据系统对加密方式的支持情况,选择一个最安全的方式进行加密。
通过上文的介绍,我们知道了Pureftpd的虚拟用户支持方法!希望对你们有用!
【编辑推荐】
- Pureftpd配置之匿名用户登陆
- Pureftpd安装文档
- 中文解释PureFTPd配置文件
- PureFTPd displayrate()远程拒绝服务攻击漏洞
- PureFTPd Accept_Client远程拒绝服务漏洞