


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一緒論§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系統概述江1.1任務概述Linux作為多用戶、多任務的操作系統,其系統資源是所有用戶共享的。對用戶的管理是操作系統的重點。LINUX課程設計要用shell編程實現,將理論學習付諸實踐。設計一個腳本(shell)程序能實現增加、刪除、查找和顯示特定用戶信息的功能。江1.2需求規定程序要包括四個文件,即menuadd,delete,passwd四個文件。passwd文件是用來保存用戶信息;menu文件是主菜單,要求運行的時候能
3、顯示一個菜單供用戶選擇;addusers文件是用來增加信息;deluser文件是用來刪除信息。在主Shell腳本文件里(必須以menu命名)要有一個多操作選項的菜單以便用戶從中選擇。對于任務6和7,需要編寫單獨的Shell腳本文件(必須分別命名為addusers和deluser)并且在主腳本menu文件中調用這些腳本文件。§2.2功能需求在主Shell腳本文件里(必須以menu命名)要有一個多操作選項的菜單以便用戶從中選擇。在不同任務的中,這些操作能自動實現以下功能:1、在屏幕上顯示當前所有用戶的記錄2、在屏幕上顯示當前所有用戶(經過格式化和排序的)的記錄3、只在屏幕上顯示用戶名和用
4、戶ID4、只在屏幕上顯示(經過格式化和排序的)用戶名和用戶ID5、查詢并顯示特定用戶的記錄6、往passwd文件里增加新的用戶記錄7、從passwd文件里刪除某個用戶記錄你可以使用UNIX/LINUX中一些比較簡單的命令或命令組合來執行1、2、3、4、5的任務。對于任務6和7,你需要編寫單獨的Shell腳本文件(必須分別命名為addusers和deluser)并且在你的主腳本menu文件中調用這些腳本文件。三系統設計§3.1結構層次圖陷.2.運行流程(1)總運行流程主菜單,是否正確口提示錯JN、選擇誤繼續選擇(2)addusers模塊運行流程用戶添加是否正確填寫信息/TY添加用戶信息
5、提示錯誤進入工菜單(3)deluser模塊用戶運行流程戶ID是否存在用戶ID/提示錯誤是否刪除進入主菜單四系統實現主菜單:丈件(E)編輯(E)S«X)理端CDr'r用戶信息主菜單1.打印當前所有記錄2, 打卬當前所有it!錄(搭式化后的3. 打印用戶名和R1戶1DL打印(格式化了的用戶名和用PID5, 在詢特定訕錄6. 堆加新紀錄7刪除記錄O-退出|你的選擇是選擇1:打印當前所有用戶你的邊擇是:1JootX00ro-ot/root/biri/bashbiatx1bin/bin/sbin/noLogindaeiwnx22denun/sbin/$bin/nologinadmx34
6、adm/var/admZshin/nologinIpx47Ip/var/spoo1/Ipd/sbun/nologinsyncxS0sync/sbin/bini/synchuidowix60shut血w/sbin/sbin/huiJoamiha11x70ha11/sbin/sbin/ha11iuiIx812n®i1/rar/spoo1/rrai1/sbin/nologinnewsx913w-s/etc/ne選擇2:打印當前所有用戶記錄(格式化后)你的通抒是點rooLx00rool/root/bin/bashbinx11bin/bin/sbiii/no1ogindaenonx22daen
7、on/sbin/shin/iro1oginadm髯34udm/vai1/adm/sbin/iiologinIpX47】P/va/s.poo1/1pd/sbin/nologinsyncx50sync/sbin/bin/synchuTdciwix60shytdown/shin/sbin/shutiiownha11x70ha11/sbin/&bin/ha11iwi1xB12inii1/vur/spoo1/nuii1/shin/nologinneuskg13news/et"newsNbre1PressspaceIOcunLinue,1q'1LU111BJ選擇3:打印用戶名和用
8、戶ID你的選擇是:3rooI0bitt12sync5shuKkiwi6haIL7iwiI&news9-Mire一-Pressspacetocontinue"q1toquit.選擇4:打印用戶名和用戶ID(格式化后)你的選擇是:4gI()bin1daeoToni2adm3Ip4sync5*11Udewnha1l7rraiI8news9選擇5:查詢特定用戶沒有輸入關鍵字和輸入關鍵字沒有記錄:你的選擇是法清輸入K鍵字:你還沒仃輸入美況字晴輸入關憤字;*你輸入的用戶*不存在請按Eiitzr返回查找到記錄:你的選擇是:5唐輸入美健字:rrailangraiLang:X:SOO:5001
9、rrailang:/horre/rrai1ang?/bin/basb請按Finer返網:|選擇6:添加用戶添加成功:文件也編輯坦)查看GO終端CD轉到示用戶添加清輸入用戶?i:ihangsan請輸入密6666(56請輸入確認6:666666請輸入用戶105003請輸入組05003請輸入暨錄,he11(bashPshkashPcsh)::&h用尸添加成功詩按EnI”返M;,用戶名無效情況:用戶名只能是數字或字母,用戶名不能為空,丈件<切編輯近直看世終揣轉到新用萬添曲=請輸入用戶名we%用戶名只能是缺字或字母.請電新誦入用尸名:請輸入用戶名:用戶名不能為空,請重新輸入用戶名:請愉入用
10、尸名:liN請輸入密碼密碼無效:密碼不能小于6,密碼不能為空,密碼只能是數字或字母,密碼必須和確認密碼相同請輸入密碼點3寮碼長值不能小于6請輸入密碼;實用只密碼只能為數字或字冊,悄重新輸入密碼請輸入室碼:用戶密碼不能為空,請輸入密碼墻輸入密碼:666666情輸入確認'密碼:fdda兩次的密碼不匹配請輸入密碼:666666請輸入確認甫碼:6666礎請輸入用戶2用戶ID無效:用戶ID不能為空,用戶ID不能小于500,用戶ID只能為數字請輸入用尸用戶ID下能為空請輸入用戶ID:d3用戶ID只能為數字請輸入H1P1O44用戶ID不能小于50D靖重新輸入請輸入用戶11>5004請輸入mir
11、>l組ID無效:組ID不能為空,組ID不能小于500,組ID只能為數字請輸入組|aiiw能為空,請重新輸入請輸入組1034組呼能小于5加.請重小輸入請輸入組ID:d4粗1。只能為數字請輸入組1&5003請輸入琵錄sh#HEbashtahkashtcsli)i登錄shell無效:shell只能是bash,sh,kash,csh中的一種,shell不能空請輸入卷錄鼻he11(bash,shkashrcsh:你輸入的暑版n名不存在.本系統中展重新輸入請輸入登錄sheIKbash,shkashfcsh);te你榆入的sheILS不存在木系統中,請更新輸入請輸入登錄beU(ha$h.shk
12、wh,:gh選擇7:刪除用戶查找用戶ID存在,是否要刪除選Y,刪除成功:丈伯E編輯也:rtfrv)用戶刪除輸入用ID:502是否要tt|»(Y/N):Y刪除成功諳叔hiteI返I11:,用戶ID不存在和沒有輸入用戶ID情況:口心"【gHIx祐七、文件陞)爆輯,丘)查看(里)fflPWJ除輸久用戶1以用FID不能為空輸入用戶IB5009用戶不存任討按En2返同:,用戶ID存在,在確認刪除選N和其他字符是退出:rqcM>'loc3LboLrooL'localliosL文件(E)編輯£)查看色9用戶刪除輸入H廣】6SQ03是否要刪除(Y/N;N|r
13、ootlocaIhotroot#I選擇Q退出文件£)瑞尚E)查看史)終用戶刪除愉入用PICh5003是杏要制除(Y/N):drmplocalhiasL丈件。嫁我查看也終端山用戶信息主菜單1.打印當前所仃記錄2.打印當的所“記錄(格式化JSH)M打印用戶名和用戶IDL打印f格式化了的用尸名和用戶ID5. 在闈特定訕斌6. 增加新紀錄7. 刪除記燧O-退出你的選擇是:。rootiocaIbostroot)!不正確選擇:ool口k)W11)0沌文件回褊輯里J查看(里)些端用戶信息主菜單】.打中當前所有記錄2,打印當前所仃記錄t辯式化后的)3,打申用戶名和用AID4.打印(格式化了的用戶名和
14、用戶1D5.杳詢特定記錄6,增擁新兄錄"刪除記錄0-退出你的的擇是:dJnvaIidoption請按印im返|N;|五代碼實現主菜單代碼#!/bin/bash#刪除用戶clearecho"用戶刪除"echo"="whiletruedoread-p"輸入用戶ID:"useridsif(test'exprmatch"$userids""0-9*"'-ne'exprlength"$userids"')thenecho"輸入的用戶I
15、D只能是數字,請重新輸入"elif(test-z"$userids")thenecho"用戶ID不能為空"elsebreakfidonegetuserid=$(awk-F':''$3="'$userids'"(print$3'passwd)if(test$getuserid)thenread-p"是否要刪除(Y/N):"ackif(test"$ack"="Y")thensed-i'/'"$us
16、erids"'/d'passwdif(test$?-eq0)thenecho"刪除成功"elseecho"刪除失敗"breakfielsebreakfielseecho"用戶不存在"fi用戶添加代碼#!/bin/bashclear#用戶名echo"新用戶添加"echo"="whiletruedoecho-n"請輸入用戶名:"readusernamea='exprmatch"$username""0-9a-zA-Z
17、*"'b='exprlength"$username"'if(test$a-ne$b)thenecho"用戶名只能是數字或字母,請重新輸入用戶名:"elif(test-z"$username")thenecho"用戶名不能為空,請重新輸入用戶名:"elsebreakfidone#用戶密碼whiletruedoread-p"請輸入密碼:"passwdif(test'exprmatch"$passwd""0-9a-zA-Z*&q
18、uot;'-ne'exprlength"$passwd')thenelif(test-z"$passwd")thenecho"用戶密碼不能為空,請輸入密碼"elif(test'exprlength"$passwd"'-It6)thenecho"密碼長度不能小于6"elseread-p"請輸入確認密碼:"ackpwif(test"$passwd"="$ackpw")thenbreakelseecho"
19、;兩次的密碼不匹配"fifidone#用戶IDwhiletruedoread-p"請輸入用戶ID:"useridif(test'exprmatch"$userid""0-9*"'-ne'exprlength"$userid"')thenecho”用戶ID只能為數字"elif(test-z"$userid")thenecho"用戶ID不能為空"elif(test$userid-lt500)thenecho"用戶ID不
20、能小于500,請重新輸入"elsebreakfidone#組IDwhiletruedoread-p"請輸入組ID:"groupidif(test'exprmatch"$groupid""0-9*"'-ne'exprlength"$groupid"')thenecho"組ID只能為數字"elif(test-z"$groupid")thenecho"組ID不能為空,請重新輸入"elif(test$groupid-lt5
21、00)thenecho"組ID不能小于500,請重新輸入"elsebreakfidone#登錄shellwhiletruedoread-p"請輸入登錄shell(bash,shkash,csh):"shellnameif(test"$shellname"!="bash"-a"$shellname"!="sh"-a"$shellname"!="kash"-a"$shellname"!="csh")t
22、henecho”你輸入的shell名不存在本系統中,請重新輸入"elsebreakfidone#添加用戶userinfo="$username:$passwd:$userid:$groupid:$username:/home/$username:/bin/$shellname"if(test$?-ne1)thenecho$userinfo>>passwdif(test$?-eq0)thenecho"用戶添加成功"elseecho"用戶添加失敗"fifi用戶刪除代碼#!/bin/bash#刪除用戶clearecho"用戶刪除"echo"="whiletruedoread-p"輸入用戶ID:"useridsif(test'exprmatch"$userids"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB 5009.305-2025食品安全國家標準食品中雙酚A、雙酚F和雙酚S的測定
- 嵩山少林武術職業學院《航空航天概論》2023-2024學年第二學期期末試卷
- 貴州工業職業技術學院《教育法規與職業道德》2023-2024學年第二學期期末試卷
- 河北經貿大學《華為HCIA-GausDB應用開發實訓》2023-2024學年第一學期期末試卷
- 西北大學現代學院《生藥學實驗》2023-2024學年第一學期期末試卷
- 桂林信息科技學院《倫理學理論教學》2023-2024學年第一學期期末試卷
- 上海興偉學院《汽車電器與電子技術B》2023-2024學年第二學期期末試卷
- 遂寧能源職業學院《英語二》2023-2024學年第二學期期末試卷
- 建筑勞務聯合經營合同
- 建筑工程擴大勞務清包合同
- 老年肺炎臨床診斷與治療專家共識解讀(2025年)解讀課件
- 制藥廢水處理工藝
- 《鄉村振興促進法》參考試題庫80題(含答案)
- 2025年晉城職業技術學院高職單招數學歷年(2016-2024)頻考點試題含答案解析
- 2024高職單招考試(語文)試題(附答案)人人文庫
- 2023-2024學年江蘇南京秦淮區七年級下冊語文期中試卷及答案
- 博士后研究計劃書
- DB22T 3661-2024省級專項規劃編制實施規范
- 客戶服務與溝通技巧提升考核試卷
- 【MOOC】電路基礎-西北工業大學 中國大學慕課MOOC答案
- 電工高級技師考試題庫及答案
評論
0/150
提交評論