Linux编程用户信息管理.docx

上传人:安*** 文档编号:19195667 上传时间:2022-06-05 格式:DOCX 页数:21 大小:97.80KB
返回 下载 相关 举报
Linux编程用户信息管理.docx_第1页
第1页 / 共21页
Linux编程用户信息管理.docx_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《Linux编程用户信息管理.docx》由会员分享,可在线阅读,更多相关《Linux编程用户信息管理.docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Linux编程用户信息管理一绪论1.1设计背景Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intelx86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。1.2设计目的在Linux系统的/etc目录下有这样一个文件passwd,该文件里包含系统中所有用户信息的记录,记录里包含每个用户的如下信息:用户名、密码、用户ID、组ID、用户全名、用户主目录和用户登录所用的shell。请设计

2、一个脚本shell程序能实现增加、删除、查找和显示特定用户信息的功能。你们能够通过创立一些UNIX/LINUXshell脚本文件来知足以上需求。二需求分析2.1系统概述2.1.1任务概述Linux作为多用户、多任务的操作系统,其系统资源是所有用户分享的。对用户的管理是操作系统的重点。LINUX课程设计要用shell编程实现,将理论学习付诸实践。设计一个脚本shell程序能实现增加、删除、查找和显示特定用户信息的功能。2.1.2需求规定程序要包括四个文件,即menu,add,delete,passwd四个文件。passwd文件是用来保存用户信息;menu文件是主菜单,要求运行的时候能显示一个菜单

3、供用户选择;addusers文件是用来增加信息;deluser文件是用来删除信息。在主Shell脚本文件里必须以menu命名要有一个多操作选项的菜单以便用户从中选择。对于任务6和7,需要编写单独的Shell脚本文件必须分别命名为addusers和deluser并且在主脚本menu文件中调用这些脚本文件。2.2功能需求在主Shell脚本文件里必须以menu命名要有一个多操作选项的菜单以便用户从中选择。在不同任务的中,这些操作能自动实现下面功能:1、在屏幕上显示当前所有用户的记录2、在屏幕上显示当前所有用户经过格式化和排序的的记录3、只在屏幕上显示用户名和用户ID4、只在屏幕上显示经过格式化和排序

4、的用户名和用户ID5、查询并显示特定用户的记录6、往passwd文件里增加新的用户记录7、从passwd文件里删除某个用户记录你能够使用UNIX/LINUX中一些比拟简单的命令或命令组合来执行1、2、3、4、5的任务。对于任务6和7,你需要编写单独的Shell脚本文件必须分别命名为addusers和deluser并且在你的主脚本menu文件中调用这些脚本文件。三系统设计3.1构造层次图3.2.运行流程不正确选择:五代码实现1主菜单代码#!/bin/bash#删除用户clearecho用户删除echo=whiletruedoread-p输入用户ID:useridsif(testexprmatch

5、$userids0-9*-neexprlength$userids)thenecho输入的用户ID只能是数字,请重新输入elif(test-z$userids)thenecho用户ID不能为空elsebreakfidonegetuserid=$(awk-F:$3=$useridsprint$3passwd)if(test$getuserid)thenread-p能否要删除(Y/N):ackif(test$ack=Y)thensed-i/$userids/dpasswdif(test$?-eq0)thenecho删除成功elseecho删除失败breakfielsebreakfielseecho

6、用户不存在fi2用户添加代码#!/bin/bashclear#用户名echo新用户添加echo=whiletruedoecho-n请输入用户名:readusernamea=exprmatch$username0-9a-zA-Z*b=exprlength$usernameif(test$a-ne$b)thenecho用户名只能是数字或字母,请重新输入用户名:elif(test-z$username)thenecho用户名不能为空,请重新输入用户名:elsebreakfidone#用户密码whiletruedoread-p请输入密码:passwdif(testexprmatch$passwd0-9

7、a-zA-Z*-neexprlength$passwd)thenecho用户密码只能为数字或字母,情重新输入密码elif(test-z$passwd)thenecho用户密码不能为空,请输入密码elif(testexprlength$passwd-lt6)thenecho密码长度不能小于6elseread-p请输入确认密码:ackpwif(test$passwd=$ackpw)thenbreakelseecho两次的密码不匹配fifidone#用户IDwhiletruedoread-p请输入用户ID:useridif(testexprmatch$userid0-9*-neexprlength$

8、userid)thenecho用户ID只能为数字elif(test-z$userid)thenecho用户ID不能为空elif(test$userid-lt500)thenecho用户ID不能小于500,请重新输入elsebreakfidone#组IDwhiletruedoread-p请输入组ID:groupidif(testexprmatch$groupid0-9*-neexprlength$groupid)thenecho组ID只能为数字elif(test-z$groupid)thenecho组ID不能为空,请重新输入elif(test$groupid-lt500)thenecho组ID不

9、能小于500,请重新输入elsebreakfidone#登录shellwhiletruedoread-p请输入登录shell(bash,shkash,csh):shellnameif(test$shellname!=bash-a$shellname!=sh-a$shellname!=kash-a$shellname!=csh)thenecho你输入的shell名不存在本系统中,请重新输入elsebreakfidone#添加用户userinfo=$username:$passwd:$userid:$groupid:$username:/home/$username:/bin/$shellname

10、if(test$?-ne1)thenecho$userinfopasswdif(test$?-eq0)thenecho用户添加成功elseecho用户添加失败fifi3用户删除代码#!/bin/bash#删除用户clearecho用户删除echo=whiletruedoread-p输入用户ID:useridsif(testexprmatch$userids0-9*-neexprlength$userids)thenecho输入的用户ID只能是数字,请重新输入elif(test-z$userids)thenecho用户ID不能为空elsebreakfidonegetuserid=$(awk-F:$3=$useridsprint$3passwd)if(test$getuserid)thenread-p能否要删除(Y/N):ackif(test$ack=Y)thensed-i/$userids/dpasswdif(test$?-eq0)thenecho删除成功elseecho删除失败

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