LINUX课程设计项目需求解析
1引言
目前大学生就业形势越来越严峻,为了给学生增加就业砝码,学校为每个学生提供一个展示自我的平台,在学校web服务器上开通注册通道,让每个学生都可以拥有自己的个人网站。学生可以将自己做好的个人主页放到服务器的个人目录下,也可以将自己平时所做的个人作品上传到服务器上,供互联网用户访问。
2运行环境
服务器端
硬件平台:能满足安装Linux系统所需的最低硬件
软件平台:Linux操作系统,Apache,php
客户端
硬件平台:能满足安装操作系统的最低硬件
软件平台:网页浏览器
3主要功能总体描述
在注册的过程中,可以检测用户名,包含用户名的文件有两个,一个为/ect/passwd,一个为/tmp/userpass,首先检测/etc/passwd文件中的用户名,如果用户输入的用户名在/etc/passwd中存在,则不能注册。如果不存在,则检测/tmp/userpass文件中是否已存在,如果存在,则不能注册,如果不存在,则将用户的用户名和密码追加重定向到/tmp/userpass文件中。安排cron任务,每隔10分钟运行增加用户脚本(add.sh),为/tmp/userpass文件中的注册的用户创建系统用户账户,账户名和密码为用户注册的用户名和密码,为了使有限的资源能够充分的利用,学校规定为每个用户分配100M的空间。用户可以使用此用户名和密码通过ssh远程连接进行文件的上传和下载,并将文件上传到用户自己的目录
4 Index.php流程示意图
该页面为用户注册首页面,程序源码已提供,该文件可以放置在Apache默认的主目录/var/www/html/下,如果Apache支持PHP,即可显示该网页内容。
用户检测shell脚本功能需求
检测用户输入的用户名是否有重名现象,有则返回1,否则返回0(注意:若更改返回参数,必须更改index.php源码中相关代码,建议不要更改)。
需要针对两个文件进行检测:/etc/passwd(系统已存在的用户)和/tmp/userpass(十分钟内其他人注册,但还没有添加到系统中去的账户)。如果上述任何一个文件中发现有与用户输入相同的用户名时,马上返回1。
该shell脚本名字为:check.sh,权限为755(注意:不要随便更改脚本名字,否则需更改index.php相关代码)。
自动添加用户脚本功能需求
首先检查/tmp/userpass文件,该文件如果为空就不做任何处理,如果非空,就逐行处理其中内容。
逐行读取并处理/tmp/userpass的各行内容,然后向系统中添加相关的账户,并在账户的主目录中创建public_html文件夹(作为用户的web主目录),所有新注册用户都隶属于gid=510的组中。
每个新注册的用户最大的磁盘使用空间限定在100MB。
每次处理完/tmp/userpass文件以后,清空其中已经处理过的内容。
其他功能需求
系统每隔10分钟执行一次自动添加用户脚本操作。
Vmware中为Linux虚拟机新建一个磁盘,并对其进行分区格式化(要求格式化为ext3文件系统),然后挂载到/home,最后对其启用磁盘配额,最大额度为100MB。
南阳理工学院软件学院
Linux课程设计4
项目需求分析
警告并退出
环境搭建
警告并退出
注册页面的开发(index.php)
用户打开web注册页面
用户点击“check”
调用check.sh检测用户是否已存在
将用户名和密码追加到/tmp/userpass文件中
是
否
检测用户名是否为空
否
提示用户名可用
是
用户点击“summit”
用户名或口令是否为空
是
否
调用check.sh检测用户是否已存在
是
否
提示成功注册用户,十分钟后可以进行登陆