作者: uzigi
来自: www.linuxsir.org
首先说明我也是新手,而且论坛里面没什么这方面的帖子,只是讲讲自己的一点体会,和大家讨论一下:)
1. 安装(我用的是unstable)
apt-get install pure-ftpd pure-ftpd-common
2. 建立虚拟用户
建立一般用户,我想问题不大吧。需要注意的是,现在pure-ftpd的配置方式发生了变化,不是用pure-ftpd.conf来配置了,而是改用了 pure-ftpd-wrapper的方式,大家可以man pure-ftpd-wrapper 看看,主要变化是把原来pure-ftpd.conf里面的每条命令都变成了一个只有一行代码的文件,去/etc/pure-ftpd/conf/下面看看就知道了。
现在配置好的pureftpd虽然启动了,但没有可用的用户,登录不了(默认是不允许anonymous登录的)。因此参照README.Virtual-Users.gz 按如下方法建立虚拟用户:
1) groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser
这一步主要是为所有的虚拟用户建立一个系统用户;
2)再用虚拟用户管理命令pure-pw建立虚拟用户:
pure-pw useradd joe -u ftpuser -d /home/ftpusers/joe 这里建立了一个joe的虚拟用户,主目录在/home/ftpusers/joe下面。把-d改为-D则允许用户访问整个文件系统。这里还可以设定很多东西,比如限制访问ip,quota... 之后还可以用pure-pw usermod命令修改;删除用户用 pure-pw userdel joe。
3. 使虚拟用户生效
用pure-pw mkdb 建立一个认证库,会在/etc/pure-ftpd/下面生成一个pureftpd.pdb文件。再下面的步骤需要注意,我开始就是在这折腾了半天:此时,pure-ftpd还不知道利用pureftpd.pdb文件来进行用户认证,进入/etc/pure-ftpd/auth 目录看看,发现里面有两个文件65unix和70pam,这就是pure-ftpd用的认证方式,需要自己加一个60pdb的链接文件告诉pure- ftpd用pdb认证,ln -s ../conf/PureDB 60pdb,60pdb前面的60也可以用小于65的其他数字,随便你了。这个数字应该是pure-ftpd选择认证方式的顺序,你可以把它改为 75pdb,然后看看:)你会发现登录进去会慢很多。不用重启,应该就可以用joe登录了。以后每增加一个用户,只要加上一个-m就可以马上生效了, pure-pw useradd newuser -m,不需要重新启动pure-ftpd。
4. 几个问题
1) 我把/etc/pure-ftpd/conf/NoAnonymous 改为no,但匿名登录的时候却不行,告诉我“Unable to setup secure anonymous FTP”,是什么原因?还要进行其他设定吗?
2) 虚拟用户怎么进行目录权限设定呢?因为不是系统用户,无法用chown,chmod设定呀?
希望大家积极讨论,指教:)
无法匿名登录的问题解决了
必须在系统里面建立一个名为ftp的用户,当然也要把/etc/pure-ftpd/conf/NoAnonymous 改为no。
我是这个做的:useradd ftp -g ftpgroup -d /yourftpdir -s /etc