首页 linux用户管理系统

linux用户管理系统

举报
开通vip

linux用户管理系统PAGE/NUMPAGES用户管理系统XX大学软件学院系统简介用户管理系统是一种嵌入式的小应用系统,可以应用到生活中大部分系统中的用户管理层面,本系统大概功能为用户登录,增加用户,删除用户以及用户信息的打印等简单实用的功能。系统功能分析介绍一、Menu文件中的菜单1、在menu脚本文件的前面部分定义三个变量,这三个变量分别存放passwd、add、delete文件的文件名,并且能在所有涉及到passwd、add、delete文件的语句中使用他们。在menu脚本文件里创建如下菜单,菜单里包含供用户选择的一...

linux用户管理系统
PAGE/NUMPAGES用户管理系统XX大学软件学院系统简介用户管理系统是一种嵌入式的小应用系统,可以应用到生活中大部分系统中的用户管理层面,本系统大概功能为用户登录,增加用户,删除用户以及用户信息的打印等简单实用的功能。系统功能 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 介绍一、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文件内容之间的不同之处。冒号已被逗号代替。每个 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 目[记录]只有显示用户名和用户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应该在500~60000之间”,并提示用户再次输入用户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应该在500~60000之间”,并提示用户再次输入用户ID。6、用户全名如果用户只是简单的按回车键,则显示信息:“没有输入用户全名”,并提示用户再次输入用户全名。如果用户输入一个无效的用户全名,则显示这样的信息:“用户全名只包含字母或数字”,并且提示用户再次输入用户全名。7、主目录:(非用户输入,但要根据用户名正确显示)一个有效的主目录名必须根据用户名在/home目录下正确地添加,在passwd文件中的相应记录上自动添加主目录名,还要在/home目录下自动建立该名字的目录。8、登录shell一个有效的shell必须只能是bash、sh、kash、csh中的一种。如果用户只是简单的按回车键,则显示信息:“没有键入shell!”,并提示用户再次输入shell名。如果用户输入一个无效的shell名,就会显示这样的信息:“输入的shell名不在本系统范围内!”,并且提示用户再次输入。9、保存记录添加用户记录记录中添加了如下内容(格式化后的)10、再添加一个吗?YorN如果回答Y,则返回添加菜单,继续添加。返回添加菜单如果回答N,则按回车后返回主菜单四、删除用户在MENU菜单中当用户选择7时——删除记录,delete脚本文件被调用,以下是删除功能的输出。1、输入要删除的用户ID如果用户只是简单的按回车键而没有输入其他的信息,则显示信息:“没有输入,请输入用户ID”,并提示用户再次输入用户ID。若用户输入一个无效的用户ID,提示信息:“无效的用户ID,有效ID应该由数字组成”,并再次提示用户输入一个用户ID。如果用户输入的是一个在500到60000之外的数字,即用户ID在500到60000之外,则显示信息:“用户ID无效,用户ID应该在500~60000之间”,并提示用户再次输入用户ID。如果用户输入的是一个不存在的ID,则会显示如下信息:“不存在该用户”,并再次提示用户输入一个用户ID。输入正确的用户ID,则显示如下:确认删除(YorN)如果输入Y如果输入N再删除一个吗?YorN返回用户主界面如果输入N按回车后返回主菜单四、附代码1、Menu文件代码#!/bin/sh-record_file=passwdadd_file=adddelete_file=deletea="你的选择是:"b="输入关键字是:"clearwhiletruedoecho"==========信息主菜单======================="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"你的选择是:(等待用户输入)"echoreadchoiceecho"$a$choice"case$choicein1)tr-s"[:]""[]"<$record_file;;2)sort-k1$record_file|tr-s"[:]""[\t]";;3)awk-F:'{print$1","$3}'$record_file;;4)awk-F:'{print$1"\t"$3}'$record_file|sort-k1;;5)whiletruedoecho"请输入要查询的用户名:"readanswerecho"$b$answer"if(test-z"$answer")thenecho"你还没有输入"continueelif(testhead$record_file|grep-iw$answer)#-i不区分大小写-w全符合thenecho""breakelseecho"你输入的用户不存在,没有找到$answer"breakfidone;;6)source$add_file;;7)source$delete_file;;q)exit;;Q)exit;;*)echo"无效的代码";;esacecho"请按回车继续..."readanswerdone2、添加用户文件代码#!/bin/sh-passwd_file=/root/07zsb_04_26/passwdsave=ywhile(test$save="y")doclearecho"用户信息增加情况"echo"==================================="echo"输入新用户的具体情况"#用户名echo-n"用户名:"readnewnamewhile(test-z$newname)doecho"没有输入用户名"echo-n"用户名:"readnewnamedoneuntil[`echo$newname|grep'^[a-zA-Z]*$'`]||[`echo$newname|grep'^[0-9][0-9]*$'`]||[`echo$newname|grep'^[a-zA-Z0-9]*$'`]doecho"用户名只包含字母和数字!"echo-n"用户名:"readnewnamedone#密码stty-echoecho-n"密码:"readpasswd1while(test-z$passwd1)doecho"没有输入密码!"echo-n"密码:"readpasswd1donewhile(test`exprlength$passwd1`-le"5")doecho"密码长度不足6位!"echo-n"密码:"readpasswd1doneechoecho-n"再次输入密码:"readpasswd2echowhile(test$passwd2!=$passwd1)doecho"密码确认出错!"echo-n"再次输入密码:"readpasswd2echodonesttyecho#用户IDaddid1(){echo-n"用户ID:"readnewidwhile(test-z$newid)doecho"没有输入用户ID!"echo-n"用户ID:"readnewiddone}addid1whiletruedountil[$newid-le500]&&(cut-f3-d':'$passwd_file|grep-q$newid)dobreakdoneif(test$newid-le500)thenecho"该ID小于或等于500!"echo-n"用户ID:"readnewidaddid1ifif(cut-f3-d':'$passwd_file|grep-q$newid)thenecho"该用户ID已存在!"addid1ifbreakdone#组IDecho-n"GroupID:"readgroupidwhile(test-z$groupid)doecho"GroupID没有输入!"echo-n"GroupID:"readgroupiddoneuntil(test$groupid-ge500)doecho"GroupID必须大于500!"echo-n"GroupID:"readgroupiddone#用户全名echo-n"用户全名:"readfullnamewhile(test-z$fullname)doecho"没有输入用户全名!"echo-n"用户全名:"readfullnamedoneuntil[`echo$fullname|grep'^[a-zA-Z]*$'`]||[`echo$fullname|grep'^[0-9][0-9]*$'`]||[`echo$fullname|grep'^[a-zA-Z0-9]*$'`]doecho"用户全名只包含字母和数字!"echo-n"用户全名:"readfullnamedone#主目录homedir="/home/$fullname"echo"用户工作目录:"$homedir#登录shellecho-n"登录Shell(bash,sh,kash,csh):"readshellwhile(test-z$shell)doecho"登录Shell没有输入!"echo-n"登录shell(bash,sh,kash,csh):"readshelldoneuntil[`echo$shell|grepbash`]||[`echo$shell|grepsh`]||[`echo$shell|grepkash`]||[`echo$shell|grepcsh`]doecho"登录Shell只能是bash,sh,kash,csh!"echo-n"登录Shell(bash,sh,kash,csh):"readshelldoneshell="/bin/$shell"#saveechoecho"$newname:$passwd1:$newid:$groupid:$fullname:$homedir:$shell">>$passwd_fileecho"用户信息保存成功!"echoecho-n"再增加一个吗?YorN:"readsaveif(test"$save"="y")||(test"$save"="Y")thensave=yelsesave=nifdone3、删除用户文件代码#!/bin/sh-record_file=passwdyorndel="y"while(test"$yorndel"="y"-o"$yorndel"="Y")doclearecho"用户删除界面"echo"================================================"awk-F":"'{printf"%-10s%-10s%-10s%-10s%-15s%-15s%-15s\n",$1,$2,$3,$4,$5,$6,$7}'$record_file|sort-t":"-k1echo"删除用户记录"echo-n"输入用户ID:"readchoice_delwhiletruedoif(test-z$choice_del)thenecho"没有输入"echo"请输入用户ID"echo-n"输入用户ID:"readchoice_delelif(test$choice_del="N"-o$choice_del="n")thenecho-n"请按回车继续...."break2elif(!`echo$choice_del|grep-q'^[1-9][0-9]*$'`)thenecho"无效的用户ID,有效ID应该由数字组成"echo-n"请输入用户ID:"readchoice_delelif(test$choice_del-lt500-o$choice_del-gt60000)thenecho"用户ID无效,ID应在500~60000之间"echo-n"请输入用户ID:"readchoice_delelseif(test`awk-F":"'$3=="'$choice_del'"'/etc/passwd|wc-c`-ne0)thenawk-F":"'$3=="'$choice_del'"'/etc/passwduser_del=`awk-F":"'$3=="'$choice_del'"'/etc/passwd|cut-d:-f1`user_del_home=`awk-F":"'$3=="'$choice_del'"'/etc/passwd|cut-d:-f6`echo-n"确认删除(YorN):"readyornif(test"$yorn"="Y"-o"$yorn"="y")thenuserdel$user_delif(test-d$user_del_home)thenrm-rf$user_del_homeifsleep1echo"删除成功"breakelif(test"$yorn"="N"-o"$yorn"="n")thensleep1echo"取消删除"break1elsebreakifelseecho"不存在该用户"echo-n"请输入ID:"readchoice_delififdone#再删除一个====================================================================if(test`awk-F":"'$3==0||$3>=500&&$3<=60000'/etc/passwd|wc-c`-ne0)thenrm-f$record_fileawk-F:'$3==0||$3>=500&&$3<=60000'/etc/passwd>>$record_fileifecho-n"再删除一个吗?YorN:"readyornif(test"$yorn"="y"-o"$yorn"="Y")thenyornadel=yelseyorndel=necho-n"按回车继续....."ifdone#!/bin/sh-record_file=/root/07zsb_04_26/passwdtemp_file=/root/07zsb_04_26/tempclearecho-e"删除用户记录\n"echo-n"输入用户ID:"readiddelete=ywhile(test$delete=y)doif(test-z$id)thenecho"用户ID没有输入!"echo-n"输入用户ID:"readidelif[`echo$id|grep'^[1-9][0-9]*'`]thengrep-i$id$record_file>$temp_fileif(test-s$temp_file)thenecho"用户信息为:"echo"`grep-i$id$record_file`"echo-n"是否删除?(Y)或(N):"readkeyif(test$key=y)thengrep-v$id$record_file>$temp_filemv-f$temp_file$record_filerm-f$temp_fileechoecho"记录删除!"echoecho-n"再删除一个?(Y)或(N):"readdeleteif(test$delete=y)thenechoecho-n"输入用户ID:"readidelsedelete=nifelsedelete=nrm-f$temp_fileifelseechoecho-n"用户ID:$id没有找到!"echoecho-n"按回车键继续....."readdelete=nrm-f$temp_fileifelseecho"无效ID!"echo-n"输入用户ID:"readiddone友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!
本文档为【linux用户管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥18.0 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
夕夕资料
拥有专业强大的教研实力和完善的师资团队,专注为用户提供合同简历、论文写作、PPT设计、计划书、策划案、各类模板等,同时素材和资料部分来自网络,仅供参考.
格式:doc
大小:52KB
软件:Word
页数:0
分类:互联网
上传时间:2021-06-23
浏览量:35