Linux编程用户信息管理

Linux编程用户信息管理
Linux编程用户信息管理

......

一绪论

§1.1 设计背景

Linux 是一套免费使用和自由传播的类Unix 操作系统,是一个基于POSIX 和 UNIX 的多用户、多任务、支持多线程和多CPU 的操作系统。 Linux 继承了 Unix 以网络为核心的设

计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86 系列 CPU 的计

算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。

§1.2 设计目的

在 Linux 系统的 /etc 目录下有这样一个文件passwd ,该文件里包含系统中所有用户信息的记录,记录里包含每个用户的如下信息:用户名、密码、用户ID、组ID、用户全名、

用户主目录和用户登录所用的shell 。请设计一个脚本(shell)程序能实现增加、删除、查

找和显示特定用户信息的功能。你们可以通过创建一些UNIX/LINUX shell脚本文件来满足

以上需求。

二需求分析

§2.1 系统概述

§2.1.1 任务概述

Linux 作为多用户、多任务的操作系统,其系统资源是所有用户共享的。对用户的管理是操作系统的重点。 LINUX 课程设计要用shell 编程实现,将理论学习付诸实践。设计一个脚本( shell )程序能实现增加、删除、查找和显示特定用户信息的功能。

§2.1.2 需求规定

程序要包括四个文件,即 menu , add , delete , passwd 四个文件。 passwd 文件是用来保存用户信息; menu文件是主菜单,要求运行的时候能显示一个菜单供用户选择;addusers 文件是用来增加信息;deluser文件是用来删除信息。在主Shell脚本文件里(必须以menu命名)要有一个多操作选项的菜单以便用户从中选择。对于任务 6 和 7,需要

......

编写单独的Shell 脚本文件(必须分别命名为addusers 和 deluser )并且在主脚本 menu 文件中调用这些脚本文件。

§2.2 功能需求

在主 Shell 脚本文件里(必须以 menu 命名)要有一个多操作选项的菜单以便用户从中选择。在不同任务的中,这些操作能自动实现以下功能:

1、在屏幕上显示当前所有用户的记录

2、在屏幕上显示当前所有用户(经过格式化和排序的)的记录

3、只在屏幕上显示用户名和用户ID

4、只在屏幕上显示(经过格式化和排序的)用户名和用户ID

5、查询并显示特定用户的记录

6、往 passwd 文件里增加新的用户记录

7、从 passwd 文件里删除某个用户记录

你可以使用UNIX/LINUX中一些比较简单的命令或命令组合来执行1、 2 、 3、 4、5 的任务。对于任务 6 和 7,你需要编写单独的 Shell 脚本文件(必须分别命名为addusers和deluser )并且在你的主脚本menu 文件中调用这些脚本文件。

三系统设计

§3.1结构层次图

主菜单

显示显示

显示显示

当前当前格式查找

用户添加删除

所有所有化后指定

名和用户用户退出用户用户用户用户

用户信息信息

的记经格名和信息

ID

录式化用户

......

§3.2.运行流程

(1)总运行流程

主菜单

是否正确提示错

Y N

选择误

功能实

是否选Q N继续选择

Y

退出

(2) addusers 模块运行流程

用户添加

是否正确

N

填写信息

提示错

Y

添加用

户信息

进入主

菜单

(3)deluser 模块用户运行流程

. .

用户删除

输入用

户 ID

是否存在

N

用户 ID

Y

... .

提示错

是否删除N

Y

删除成

进入主

菜单

四系统实现

主菜单:

选择 1 :打印当前所有用户

选择 2 :打印当前所有用户记录(格式化后)

......

选择 3 :打印用户名和用户ID

选择 4 :打印用户名和用户ID (格式化后)

选择 5 :查询特定用户

没有输入关键字和输入关键字没有记录:

查找到记录:

选择 6 :添加用户

相关主题
相关文档
最新文档