现在的位置: 首页 > 综合 > 正文

centos5上的proftpd+虚拟用户

2013年07月17日 ⁄ 综合 ⁄ 共 2459字 ⁄ 字号 评论关闭

一、为什么选择proftpd

1.vsftpd对于管理而言太不给力了,虚拟用户设置起来很麻烦。不支持ldap。vsftpd看来只适合对外匿名下载站

2.proftpd可以用文件做虚拟账户(可以),也可以用ldap.

二、安装

centos装上epel源之后可以yum install proftpd了

不推荐make install 。。。

三、配置port等

1.端口默认是21,如果需要改为其他端口,需要设置:

Port 12345

考虑到要为Passive模式设置固定端口会方便设置防火墙,也需要设置

PassivePorts  12346 12349

四、设置虚拟用户

建立虚拟用户,脱离于系统用户,安全性增加了许多:

ftpasswd下载从此处 http://www.castaglia.org/proftpd/

# mkdir -p /etc/proftpd
# ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=ftpadmin --uid=99 --home=/home/ftpdata --shell=/sbin/nologin
# ftpasswd --group --file=/etc/proftpd/ftpd.group --name=admin --gid=99
# ftpasswd --group --name=admin --gid=99 --member=ftpadmin


注脚:
–passwd指定建立一个新的虚拟用户,–group则建立一个虚拟组;
–file指定存储虚拟用户的文件;
–name指定此虚拟用户的用户名,密码会在命令执行时要求输入;
–uid指定此虚拟用户对应的系统用户UID,此虚拟用户将以此系统UID的身份读写文件
–home指定此虚拟用户的根目录,就是其登陆FTP后的根目录;
–shell指定此虚拟用户的shell,为了安全当然指定一个不可登陆的shell了。

四、开启虚拟用户登录

 

在配置文件里增加

AuthOrder                       mod_auth_file.c mod_auth_unix.c
AuthUserFile                    /etc/proftpd/ftpd.passwd

五、
用户权限指派

建议采用方法1,以免引起不必在的麻烦,Linux上POSIX 权限管理并不是所有人都熟悉

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

一、为什么选择proftpd

1.vsftpd对于管理而言太不给力了,虚拟用户设置起来很麻烦。不支持ldap。vsftpd看来只适合对外匿名下载站

2.proftpd可以用文件做虚拟账户(可以),也可以用ldap.

二、安装

centos装上epel源之后可以yum install proftpd了

不推荐make install 。。。

三、配置port等

1.端口默认是21,如果需要改为其他端口,需要设置:

Port 12345

考虑到要为Passive模式设置固定端口会方便设置防火墙,也需要设置

PassivePorts  12346 12349

四、设置虚拟用户

建立虚拟用户,脱离于系统用户,安全性增加了许多:

ftpasswd下载从此处 http://www.castaglia.org/proftpd/

# mkdir -p /etc/proftpd
# ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=ftpadmin --uid=99 --home=/home/ftpdata --shell=/sbin/nologin
# ftpasswd --group --file=/etc/proftpd/ftpd.group --name=admin --gid=99
# ftpasswd --group --name=admin --gid=99 --member=ftpadmin


注脚:
–passwd指定建立一个新的虚拟用户,–group则建立一个虚拟组;
–file指定存储虚拟用户的文件;
–name指定此虚拟用户的用户名,密码会在命令执行时要求输入;
–uid指定此虚拟用户对应的系统用户UID,此虚拟用户将以此系统UID的身份读写文件
–home指定此虚拟用户的根目录,就是其登陆FTP后的根目录;
–shell指定此虚拟用户的shell,为了安全当然指定一个不可登陆的shell了。

四、开启虚拟用户登录

 

在配置文件里增加

AuthOrder                       mod_auth_file.c mod_auth_unix.c
AuthUserFile                    /etc/proftpd/ftpd.passwd

五、
用户权限指派

建议采用方法1,以免引起不必在的麻烦,Linux上POSIX 权限管理并不是所有人都熟悉

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

#chown -R nobody.root /home/ftpdata/
nobody uid 99,对用户主目录赋予所有权限
关于权限颗粒化设置:请使用Limit

更多参考 http://castaglia.org/proftpd/doc/README.PAM.html

http://www.proftpd.org/localsite/Userguide/linked/c503.html

方法二:
setfacl -m user:peter:rwx file.txt
setfacl -m u:1002:rwx /home/apache/htdocs

相关资料

http://www.proftpd.org/localsite/Userguide/linked/userguide.html

http://www.haw-haw.org/node/213#more-213  proftpd实现虚拟用户和quota(不用数据库) ,这个用的是ftpquota

 

抱歉!评论已关闭.