- 论坛徽章:
- 0
|
给朋友学校帮忙写一个FTP用户Web管理
开始选的是Pure-Ftpd作为服务器端,由于Pure-Ftpd的用户文件权限管理需要靠linux的文件权限位,折腾半天不能满足要求,最后用Proftpd搞定,
Proftpd和Pure-Ftpd都支持Mysql的用户认证,Pure-Ftpd很容易配置,Proftpd稍微复杂一点,不过也很好搞定,
FTP服务要求虚拟chroot,所以proftpd要加载一个第三方的mod_vroot, 不过发现这个模块和mod_quota有冲突,启用 quota之后mod_vroot所设置的 symbolic link都有问题,所以这个代码不支持quota的管理,不过quota部分的表都建好了,如果不需要用到mod_vroot的功能把代码内的注释去掉就,做点修改就好了
学校的要求目录大概是这个样子,
每个学生有一个私有目录,一个公共目录 link到 CommonDirectory, 一个教师目录link到 TechersDirectory
每个教师有一个私有目录, 一个公共目录 link到 CommonDirectory
./ftpd/
|-- CommonDirectory
| |-- IncomingDirectory
| `-- PublicDirectory
|-- StudentsDirectory
| `-- Computer
| |-- user1
| | |-- CommonDirectory -> ../../../CommonDirectory
| | |-- TechersDirectory -> ../../../TechersDirectory
| | `-- UserDirectory
| `-- user2
| |-- CommonDirectory -> ../../../CommonDirectory
| |-- TechersDirectory -> ../../../TechersDirectory
| `-- UserDirectory
`-- TechersDirectory
`-- techer-techer
|-- CommonDirectory -> ../../CommonDirectory
|-- ForStudentDirectory
`-- UserDirectory |
有一个用户的申请页面,学生可以在这里申请自己的FTP账户,
管理员在后台审核通过以后开通,教师不用申请,直接由管理员添加FTP账号,
可以在管理界面重置用户的基本目录结构,批量的审批通过和关闭用户FTP账户
只是管理用户,没有proftpd配置管理
|
|