2011年1月5日

proftpd使用虚拟用户

昨天配置了proftpd,不过这样操作系统上的每个用户都可以登录.今天呢我希望只可以通过虚拟用户登录,系统用户无法登录.下面是配置文件中的一段配置,是支持用户登录的:
AuthOrder mod_auth_file.c mod_auth_unix.c
AuthUserFile /usr/local/etc/ftpd.passwd

其中AutoOrder mod_auth_file.c mod_auth_unix.c就是先验证文件用户,再去认证系统用户的,在这里我只写了
AutoOrder mod_auth_file.c这样子系统就只会认证文件用户而不会去认证系统用户,如果文件里面没有这个用户 就无法登录.
AuthUserFile /usr/local/etc/ftpd.passwd中的/usr/local/etc/ftpd.passwd就是那个被认证的文件.
那怎样才能将用户放进去给ftp认证呢?那就用ftpasswd执行文件吧.
#ftpasswd --passwd --file=/usr/local/etc/ftpd.passwd --name=test --uid=99 --home=/usr/local/ftp/test --shell=/usr/sbin/nologin
当执行上面的一行后会弹出一串字符要求输入密码了.(ftpasswd不是系统自带的,而是proftpd带过来的)
说下其中各个参数的意思吧:
--passwd :   就是提示您要输入密码的祸首了,也是用户登录要输入的密码.
--file=**      就是要认证的文件来的.
--name     就是什么用户可以登录我架设的proftpd.
--uid        用户的UID.在这里为什么要填99呢?不是意头好的意思,而是99正是nobody用户的ID.为了安装起见还是用nobody加上个nologin来吧!
--home= ** ftp下--name里面的用户的根目录来的.
--shell  用户要使用到的shell,这里使用nologin.