Linux編程用戶信息管理_第1頁
Linux編程用戶信息管理_第2頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精品文檔1歡迎下載一緒論 1.1 設計背景Linux 是一套免費使用和自由傳播的類Unix 操作系統(tǒng),是一個基于 POSIX 和 UNIX 的多用戶、多任務、支持多線程和多CPU 的操作系統(tǒng)。Linux 繼承了 Unix 以網絡為核心的設計思想,是一個性能穩(wěn)定的多用戶網絡操作系統(tǒng)。它主要用于基于In tel x86 系列 CPU 的計算機上。這個系統(tǒng)是由全世界各地的成千上萬的程序員設計和實現(xiàn)的。 1.2 設計目的在 Linux 系統(tǒng)的/etc 目錄下有這樣一個文件 passwd,該文件里包含系統(tǒng)中所有用戶信 息的記錄,記錄里包含每個用戶的如下信息:用戶名、密碼、用戶ID、組 ID、用戶全名、用

2、戶主目錄和用戶登錄所用的shell。請設計一個腳本(shell)程序能實現(xiàn)增加、刪除、查找和顯示特定用戶信息的功能。你們可以通過創(chuàng)建一些UNIX/LINUX shell 腳本文件來滿足以上需求。二需求分析 2.1 系統(tǒng)概述2.1.1 任務概述Linux 作為多用戶、多任務的操作系統(tǒng),其系統(tǒng)資源是所有用戶共享的。對用戶的管理是操作系統(tǒng)的重點。LINUX 課程設計要用 shell 編程實現(xiàn),將理論學習付諸實踐。設計一個 腳本(shell)程序能實現(xiàn)增加、刪除、查找和顯示特定用戶信息的功能。2.1.2 需求規(guī)定程序要包括四個文件,即menu add, delete , passwd 四個文件。pas

3、swd 文件是用來保存用戶信息;menu 文件是主菜單,要求運行的時候能顯示一個菜單供用戶選擇;addusers文件是用來增加信息;deluser 文件是用來刪除信息。在主 Shell 腳本文件里(必須以 menu 命名)要有一個多操作選項的菜單以便用戶從中選擇。對于任務 6 和 7,需要編寫單獨的 Shell精品文檔2歡迎下載腳本文件(必須分別命名為 addusers 和 deluser )并且在主腳本 menu 文件中調用這些腳本文件。 2.2功能需求在主 Shell 腳本文件里(必須以 menu 命名)要有一個多操作選項的菜單以便用戶從中 選擇。在不同任務的中,這些操作能自動實現(xiàn)以下功能

4、:1、 在屏幕上顯示當前所有用戶的記錄2、 在屏幕上顯示當前所有用戶(經過格式化和排序的)的記錄3、 只在屏幕上顯示用戶名和用戶ID4、 只在屏幕上顯示(經過格式化和排序的)用戶名和用戶ID5、 查詢并顯示特定用戶的記錄6、 往 passwd 文件里增加新的用戶記錄7、 從 passwd 文件里刪除某個用戶記錄你可以使用 UNIX/LINUX 中一些比較簡單的命令或命令組合來執(zhí)行1、2、3、4、5 的任務。對于任務 6 和 7,你需要編寫單獨的 Shell 腳本文件(必須分別命名為 addusers 和 deluser )并且在你的主腳本 menu 文件中調用這些腳本文件。三系統(tǒng)設計3.1結構

5、層次圖精品文檔3歡迎下載S.2.運行流程精品文檔4歡迎下載(1)總運行流程主菜單是否正確選擇N.提示錯誤RI是否選Qi-功能實繼續(xù)選擇(2)addusers 模塊運行流程用戶添加是否正確填寫信息添加用戶信息提示錯誤進入主菜單(3)deluser 模塊用戶運行流程Y精品文檔5歡迎下載四系統(tǒng)實現(xiàn)王采單:丈件(E) 編輯匡) 査看(工) 終端CDr-T 用戶借息主菜單】*打 E 卩當前所有記錄2打卬當前所仃記誡(胳式化后的)皐打印用戶名和用戶【D4 打?。ǜ窕蚧说挠脩艟胶陀?PID去詢特宦記錄氛増加新紀錄7刪除記錄O-魁出|你的選擇是謂選擇 1 :打印當前所有用戶你的選抒足:1root X 0 0

6、 roo t /root /b in/ba s hb iat x 1 b in /b in /sb hi/no Log indaeiwn x 2 2 denun /sb in /$b in/no log in adm x 3 4 adm /var/adm Zsh in/no log inIp x 4 7 Lp /va r/spoo 1/ Ipd /sb un/nolog in sync x S 0 sync /sb in /b ini/sync從huidowi x 6 0 !ihu tdoAMi /sb in /sb in/hu idoAMihalt x 7 0 ha 11 /sb in /s

