ProFTPd服务器中配置虚拟用户

在Windows下FTPD以某一个帐号运行,所有的FTP用户权限管理全部由FTPD来完成与系统帐号无关。但是在xNix下则不同,FTPD只允许那些系统帐号登陆。但是我们往往希望FTPD用户和系统帐号分离方便管理。这样就需要使用ProFTPD的虚拟用户功能。

首先在proftpd.conf中添加:

AuthOrder mod_auth_file.c mod_auth_unix.c

AuthUserFile /usr/local/etc/ftpd.passwd

#AuthGroupFile /usr/local/etc/ftpd.group

然后重启portftpd服务

service proftpd restart

AuthOrder为FTP用户身份验证顺序。mod_auth_file.c是ProFTPD的虚拟用户验证,虚拟用户和组的信息存储在下面的AuthUserFile和AuthGroupFile指定的文件中,不过我想搞简单点所以就不要虚拟组了。mod_auth_unix.c是系统用户身份验证,即/etc/passwd。

然后使用添加如下命令添加一个新的虚拟用户:

ftpasswd --passwd --file=/usr/local/etc/ftpd.passwd --name=test --uid=1002 --home=/usr/local/ftp/test --shell=/usr/sbin/nologin

–passwd指定建立一个新的虚拟用户,–group则建立一个虚拟组;

–file指定存储虚拟用户的文件;

–name指定此虚拟用户的用户名,密码会在命令执行时要求输入;

–uid指定此虚拟用户对应的系统用户UID,此虚拟用户将以此系统UID的身份读写文件;

–home指定此虚拟用户的根目录,就是其登陆FTP后的根目录;

–shell指定此虚拟用户的shell,为了安全当然指定一个不可登陆的shell了。

如果是源码安装的proftpd ,服务项proftpd以及命令ftpasswd分别在如下两个目录

ftpasswd :源码包目录/contrib/ftpasswd

proftpd服务程序:源码包目录/contrib/dist/rpm/proftpd.init.d

加上可执行权限。然后将ftpasswd 拷贝到/usr/local/sbin目录下面

将proftpd.init.d拷贝到/etc/init.d/下面 重命名为proftpd

 

修改密码:ftpasswd --passwd --name=user_dgcn --change-password --file=/EassosData/ftp_user/ftpd.passwd