linux大作业:用户管理系统

您所在的位置:网站首页 shell编程简单实例 linux大作业:用户管理系统

linux大作业:用户管理系统

2023-09-10 04:59| 来源: 网络整理| 查看: 265

linux大作业:用户管理系统 系统介绍

本次设计的用户管理系统是利用shell实现增加、删除、查找和显示用户信息,并可以批量对用户进行添加和删除操作的功能的简单系统。相对比较简单,如若有错的地方,请各位大佬见笑了。希望这篇文章能帮助有需要的人。

系统设计 程序主流程图:

在这里插入图片描述

各功能设计流程图:

在这里插入图片描述

各功能作用:

1)查看当前用户信息: 输入选项1——执行操作——显示用户信息 2)添加新用户 输入选项2——执行操作——输入需要创建用户的用户名——输入账户密码——若用户不存在,则创建新用户;若用户存在,则进行用户的密码修改操作——按任意键清屏返回主界面。 3)删除用户 输入选项3——执行操作——输入需删除的用户名——若用户存在,则删除错误;若不存在,则提示无此用户。 4)寻找其他用户 输入选项4——执行操作——输入需查找的用户关键词——若存在,显示用户路径信息;若不存在,则做出提示。 5)批量添加用户 输入选项5——执行操作——输入需要添加的用户名主名——输入添加个数——用户添加成功,默认在用户名后面加1、2……作为添加的用户名,密码默认为用户名 6)批量删除用户 输入选项6——执行操作——输入删除的主用户名——输入删除个数——默认删除主用户名+1、2……的用户,若不存在,会提示; 7)退出系统 输入选项5——执行操作——退出系统。

系统实现 #! /bin/bash function show() { clear; echo "****************************************************************************"; echo "*** 欢迎使用用户管理系统 ***"; echo "*** 1 : 列出当前用户所有信息 ***"; echo "*** 2 : 添加新用户 ***"; echo "*** 3 : 删除用户 ***"; echo "*** 4 : 寻找其他用户 ***"; echo "*** 5 : 批量添加用户 ***"; echo "*** 6 : 批量删除用户 ***"; echo "*** 7 : 退出系统 ***"; echo "****************************************************************************"; echo "请为您需要的功能选择号码!"; echo "请输入你的选择:"; } function List_users() { awk -F: '{print "id "$1}' /etc/passwd | bash; } function Add_a_user() { user="$1" pwd="$2" useradd "$user" # 添加账户 echo "$pwd" | passwd --stdin "$user" # 设置密码 if [[ "$?" == 0 ]]; then echo "用户已经创建成功" fi } function Delete_a_user() { user="$1" userdel "$user" # 删除用户 if [[ "$?" == 0 ]]; then echo "已经删除${user}用户" fi } function Find_a_user() { read -p "请输入要查找的用户名:" user3; grep -n "$user3" /etc/passwd; if [ $? -eq 1 ] then echo "用户不存在!"; fi } function create_users(){ user="$1" pwd="$2" num="$3" for ((i=1;ii} useradd "$username" # 添加用户 if [ $? -ne 0 ];then echo "user exist" fi echo "$pwd" | passwd --stdin "$username" # 设置密码 if [[ "$?" == 0 ]]; then echo "用户已经创建成功" fi done } function delete_users(){ user="$1" num="$2" for ((i=1;ii} userdel -r "${username}" # 删除用户 if [[ $? -eq 0 ]]; then echo "已经删除${username}用户" else echo "user $username does not exist" fi done } function Quit() { echo "Bye bye!"; exit 0; } function main() { for i in $(seq 1 100) do show; read choice; case $choice in 1)List_users;; 2) read -p "请输入需要创建的用户名:" uname read -p "请给该账户设置一个密码:" passwd Add_a_user "$uname" "$passwd" ;; 3) read -p "请输入需要删除的用户名:" uname Delete_a_user "$uname" ;; 4)Find_a_user;; 5)read -p "请输入需要创建的用户名:" uname read -p "请输入创建的个数:" num passwd="123456" create_users "$uname" "$passwd" "$num" ;; 6)read -p "请输入需要删除的用户名:" uname read -p "请输入需要删除的个数:" num delete_users "$uname" "$num" ;; 7)Quit;; *)echo "Incorrect input!";; esac read delay; if [ $i -eq 100 ]; then echo "error"; clear; break; fi done } main; 测试结果(如下截图)

1.输入除功能选项外的其他字符(提示输入错误) 在这里插入图片描述 2.输入功能选项1(列出当前用户所有信息) 在这里插入图片描述 3.输入功能选项2(添加新用户) 用户不存在时: 在这里插入图片描述 用户已存在的情况: 在这里插入图片描述 4.功能选项3(删除用户) 删除已存在用户 在这里插入图片描述 删除不存在用户: 在这里插入图片描述 5.功能选项4(寻找其他用户) 寻找系统中有关键词存在的用户: 在这里插入图片描述 寻找关键词不存在的用户: 在这里插入图片描述 6.选项功能5(批量添加用户) 在这里插入图片描述 7.选项功能6(批量删除用户) 1)删除用户存在 在这里插入图片描述 2)删除用户不存在 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3