用过proftpd和vs-ftpd,proftpd有巨恐怖的sftp细粒度控制,特殊场合非常好。
但是总觉得都很复杂,我们文件系统的底层是GlusterFS,在之上建立虚用户,用proftpd和vs-ftpd都感觉复杂。
所以一直在找简单的方法,最后发现了pure-ftpd,很简单!!!
首先建一个无任何登陆权的新用户,注意,uid必须在500以上,不能用系统缺省的用户ftp,后面改pure-ftpd.conf时会有说明:
1useradd -u1000 -U -s/sbin/nologin -M ftpuser
安装pure-ftpd
1yum -y install pure-ftpd
修改配置:
1vi /etc/pure-ftpd/pure-ftpd.conf
2ChrootEveryone yes
3AnonymousOnly no
4NoAnonymous yes
5PureDB /etc/pure-ftpd/pureftpd.pdb
6#PAMAuthentication yes
7UnixAuthentication yes
8#注意,这里就指出了最小uid,所以第一步建立用户的时候uid不能小于500,否则pure-ftpd无法认证
9MinUID 500
10CreateHomeDir yes
改完后,我们来增加个用户,注意语法,test是虚拟用户名,-u和-g是虚拟用户对应linux系统的系统用户,就是我们第一步建立的那个无登陆权的ftpuser,-d是home目录,这个不用建,用户第一次登陆的时候pure-ftpd会自动建立:
1pure-pw useradd test -u ftpuser -g ftpuser -d /var/www/ppp
重建hash
1pure-pw mkdb
重启pure-ftpd
1service restart pure-ftpd
ok,搞定了,一定要注意uid的问题。其他无复杂的地方。