2022年Linux编程用户信息管理 .pdf

上传人:Che****ry 文档编号:27266476 上传时间:2022-07-23 格式:PDF 页数:12 大小:747.76KB
返回 下载 相关 举报
2022年Linux编程用户信息管理 .pdf_第1页
第1页 / 共12页
2022年Linux编程用户信息管理 .pdf_第2页
第2页 / 共12页
点击查看更多>>
资源描述

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

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

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

3、来保存用户信息 ;menu文件是主菜单 , 要求运行的时候能显示一个菜单供用户选择;addusers文件是用来增加信息;deluser文件是用来删除信息。在主 Shell 脚本文件里 (必须以menu 命名)要有一个多操作选项的菜单以便用户从中选择。对于任务6 和 7,需要编写单独的Shell 脚本文件(必须分别命名为addusers 和 deluser)并且在主脚本menu 文件中调用这些名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - -

4、- - - 脚本文件。2.2 功能需求在主 Shell 脚本文件里(必须以menu 命名) 要有一个多操作选项的菜单以便用户从中选择。在不同任务的中,这些操作能自动实现以下功能:1、 在屏幕上显示当前所有用户的记录2、 在屏幕上显示当前所有用户(经过格式化和排序的)的记录3、 只在屏幕上显示用户名和用户ID 4、 只在屏幕上显示(经过格式化和排序的)用户名和用户ID 5、 查询并显示特定用户的记录6、 往 passwd 文件里增加新的用户记录7、 从 passwd 文件里删除某个用户记录你可以使用UNIX/LINUX中一些比较简单的命令或命令组合来执行1、2、3、4、5 的任务。 对于任务 6

5、和 7, 你需要编写单独的Shell 脚本文件(必须分别命名为addusers和 deluser)并且在你的主脚本menu 文件中调用这些脚本文件。三 系统设计 3.1结构层次图显示当前所有用户的记录显示当前所有用户经格式化主菜单删除用户信息显示用户名和用户ID显示格式化后用户名和用户查找指定用户信息添加用户信息退出 3.2.运行流程名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - (1)总运行流程主菜单Y功能实现退出Y提示错误

6、N是否正确选择是否选QN继续选择(2)addusers模块运行流程用户添加Y添加用户信息进入主菜单提示错误N是否正确填写信息(3)deluser模块用户运行流程名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 用户删除Y进入主菜单Y提示错误N是否存在用户 ID输入用户ID是否删除N删除成功四 系统实现主菜单:选择 1:打印当前所有用户选择 2:打印当前所有用户记录(格式化后)名师资料总结 - - -精品资料欢迎下载 - - -

7、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 选择 3:打印用户名和用户ID 选择 4:打印用户名和用户ID(格式化后)选择 5:查询特定用户没有输入关键字和输入关键字没有记录:查找到记录:选择 6:添加用户添加成功:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 用户名无效情况:用户名只能是数字或字母,用户名

8、不能为空,密码无效: 密码不能小于,密码不能为空,密码只能是数字或字母,密码必须和确认密码相同用户 ID 无效:用户ID 不能为空,用户ID 不能小于,用户ID 只能为数字组 ID 无效:组 ID 不能为空,组ID 不能小于,组ID 只能为数字名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 登录 shell 无效: shell 只能是 bash,sh,kash,csh中的一种, shell 不能空选择 7:删除用户查找用户ID

9、 存在,是否要删除选Y,删除成功:用户 ID 不存在和没有输入用户ID 情况:用户 ID 存在,在确认删除选N 和其他字符是退出:选择 Q:退出名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 不正确选择:五 代码实现1)主菜单代码#! /bin/bash #删除用户clear echo 用户删除 echo = while true do read -p 输入用户 ID: userids if( test expr match

10、$userids 0-9* -ne expr length $userids ) then echo 输入的用户ID 只能是数字 ,请重新输入 elif ( test -z $userids ) then echo 用户 ID 不能为空 else break fi done 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - getuserid=$( awk -F : $3 = $userids print $3 passwd )

