Debian+vsftpd+MySQL实现虚拟用户
2007-03-03 00:00:00 来源:WEB开发网#允许下载
代码:anon_world_readable_only=NO
#允许写入,上传以及建立目录
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
c,管理员用户:下载/上传/删除等.
代码:#cp /etc/vsftpd/vsftpd_user_conf/normal /etc/vsftpd/vsftpd_user_conf/admin
编辑admin的配置文件:
代码:#nano /etc/vsftpd/vsftpd_user_conf/admin
管理员除了拥有普通用户的权限以外,还拥有删除/重命名/改变文件属性的权限
加入以下内容:
代码:#允许重命名和删除文件
anon_other_write_enable=YES
#虚拟用户拥有与本地用户相同的权限(由于chmod仅仅对本地用户有效,所以如果想要虚拟用户拥有chmod的权限,这一项必须激活)
virtual_use_local_privs=YES
#允许修改文件属性
chmod_enable=YES
d,网站管理员
代码:#cp /etc/vsftpd/vsftpd_user_conf/admin /etc/vsftpd/vsftpd_user_conf/webmaster
编辑webmaster的配置文件:
代码:#nano /etc/vsftpd/vsftpd_user_conf/webmaster
加入以下内容:
代码:#将FTP家目录指向网站的家目录(我的www目录使用Apache默认的目录)
local_root=/var/www
#默认情况下,上传到FTP站点的文件的拥有者都是ftpguest,其他用户是没有访问权限的
#所以,当访问网站的时候,会出现"没有权限访问该文件的错误",这是由于Apache的用户
#www-data无法访问/var/www下的文件造成的,把umask设置成033甚至000即可解决这个问题.
local_umask=033
e,为normal,admin用户设置对incoming,pub目录不同的权限
阅读了一遍vsftpd man中关于权限的相关设置,似乎没有单独设置每个目录权限的地方?后来想到是不是可以利用Linux文件系统的文件权限设置来达到此目的,以前在Windows下利用IIS来架设站点时,我就是利用NTFS权限设置来达到控制不同用户对目录的访问权限.不过试了一下,还是无法完美的实现以下的权限控制:
代码: incoming pub
举例来说,可以通过把pub设置成只读来控制normal用户只读pub的权限,不过admin对pub也是只读了不过,还好,因为admin拥有修改目录属性的权限,如果admin用户想要通过FTP来完成管理pub目录的话,可以临时把pub目录修改成读/写属性.
normal 读/写 只读
admin 读/写 读/写
四,小结
1,vsftpd的目标是完成一个简易而且安全性不低的FTPD,功能嘛,似乎还是有点不足,特别是目录权限这方面的设置如果是对目录权限有比较复杂的需求的话,可以考虑一下Proftpd .
2,在测试的时候,除了使用FTP Client工具以外,最好再使用Sniffer类的软件作为辅助,因为有时候FTP Client并不会完全把FTPD返回信息呈现在你面前,而有时候,这些信息对排除FTPD故障会有很大帮助的,而一旦使用Sniffer类的软件,所有的客户端与服务器端交互的信息都不会漏掉的.
更多精彩
赞助商链接