热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

ProFTPd服务器中配置虚拟用户

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

 在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


推荐阅读
author-avatar
戴安娜DianaKok
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有