虽然长期以来都在用ssh,但对于一些临时性的使用需求,却不太方便开设一个ssh帐号给别人,因此,我想起了proftpd有虚拟用户的功能,此功能的最大好处就是不必建一个系统用户,并且可以对虚拟用户的活动目录做到严格的限制。
proftpd 虚拟用户的建立
在命令台输入:
/usr/local/proftpd/bin/ftpasswd --passwd --name=XXX --uid=99
--gid=99 --home=/var/www/XXX_FILES/DIR001
--shell=/sbin/nologin--file=/usr/local/proftpd/etc/passwd
建立一个名为XXX的用户,默认目录为/var/www/XXX_FILES/DIR001
proftpd.conf的配置文件,添加几项:
#使得虚拟用户chroot与匿名用户只在自己的家目录“活动”
DefaultRoot
~
#只启用虚拟用户的验证,不用/etc/passwd中的用户
AuthOrder mod_auth_file.c
#定义虚拟用户的信息保存的文件
AuthUserFile AuthUserFile /usr/local/etc/ftpd.passwd
#不检测虚拟用户是否有可使用的shell,因为在定义虚拟用户的时候,shell是s=/bin/false,
#所以一定要设置为off,不然虚拟用户无法登陆
RequireValidShell off
最后记得要将虚拟用户指定访问的home设置成 chmod 777 的权限,保正虚拟用户的读写权限