




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用户管理系统XX大学软件学院系统简介用户管理系统是一种嵌入式的小应用系统,可以应用到生活中大部分系统中的用户管理层面,本系统大概功能为用户登录,增加用户,删除用户以及用户信息的打印等简单实用的功能。系统功能分析介绍一、Menu文件中的菜单1、在menu脚本文件的前面部分定义三个变量,这三个变量分别存放passwd、add、delete文件的文件名,并且能在所有涉及到passwd、add、delete文件的语句中使用他们。在menu脚本文件里创建如下菜单,菜单里包含供用户选择的一些操作。当用户做了选择且所选的操作完成之后,应再次显示主菜单以供用户做下一步选择。在等待用户做出选择的菜单中,如果用户简单地按了回车键(而不是输代码)的话,就会出现信息 等用户按了回车键之后,再次显示主菜单供用户做其他选择。 如果在等待用户做出选择的菜单中,如果用户偶尔输入了一个代码而不是1、2、3、4、5、6、7或Q,就有信息提示“无效的代码,请按回车键继续”等用户按了回车键之后,再次显示主菜单供用户做其他选择。2、菜单功能项 (1)当用户选择了第1项打印当前所有用户记录 以下是当用户在主菜单中选择第一个选项后,menu脚本文件输出的内容。以上输出内容与passwd文件不同之处在于:空格键代替了所有的冒号。(2)当用户选择第2项时打印当前经过格式化的用户记录后以下是当用户在主菜单中选择第二个选项后,menu脚本文件输出的内容。以上格式输出是按用户名排序的。每列应该左对齐。(3)当用户选择第3时打印用户名和用户ID以下是当用户在主菜单中选择第三个选项后在脚本菜单输出的内容。以上输出与passwd文件内容之间的不同之处。冒号已被逗号代替。每个表目记录只有显示用户名和用户ID。(4)当用户选择4时打印(格式化的)用户名和用户ID以下是当用户在主菜单中选择第四个选项后在脚本菜单输出的内容。以上格式输出是按用户名排序的。每列应该左对齐。(5)当用户选择5时查找特定的记录以下是当用户在主菜单中选择第五个选项后在脚本菜单输出的内容。输出用户的所有相关信息。如果输入的关键字不在记录里,则显示如下内容:“无效的代码”。如果用户只是简单地按回车键而不是输入关键字,则显示如下内容:“没有输入关键字”,并再次要求用户输入关键字。 (6)当用户选择Q或q后退出主菜单三、添加用户在MENU菜单中当用户选择6时添加新记录,add脚本文件被调用,以下是增加功能的输出。1、用户名一个有效的用户名必须只含字母和数字。如果用户输入一个无效的用户名,就显示这样的信息:“用户名只包含字母和数字,并且不能以数字开头!”,并且提示用户再次输入用户名。如果用户只按回车没有输入的话,则显示信息:“没有输入用户名!”,并提示用户再次输入用户名。如果输入的用户名已经存在的话,则显示信息:“此用户名已存在!”,并提示用户再次输入用户名。2、密码输入密码时不显示,要求密码长度至少达到6位以上、且由大小写字母、数字和控制字符组成。如果用户输入一个不足6位的密码,则显示如下信息:“密码要6位或6位以上”,并且提示用户再次输入密码。如果用户只按回车没有输入的话,则显示信息:“没有输入密码,请输入密码”,并提示用户再次输入密码。3、确认密码如果输入的确认密码与密码不符,则显示:“确认密码与原密码不符!”,并提示用户再次输入确认密码。如果输入的确认密码3次,且与原密码不符,就退出添加,并返回主菜单。4、用户ID用户输入一个有效的用户ID(数字、一般非超级用户的ID大等于500且小于60000)。如果用户只是简单的按回车键,则显示信息:“没有输入ID,请输入用户ID”,并提示用户再次输入用户ID。如果用户输入的是一个无效的用户ID或者是不符合格式的用户ID,则显示信息:“无效的用户ID,有效ID应该由数字组成”,并提示用户再次输入用户ID。如果用户输入的是一个在500到60000之外的数字,即用户ID在500到60000之外,则显示信息:“用户ID无效,ID应该在50060000之间”,并提示用户再次输入用户ID。如果输入的用户ID已经存在的话,则显示信息:“用户ID重复”,并提示用户再次输入用户ID。5、组ID用户输入一个有效的组ID(数字、组ID大等于500且小于60000)。如果用户只是简单的按回车键,则显示信息:“没有输入组ID,请输入组ID”,并提示用户再次输入用户ID。如果用户输入的是一个无效的组ID或者是不符合格式的组ID,则显示信息:“无效的组ID,有效ID应该由数字组成”,并提示用户再次输入组ID。如果用户输入的是一个在500到60000之外的数字,即组ID在500到60000之外,则显示信息:“组ID无效,组ID应该在50060000之间”,并提示用户再次输入用户ID。6、用户全名如果用户只是简单的按回车键,则显示信息:“没有输入用户全名”,并提示用户再次输入用户全名。如果用户输入一个无效的用户全名,则显示这样的信息:“用户全名只包含字母或数字”,并且提示用户再次输入用户全名。7、主目录:(非用户输入,但要根据用户名正确显示)一个有效的主目录名必须根据用户名在/home目录下正确地添加,在passwd文件中的相应记录上自动添加主目录名,还要在/home 目录下自动建立该名字的目录。8、登录shell一个有效的shell必须只能是bash、sh、kash、csh中的一种。如果用户只是简单的按回车键,则显示信息:“没有键入shell!”,并提示用户再次输入shell名。如果用户输入一个无效的shell名,就会显示这样的信息:“输入的shell名不在本系统范围内!”,并且提示用户再次输入。9、保存记录添加用户记录记录中添加了如下内容(格式化后的)10、再添加一个吗?Y or N 如果回答Y,则返回添加菜单,继续添加。返回添加菜单如果回答N,则按回车后返回主菜单四、删除用户在MENU菜单中当用户选择7时删除记录,delete脚本文件被调用,以下是删除功能的输出。1、输入要删除的用户ID如果用户只是简单的按回车键而没有输入其他的信息,则显示信息:“没有输入,请输入用户ID”,并提示用户再次输入用户ID。若用户输入一个无效的用户ID,提示信息:“无效的用户ID,有效ID应该由数字组成”,并再次提示用户输入一个用户ID。如果用户输入的是一个在500到60000之外的数字,即用户ID在500到60000之外,则显示信息:“用户ID无效,用户ID应该在50060000之间”,并提示用户再次输入用户ID。如果用户输入的是一个不存在的ID,则会显示如下信息:“不存在该用户”,并再次提示用户输入一个用户ID。输入正确的用户ID,则显示如下:确认删除(Y or N)如果输入Y如果输入N再删除一个吗?Y or N 返回用户主界面如果输入N按回车后返回主菜单四、附代码1、Menu文件代码#! /bin/sh -record_file=passwdadd_file=adddelete_file=deletea=你的选择是:b=输入关键字是:clearwhile truedo echo =信息主菜单= echo -e 1.打印当前所所有记录 echo -e 2.打印当前所所有记录(格式化后) echo -e 3.打印用户名和用户ID echo -e 4.打印(格式化了的)用户名和拥用户ID echo -e 5.查询特定记录 echo -e 6.增加新记录 echo -e 7.删除记录? echo -e q.-退出 echo -e 你的选择是:(等待用户输入) echo read choice echo $a $choice case $choice in 1)tr -s : $passwd_fileecho 用户信息保存成功!echoecho -n 再增加一个吗? Y or N :read save if (test $save = y ) | (test $save = Y ) then save=y else save=n ifdone3、删除用户文件代码#! /bin/sh -record_file=passwdyorndel=y while (test $yorndel = y -o $yorndel = Y)do clear echo 用户删除界面 echo = awk -F : printf %-10s %-10s %-10s %-10s %-15s %-15s %-15sn,$1,$2,$3,$4,$5,$6,$7 $record_file|sort -t : -k 1 echo 删除用户记录 echo -n 输入用户ID: read choice_del while true do if(test -z $choice_del)then echo 没有输入 echo 请输入用户ID echo -n 输入用户ID: read choice_del elif(test $choice_del = N -o $choice_del = n)then echo -n 请按回车继续. break 2 elif(! echo $choice_del|grep -q 1-90-9*$)then echo 无效的用户ID,有效ID应该由数字组成 echo -n 请输入用户ID: read choice_del elif(test $choice_del -lt 500 -o $choice_del -gt 60000)then echo 用户ID无效,ID应在50060000之间 echo -n 请输入用户ID: read choice_del else if(test awk -F : $3 = $choice_del /etc/passwd | wc -c -ne 0)then awk -F : $3 = $choice_del /etc/passwd user_del=awk -F : $3=$choice_del /etc/passwd|cut -d: -f 1 user_del_home=awk -F : $3=$choice_del /etc/passwd|cut -d: -f 6 echo -n 确认删除(Y or N): read yorn if(test $yorn = Y -o $yorn = y)then userdel $user_del if(test -d $user_del_home)then rm -rf $user_del_home if sleep 1 echo 删除成功 break elif(test $yorn = N -o $yorn = n)then sleep 1 echo 取消删除 break 1 else break if else echo 不存在该用户 echo -n 请输入ID: read choice_del if if done#再删除一个= if(test awk -F : $3=0 | $3=500 & $3=500 & $3$record_file if echo -n 再删除一个吗? Y or N : read yorn if(test $yorn = y -o $yorn = Y)then yornadel=y else yorndel=n echo -n 按回车继续. if done #! /bin/sh -record_file=/root/07zsb_04_26/passwdtemp_file=/root/07zsb_04_26/tempclearecho -e 删除用户记录necho -n 输入用户ID:read iddelete=ywhile (test $delete = y)do if(test -z $id) then echo 用户ID没有输入! echo -n 输入用户ID: read id elif echo $id | grep 1-90-9* then grep -i $id $record_file$temp_file if(test -s $temp_file) then echo 用户信息为: echo grep -i $id $record_file echo -n 是否删除?(Y)或(N): read key if( test $key = y ) then grep -v $id $record_file $temp_file mv -f $temp_file $record_file rm -f $temp_file echo echo 记录删除! echo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于百色疫情的应急预案
- 新冠肺炎学校外出应急预案
- 绿色咨询创业方案模板
- 美容咨询与沟通方案
- 砖厂股份收购与转让合同履行进度及验收协议
- 知识产权转让协议:智慧能源管理与软件开发
- 食品行业离职员工离职补偿及商业秘密保护合同
- 创业夫妻离婚财产分割与公司股权处理协议
- 离婚后子女抚养费用支付及变更条件合同
- 离婚协议书附加借款清偿责任及资产评估合同
- 大咯血的急救和护理
- 名学快问快答题目及答案
- 2025年党员干部廉政知识中央《八项规定》知识测试题及答案
- 《人工智能基础与应用(第2版)》完整全套教学课件
- 【MOOC答案】《VLSI设计基础(数字集成电路设计基础)》(东南大学)章节作业慕课答案
- 活科技馆试题及答案
- 中小学心理健康课程标准2022版
- 质量改进培训课件
- 2025年河北省中考数学试卷(含解析)
- 组装工艺培训
- 《会计基础》课程标准
评论
0/150
提交评论