7、bin/haItITUii I x 8 12 mail / va r / spoo 1 /rra i 1 / sb in/no login news x 9 13 neu-s /e t c/aie-Miff -Pre5 s spj ce to conl inu嘗q to qu i 1 .選擇 2:打印當前所有用戶記錄(格式化后)精品文檔6歡迎下載你的述抒足:2sync 5shu Kkiwi 6hall 7iw i I &ne ws 9-Msre一-Press space to cont inue q1to quin.選擇 4:打印用戶名和用戶 ID (格式化后)你的選擇墜皿r 00 1

8、()b in1 news 9-Mire一 Pre ss spa ce lo cooi l inue rq to qu i l l選擇 5:查詢特定用戶沒有輸入關鍵字和輸入關鍵字沒有記錄:請輸入幾漣字:擁還淺仃輸入關進宇窗輸入關譙字:DM你輸入的用戶 OHG 不存布請按 Ent 打返冋謂查找到記錄:你的選擇址:5請輸入其譙字:rra i Langra ii Lang: X: SOO: 500: era i lang: /horre / rra i 1 a ng ? /b in/ba sb 請按 En wr 趣冋:|選擇 6:添加用戶添加成功:文件迥 編輯但) 査看終端 CDCD 轉到 甯州戶海加

9、roo Lx00oo Ib i itx11b indaenron x22daenmnadm號34udmIpX47】PsyncxS0syncshu IdowX60ha 11x70ha 11mu i 1xH12mH丨ne usK913new/roo t/b in/ba sh/b in/sb in/na Iogin/sb in /sh infno Iog in/va i1/adm/sb in/no log in/va r/s.poo 1 / Ipd /sb in/no log in/sb in /b in/syncshy tdown/sb in /sb in/shu tiiown/sb in /&a

10、mp;b in/ha 11/vu r /spoo I /nui i I /shin/no log i n /e t c/newsNbre- Press spuce la canlinue * qlo qu H J選擇 3:打印用戶名和用戶 ID你的選擇是:3roo I 0bitt 12dlTl SdaeaToni 2a dmsynchu Ihii 1 lrra i I精品文檔7歡迎下載応輸入用戶?i : ihangsan請輸入密碼 J 666666請輸入確認密碼= 666666請輸入用戶 105003請愉入組0 5003請輸入登錄 sh 上 11(bashPsh kashPcsh)::&

11、;h用戶添加成功詰按 Ei】I;|用戶名無效情況:用戶名只能是數字或字母,用戶名不能為空,文件迥編洞匡 杳看世 擺轍 D D 轉到 g g 新用卩添蝴三99請輸入用戶名沱亡鶯用戶名只能是垃字或字母請電新輸入用戶名:請恤人用戶名:用戶科用陡為空,済車新愉入用戶常:請輸入用 P 名:IEi請愉人密碼*密碼無效:密碼不能小于 6,密碼不能為空,密碼只能是數字或字母, 密碼必須和確認密碼相同 請輸入密碼:23粥碼怏度不能小于 E請輸入懈碼;刪驚用戶密碼只能為數字或字 f 情匣斯輸入空碼請輸入密硏:用戶廡碼不能為空*請輸入密碼済輸入密碼:66666倩輸入確認戡碼:fdda兩次的歸碼不匹配請輸入密碼:66

12、6666請輸入確認;:66666請輸入用戶 ID:*用戶 ID 無效:用戶 ID 不能為空,用戶 ID 不能小于 5 0 0,用戶 ID 只能為數字請輸入出戶|用戸【嚇能為空請輸入用戶 JD:d3用戶 ID 只能為數字清輸入川戶 1044用戶哪能小于現(xiàn),請重新輸入請輸入用戶 JD:5004請輸入 mrimril l 組 ID 無效:組 ID 不能為空,組 ID 不能小于 5 0 0,組 ID 只能為數字精品文檔8歡迎下載請輸入組|組 iw:陡為空,請車新輸入 請輸入組 ID 不能小于 500.新輸入請輸入組 10:(14組 ID 只陡為駛字請輸入 ffllI5003請輸入 登錄 sht HEb

13、ashtah kashtcsli) i登錄 shell 無效: shell 只能是 bash,sh,kash,csh 中的一種, shell 不能空 i 靑輸人 t?shell ba sh , sh ka sh csh):你輸入的訪 111 名不存托本系統(tǒng)中.請聯(lián)新輯人請輸入豊錄 sheIKbash,sh kashfcsh);te禰輸入的 she IL S 不存在本系統(tǒng)屮+請蟲新輸入請輸人席誡 gh(? 1 l【bn ghsh shFcsh) : sh選擇 7:刪除用戶查找用戶 ID 存在,是否要刪除選 Y,刪除成功:上怕巴 編帥上卜fifty)用戶刪除輸入用 ID:502是再要捌除(Y#N:

14、Y刪除成功請按 En te r ili I1:|用戶 ID 不存在和沒有輸入用戶ID 情況:文件世)諭轉(E)杳看 Q9fflPWJ 除輸入用戶 【D 用戶 ID不能為空 輸入用戶10;5009 用戶不存在i 許 fficEnter 返冋:1用戶 ID 存在,在確認刪除選 N 和其他字符是退出:rqcM loc3Lbo LrooLlocalliosL文件(E) 編輯査看 Q9用戶刪除愉入 H戶】D:003是否羨副除WN:N| roo tl oca Iho t r oo I # I選擇 Q 退出文件迥編輯 査右09終 用戶刪除輸入用戶 10:5003 是否要劇除(Y/N):d精品文檔9歡迎下載精

