版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、一 緒論1.1 設(shè)計背景Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX和 UNIX的多用戶、多任務(wù)、支持多線程和多CPU 的操作系統(tǒng)。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想, 是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。它主要用于基于Intel x86系列CPU的計算機上。這個系統(tǒng)是由全世界各地的成千上萬的程序員設(shè)計和實現(xiàn)的。1.2 設(shè)計目的在Linux系統(tǒng)的/etc目錄下有這樣一個文件passwd,該文件里包含系統(tǒng)中所有用戶信息的記錄,記錄里包含每個用戶的如下信息:用戶名、密碼、用戶ID 、組ID、用戶全名、用戶主目錄和用戶登錄所用的shell 。請設(shè)計一個腳本
2、(shell )程序能實現(xiàn)增加、刪除、查找和顯示特定用戶信息的功能。你們可以通過創(chuàng)建一些UNIX/LINUX shell腳本文件來滿足以上需求。二 需求分析2.1 系統(tǒng)概述2.1.1 任務(wù)概述Linux 作為多用戶、多任務(wù)的操作系統(tǒng),其系統(tǒng)資源是所有用戶共享的。對用戶的管理是操作系統(tǒng)的重點。LINUX 課程設(shè)計要用shell 編程實現(xiàn),將理論學(xué)習(xí)付諸實踐。設(shè)計一個腳本( shell )程序能實現(xiàn)增加、刪除、查找和顯示特定用戶信息的功能。2.1.2 需求規(guī)定程序要包括四個文件,即menu, add, delete , passwd 四個文件。 passwd 文件是用來保存用戶信息 ;menu文件
3、是主菜單, 要求運行的時候能顯示一個菜單供用戶選擇;addusers文件是用來增加信息;deluser文件是用來刪除信息。在主Shell 腳本文件里 (必須以menu命名)要有一個多操作選項的菜單以便用戶從中選擇。對于任務(wù)6 和7,需要編寫單獨的Shell腳本文件(必須分別命名為addusers 和deluser)并且在主腳本menu文件中調(diào)用這些腳本文件。2.2 功能需求在主 Shell 腳本文件里(必須以 menu 命名)要有一個多操作選項的菜單以便用戶從中選擇。在不同任務(wù)的中,這些操作能自動實現(xiàn)以下功能:1、 在屏幕上顯示當(dāng)前所有用戶的記錄2、 在屏幕上顯示當(dāng)前所有用戶(經(jīng)過格式化和排序
4、的)的記錄3、 只在屏幕上顯示用戶名和用戶ID4、 只在屏幕上顯示(經(jīng)過格式化和排序的)用戶名和用戶ID5、 查詢并顯示特定用戶的記錄6、 往 passwd 文件里增加新的用戶記錄7、 從 passwd 文件里刪除某個用戶記錄你可以使用UNIX/LINUX中一些比較簡單的命令或命令組合來執(zhí)行1、 2、3、 4、 5 的任務(wù)。對于任務(wù) 6 和 7,你需要編寫單獨的Shell 腳本文件(必須分別命名為addusers和 deluser)并且在你的主腳本menu 文件中調(diào)用這些腳本文件。三 系統(tǒng)設(shè)計3.1 結(jié)構(gòu)層次圖主菜單顯示顯示顯示顯示當(dāng)前當(dāng)前格式查找添加刪除所有用戶所有化后指定名和用戶用戶退出用
5、戶用戶用戶用戶的記用戶信息信息經(jīng)格名和信息ID錄式化用戶3.2.運行流程(1)總運行流程主菜單是否正確提示錯YN選擇誤功能實是否選QN繼續(xù)選擇現(xiàn)Y退出( 2) addusers模塊運行流程用戶添加是否正確填寫信息NY提示錯添加用誤戶信息進入主菜單(3)deluser 模塊用戶運行流程用戶刪除輸入用戶 ID是否存在N用戶 IDY提示錯誤是否刪除NY刪除成功進入主菜單四 系統(tǒng)實現(xiàn)主菜單:選擇 1:打印當(dāng)前所有用戶選擇 2:打印當(dāng)前所有用戶記錄(格式化后)選擇 3:打印用戶名和用戶ID選擇 4:打印用戶名和用戶ID (格式化后)選擇 5:查詢特定用戶沒有輸入關(guān)鍵字和輸入關(guān)鍵字沒有記錄:查找到記錄:選
6、擇 6:添加用戶添加成功:用戶名無效情況:用戶名只能是數(shù)字或字母,用戶名不能為空,密碼無效: 密碼不能小于,密碼不能為空, 密碼只能是數(shù)字或字母, 密碼必須和確認(rèn)密碼相同用戶 ID 無效:用戶ID 不能為空,用戶ID 不能小于,用戶ID 只能為數(shù)字組 ID 無效:組ID 不能為空,組ID 不能小于,組ID 只能為數(shù)字登錄 shell 無效: shell 只能是 bash,sh,kash,csh中的一種, shell 不能空選擇 7:刪除用戶查找用戶ID 存在,是否要刪除選Y ,刪除成功:用戶 ID 不存在和沒有輸入用戶ID 情況:用戶 ID 存在,在確認(rèn)刪除選N 和其他字符是退出:選擇 Q:退
7、出不正確選擇:五 代碼實現(xiàn)1)主菜單代碼#! /bin/bash#刪除用戶clearecho 用戶刪除echo =while truedoread -p 輸入用戶ID: useridsif( test exprmatch $userids 0-9* -ne expr length $userids ) thenecho 輸入的用戶ID 只能是數(shù)字 ,請重新輸入 elif ( test -z $userids ) thenecho 用戶 ID 不能為空 elsebreakfidonegetuserid=$( awk -F : $3 = $userids print $3 passwd )if (
8、 test $getuserid) thenread -p 是否要刪除 (Y/N): ackif (test $ack = Y ) thensed -i /$userids/d passwdif ( test $? -eq 0) thenecho 刪除成功 elseecho 刪除失敗 breakfielsebreakfielseecho 用戶不存在 fi2)用戶添加代碼#! /bin/bashclear#用戶名echo 新用戶添加echo =while truedoecho -n 請輸入用戶名 :read usernamea= expr match $username 0-9a-zA-Z* b
9、= expr length $username if ( test $a -ne $b ) thenecho 用戶名只能是數(shù)字或字母,請重新輸入用戶名:elif ( test -z $username ) thenecho 用戶名不能為空,請重新輸入用戶名:elsebreakfidone#用戶密碼while truedoread -p 請輸入密碼 : passwdif ( test expr match $passwd 0-9a-zA-Z* -ne expr length $passwd ) thenecho 用戶密碼只能為數(shù)字或字母,情重新輸入密碼elif ( test -z $passwd
10、 ) thenecho 用戶密碼不能為空,請輸入密碼 elif ( test expr length $passwd -lt 6 ) thenecho 密碼長度不能小于6elseread -p 請輸入確認(rèn)密碼: ackpwif(test $passwd = $ackpw ) thenbreakelseecho 兩次的密碼不匹配fifidone#用戶 IDwhile truedoread -p 請輸入用戶ID: useridif ( test expr match $userid 0-9* -ne expr length $userid ) thenecho 用戶 ID 只能為數(shù)字 elif (
11、 test -z $userid) thenecho 用戶 ID 不能為空 elif ( test $userid -lt 500 ) thenecho 用戶 ID 不能小于500,請重新輸入 elsebreakfidone#組 IDwhile truedoread -p 請輸入組ID: groupidif ( test expr match $groupid 0-9* -ne expr length $groupid echo 組 ID 只能為數(shù)字 elif ( test -z $groupid ) thenecho 組 ID 不能為空 , 請重新輸入 elif ( test $groupi
12、d -lt 500 ) thenecho 組 ID 不能小于500,請重新輸入 elsebreakfidone) then#登錄shellwhile truedoread -p 請輸入登錄shell(bash,sh kash,csh): shellnameif (test $shellname != bash -a $shellname != sh -a $shellname != kash -a $shellname != csh ) thenecho 你輸入的shell 名不存在本系統(tǒng)中,請重新輸入 elsebreakfidone#添加用戶userinfo=$username:$passw
13、d:$userid:$groupid:$username:/home/$username:/bin/$shellnameif ( test $? -ne 1 ) thenecho $userinfo passwdif ( test $? -eq 0 ) thenecho 用戶添加成功 elseecho 用戶添加失敗 fifi3)用戶刪除代碼#! /bin/bash#刪除用戶clearecho 用戶刪除echo =while truedoread -p 輸入用戶ID: useridsif( test exprmatch $userids 0-9* -ne expr length $userids ) thenecho 輸入的用戶ID 只能是數(shù)字 ,請重新輸入 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 /$userids/d passwdif ( test $? -eq 0) thenecho 刪除成功 elseecho 刪
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)知識產(chǎn)權(quán)質(zhì)押貸款合同-@-2
- 課題申報參考:能源轉(zhuǎn)型下居民親環(huán)境行為的變遷趨勢及提升路徑研究
- 課題申報參考:面向韌性發(fā)展的城市群醫(yī)療資源供需適配研究
- 2025年個人無息借款合同樣本:無息借款協(xié)議:扶持文化藝術(shù)項目2篇
- 二零二五版民政局批準(zhǔn)離婚協(xié)議書范本8篇
- 2025年度綠色能源項目內(nèi)部股東權(quán)益轉(zhuǎn)讓合同4篇
- 二零二五年度南京市房產(chǎn)局制定的房屋抵押權(quán)登記合同模板4篇
- 2025年度戀愛期間共同理財規(guī)劃與投資合同4篇
- 2025年度個人信用借款擔(dān)保合同范本3篇
- 2025版車輛抵押借款合同(含貸款利率調(diào)整)4篇
- 護理飲食指導(dǎo)整改措施及方案
- 項目工地春節(jié)放假安排及安全措施
- 印染廠安全培訓(xùn)課件
- 紅色主題研學(xué)課程設(shè)計
- 胸外科手術(shù)圍手術(shù)期處理
- 裝置自動控制的先進性說明
- 《企業(yè)管理課件:團隊管理知識點詳解PPT》
- 移動商務(wù)內(nèi)容運營(吳洪貴)任務(wù)二 軟文的寫作
- 英語詞匯教學(xué)中落實英語學(xué)科核心素養(yǎng)
- 《插畫設(shè)計》課程標(biāo)準(zhǔn)
- 高中英語名詞性從句講解
評論
0/150
提交評論