11、 if ( test $getuserid ) then read -p 是否要删除 (Y/N): ack if (test $ack = Y ) then sed -i /$userids/d passwd if ( test $? -eq 0) then echo 删除成功 else echo 删除失败 break fi else break fi else echo 用户不存在 fi 2)用户添加代码#! /bin/bash clear #用户名echo 新用户添加 echo = while true do echo -n 请输入用户名 : read username a= expr m

12、atch $username 0-9a-zA-Z* b= expr length $username if ( test $a -ne $b ) then echo 用户名只能是数字或字母,请重新输入用户名: elif ( test -z $username ) then echo 用户名不能为空,请重新输入用户名: else break fi done #用户密码while true do read -p 请输入密码 : passwd if ( test expr match $passwd 0-9a-zA-Z* -ne expr length $passwd ) then echo 用户密

13、码只能为数字或字母,情重新输入密码 elif ( test -z $passwd ) then 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 12 页 - - - - - - - - - echo 用户密码不能为空,请输入密码 elif ( test expr length $passwd -lt 6 ) then echo 密码长度不能小于6 else read -p 请输入确认密码: ackpw if(test $passwd = $ackpw ) then bre

14、ak else echo 两次的密码不匹配 fi fi done #用户 ID while true do read -p 请输入用户ID: userid if ( test expr match $userid 0-9* -ne expr length $userid ) then echo 用户 ID 只能为数字 elif ( test -z $userid) then echo 用户 ID 不能为空 elif ( test $userid -lt 500 ) then echo 用户 ID 不能小于500,请重新输入 else break fi done #组 ID while true

15、 do read -p 请输入组ID: groupid if ( test expr match $groupid 0-9* -ne expr length $groupid ) then echo 组 ID 只能为数字 elif ( test -z $groupid ) then echo 组 ID 不能为空 , 请重新输入 elif ( test $groupid -lt 500 ) then echo 组 ID 不能小于500,请重新输入 else break fi done #登录 shell while true do 名师资料总结 - - -精品资料欢迎下载 - - - - - -

16、 - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - read -p 请输入登录shell(bash,sh kash,csh): shellname if (test $shellname != bash -a $shellname != sh -a $shellname != kash -a $shellname != csh ) then echo 你输入的shell 名不存在本系统中,请重新输入 else break fi done #添加用户userinfo=$username:$pa

17、sswd:$userid:$groupid:$username:/home/$username:/bin/$shellname if ( test $? -ne 1 ) then echo $userinfo passwd if ( test $? -eq 0 ) then echo 用户添加成功 else echo 用户添加失败 fi fi 3)用户删除代码#! /bin/bash #删除用户clear echo 用户删除 echo = while true do read -p 输入用户ID: userids if( test expr match $userids 0-9* -ne ex

18、pr length $userids ) then echo 输入的用户ID 只能是数字 ,请重新输入 elif ( test -z $userids ) then echo 用户 ID 不能为空 else break fi done getuserid=$( awk -F : $3 = $userids print $3 passwd ) if ( test $getuserid ) then read -p 是否要删除 (Y/N): ack if (test $ack = Y ) then sed -i /$userids/d passwd if ( test $? -eq 0) then

19、 echo 删除成功 else echo 删除失败 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 12 页 - - - - - - - - - break fi else break fi else echo 用户不存在 fi 六 心得体会在本次 shell 大作业中,学习了很多知识, 掌握的很多Linux 的相关命令, 同时也对Linux有了更深的了解,在shell 编程中也找到了一些技巧,加深了对shell 编程的能力和认识。这也对自己以后的学习Linux 知识更见有帮助。在实现这些功能时,边学习边尝试,查阅相关知识和书本。在此期间虽然有些烦躁,但是能够实现功能也是一件很快乐的事。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -

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

当前位置:首页 > 教育专区 > 高考资料

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

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