15、品文檔10歡迎下載rmplocalhiasL丈件迥 爵揖 查看瞪 終端 用戶信息主菜單1.打印為前所盯記錄2 打印叫前所格?;蟮模?竟打印用戶名扣用戶 ID4+打 tin 搟式化了的用戶名和川戶ID5.査訓轉宦記出鼻增加新紀錄了鼻除記錄O-退出你的選抒址:Qroo t loca Ihos i roo t fl不正確選擇:o阻 kKalbom文杵世) 編輯述? 査看(藝 終端 用戶信息主菜單1.打印當前所有記錄2 打印當前所冇記錄(賂式優(yōu)后的 煮打印用戶名和出戶 ID4.打?。ǜ袷交说挠脩裘陀脩?ND 氣査河特:定記錄氛增加新紀衆(zhòng)九刪隠記錄0退出你的選擇是訶J nvaI id op t i

16、on胡按 En 沖返冋:|五代碼實現(xiàn)1)主菜單代碼#! /bi n/bash#刪除用戶clearecho 用戶刪除 ”echo=while truedoread -p 輸入用戶 ID: useridsif( test expr match $userids 0-9* -ne expr length $userids) thenecho 輸入的用戶 ID 只能是數字,請重新輸入elif ( test -z $userids ) the necho 用戶 ID 不能為空elsebreakfidonegetuserid=$( awk -F : $3 = $userids print $3 passw

17、d ) if ( test $getuserid ) thenread -p 是否要刪除 (Y/N): ackif (test $ack = Y ) thensed -i /$userids/d passwd精品文檔11歡。迎下載if ( test $? -eq 0) thenecho 刪除成功 elseecho 刪除失敗 breakfielsebreakfielseecho 用戶不存在 fi2)用戶添加代碼#! /bin/bashclear#用戶名echo 新用戶添加 echo =while truedoecho -n 請輸入用戶名 :read usernamea= expr match $

18、username 0-9a-zA-Z* b= expr len gth $user name if ( test $a -ne $b ) thenecho 用戶名只能是數字或字母 , 請重新輸入用戶名 :elif ( test -z $username ) thenecho 用戶名不能為空 ,請重新輸入用戶名 :elsebreakfidone#用戶密碼while truedoread -p 請輸入密碼 : passwdif ( test expr match $passwd 0-9a-zA-Z* -ne expr length $passwd ) thenecho 用戶密碼只能為數字或字母 ,

19、 情重新輸入密碼 elif ( test -z $passwd ) thenecho 用戶密碼不能為空 , 請輸入密碼 elif ( test expr len gth $passwd -It 6 ) the necho 密碼長度不能小于 6精品文檔12歡。迎下載elseread -p 請輸入確認密碼 : ackpwif(test $passwd = $ackpw ) thenbreakelseecho 兩次的密碼不匹配 fifidone#用戶 IDwhile truedoread -p 請輸入用戶 ID: useridif ( test expr match $userid 0-9* -ne

20、 expr length $userid ) thenecho 用戶 ID 只能為數字 elif ( 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 ) thenecho 組 ID 只能為數字 elif ( test -

21、z $groupid ) thenecho 組 ID 不能為空 , 請重新輸入 elif ( test $groupid -lt 500 ) thenecho 組 ID 不能小于 500, 請重新輸入 elsebreakfidone#登錄 shellwhile truedoread -p 請輸入登錄 shell(bash,sh kash,csh): shellnameif (test $shellname != bash -a $shellname != sh -a $shellname != kash-a $shellname != csh ) then精品文檔13歡。迎下載echo 你輸入的 shell 名不存在本系統(tǒng)中 , 請重新輸入 elsebreakfidone#添加用戶userinfo=$username:$passwd:$userid:$groupid:$username:/home/$username:/bin/$sh ellnameif ( test $? -ne 1 ) thenecho $userinfo passwdif ( test $? -eq 0 ) thenecho 用戶添加成功 elseecho 用戶添加失敗 fifi3)用戶刪除代碼

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論