论文部分内容阅读
随着信息化的深入发展,FTP服务器作为一种必不可少的文件共享方式在人们的生活中扮演着越来越重要的角色。由于传统的FTP服务器完全依靠少数的管理员来管理所有用户和文件资源,当用户数量快速增加时,服务器的日常维护工作就会变得越发困难,也极易出错。同时,FTP用户希望能自主地管理所辖资源,能将自己的资源随意地指派给不同用户来管理,跟不同用户分享自己的资源。
目前市场上存在着支持大量用户的FTP服务器,但是这些FTP服务器对用户的管理都不能完全满足实际应用的需求。典型的例子如基于Windows平台的Serv-U服务器(5.0及以上版本),它采用用户组的方式来管理用户的权限,用户自动继承所属用户组的权限,也可以对继承下来的权限做修改。这种方式免去了很多重复的权限分配工作,但由于它给用户组分配的权限只与FTP文件资源的访问相关,而创建用户的任务只能由FTP服务器的超级管理员来完成。这种方式没有从实质上减轻管理员的工作量,并且用户对自己所辖范围内资源的也没有自主管理权。在实际应用中,也有一些针对用户分级管理的研究,但这些研究都局限于如何分配上传下载权限,用以控制用户正确地访问FTP文件资源,对用户所辖资源的自主管理问题鲜有提及。
如何有效地管理FTP用户涉及到访问控制策略和权限管理,也就是要确保资源不被非法访问,同时也要求管理过程具有较强的灵活性、便于理解、容易操作。访问控制的核心在于如何决定主体能否对客体执行某种操作。本文比较了自主访问控制DAC(DiscretionaryAccess Control)、强制访问控制MAC(Mandatory Access Control)的优缺点,深入研究了基于角色的访问控制模型RBAC;并结合实际情况设计和实现了基于RBAC模型的用户分级管理模型,通过“用户-角色-功能”模式结合“用户-角色-操作”模式有效地管理FTP服务器上的所有用户。用户可以在自己的权限范围内创建新用户、为其指定资源范围,同时给新用户分配适当的角色,赋予特定功能权限和资源操作权限;这些新用户的层次低于创建者,并且只归创建者管理,通过这种层次清晰的分级管理模型来管理FTP用户,不仅能够减少FTP服务器管理员的工作量,更增强了用户管理自己所辖资源的自主性、灵活性和独立性,有较好的应用价值。
本文用Java语言设计和实现了FTP服务器在线系统,包含用户权限配置子系统、用户权限验证模块以及FTP WEB Client,提供了一套跨平台、分级管理FTP用户的解决方案。
作者在第一章中介绍了选题的背景、FTP用户管理的研究现状,并对本文的工作做了简单描述;第二章分析比较了目前市场上主流的FTP服务器软件和客户端软件的特性,选取了Cross FTP Server作为本方案的FTP服务器;第三章介绍了访问控制和权限管理相关的理论知识;第四章结合实际需求,在RBAC模型的基础上设计了FTP用户分级管理模型;第五章给出初步实现结果;第六章对本文的工作做了总结,也指出了本文未实现的部分,给出了后续的研究方向。