電腦網路與作業系統 電腦網路與作業系統

電腦網路與作業系統上課教材

電腦網路與作業系統 > 課程內容 > 期末考練習

期末考練習

上次更新日期 2023/06/09

期中考過後是主要的作業系統練習,我們使用了 Linux 作為基礎練習的模式,捨棄了圖形界面, 完全使用文字界面來管理系統,包括檔案管理、檔案系統管理、程序管理、服務管理、網路管理等等, 這些東西目前你都只要會做就好,達成目標即可。等到大二我們會詳細的來談談每一個基本的項目喔!

期末考練習

注意事項:

  • 上機考的時候,你的 windows 工作機是沒有網際網路的,只能連到上課的系統以及考試的雲端環境而已。 所以不要使用類似 google 等網站來查詢資料,那是沒有用的。
  • 所有的實做結果幾乎都會保留在系統上面,只是,某些設定如果設定錯誤,開機之後恐怕會發生無法啟動的錯誤。 因此,請特別注意,所有的設定值,都必須要在下次開機還能生效的情境下。
  • 做完題目最終需要上傳結果,請記得執行上傳的腳本。
  • 題目可能有些相依性,最好從頭開始做比較好。

啟動雲端虛擬機器的注意事項:

  • 啟動硬碟前,請務必確定在 gocloud 的網頁上面,進階設定的硬碟格式一定要選擇『Red Hat SCSI 晶片』, 同時網路卡為『Red Hat 高速網卡』才行!
  • 啟動的硬碟檔名請依據老師在白板上面寫的樣式來開啟,啟動到錯誤的硬碟,結果也會是 0 分。
  • 系統有個帳號名為 student,密碼為 mystdgo,root 密碼與上課時經常操作的情境相同。
  • 請務必使用 student 登入圖形界面後,再到 shell 環境下切換成為 root 進行各項題目。
  • 先以 root 身分執行 vbird_book_setup_ip 指令設定好你的學號之後,再開始底下的題目
    [root@localhost ~]# vbird_book_setup_ip
    
    This program will create your personal ID and/or network parameters.
    Old network parameters will be replace!!
    
    Do you want to do (y/n): y
    
    Input your student's ID number (ex> 4080cxxx): 4090c199   <==你的學號
    Input your student's ID last 3 number (ex> 101): 199      <==你的 IP 尾數
    Student ID: 4090c199
    Last IP: 199
    
  1. 檔案系統處理的部份:
    1. 新建一個分割槽,相關資訊如下:
      • 容量為 3G
      • 檔案系統格式化為 xfs
      • 掛載點在 /mydata/linux
    2. 新建一個分割槽,相關資訊如下:
      • 容量為 1.5G
      • 檔案系統格式化為 vfat
      • 掛載點在 /mydata/share
    3. 新建一個分割槽,相關資訊如下:
      • 容量為 1G
      • 格式化為記憶體置換 (swap) 格式
      • 開機後能夠順利載入成為記憶體置換空間
    評分重點:(1)分割槽容量是否正確?(2)格式化是否正確?(3)開機是否能夠順利掛載與使用?
  2. 大型檔案的檔案系統建置:
    1. 建立一個大型檔案,檔名為 /myiso.img,相關資訊如下:
      • 容量大約為 1.5G
      • 格式化成為 ext4 檔案系統
      • 開機可掛載到 /mydata/ext4
    2. 建立一個大型檔案,檔名為 /myswap.img,相關資訊如下:
      • 容量大約為 1G
      • 格式化成為 swap
      • 開機自動啟用這個記憶體置換功能
    評分重點:(1)大型檔案容量是否正確?(2)格式化是否正確?(3)開機是否能夠順利掛載與使用?
  3. 網路功能的處理方面:(一定要對,否則會無法上傳導致沒有成績!)
    1. 請使用底下的網路參數來設定好你的 Linux 網路:
      • IP/Netmask: 192.168.5.*/24 ,其中 * 為你的學號尾數
      • Gateway: 192.168.5.254
      • DNS: 172.16.200.254
    2. 設定好你的主機名稱為 pc*.dic.ksu,其中 * 為你的學號尾數
    評分重點:(1)確定所有網路參數都會是對的,(2)確定主機名稱設定正確
  4. 系統基礎設定項目:
    1. 系統的時區好像錯亂了,請改回正確的台灣時間時區
    2. 請使用 chronyd 這個服務,並指定 120.114.100.1 這個時間伺服器來校正你的時間。
  5. 帳號管理的部份:
    1. 刪除帳號:系統有個名為 badboy 的帳號,這個帳號做錯需要移除,且移除後此帳號的家目錄也會跟著被移除
    2. 新增一個名為 newnew 的群組
    3. 新增名為 newuser1, newuser2, newuser3 三個用戶,相關資訊有:
      • 這三個用戶都有加入 newnew 這個次要群組支援
      • 這三個用戶的密碼都是 itisgood
    評分重點:(1)帳號刪除時,家目錄必需要同時刪除,(2)帳號與密碼要正確,(3)次要群組的增加為正常。
  6. 權限觀察與修改的部份:
    1. 建立一個目錄,相關資訊為:
      • 檔名為 /srv/examcheck
      • 目錄所屬用戶為 newuser1
      • 所屬群組為 users
      • 權限為 newuser1 可讀可寫可執行,加入 users 群組的用戶僅可讀可執行,其他人僅可執行。
    2. 建立一個共享目錄,檔名為 /srv/examshare ,相關資訊為:
      • 提供給 newnew 群組共享的目錄
      • 此目錄可提供 newnew 群組的成員進行任何動作,但其他人則沒有任何權限。
    3. 將 /etc/sysctl.conf 複製成為 /srv/examdata/mysys 檔案,並且這個檔案的權限設定為:
      • 擁有者為 newuser2
      • 擁有群組為 newnew
      • 權限設定為:newuser2 可讀可寫, newnew 群組是唯讀,其他人則沒有任何權限。
    評分重點:(1)了解檔案與目錄的建置、(2)了解權限的設定技巧
  7. 檔案管理的部份:
    1. 請將 /boot 複製成為 /mydata/linux/myboot/
    2. 請刪除 /mydata/linux/myboot/grub2
    3. 在 /mydata/linux/myboot 內,將最後一個 vmlinuz-5.xxx 檔名更改為 kernel-5.xxx (後面的版本名稱不要變)
    4. 在 /srv/manager 目錄底下含有 18 個空白檔案,先移動工作目錄到 /srv/manager 當中,然後將這 18 個檔案進行如下動作
      1. 建立 examsub 目錄,並將原本 18 個檔案中檔名中含有 exam 的檔案通通『移動』到該目錄下
      2. 建立 one 目錄,並將原本 18 個檔案中檔名中含有 one 的檔案通通『移動』到該目錄下
      3. 在當前工作目錄中,刪除檔案中檔名含有 apr 的檔案
    評分重點:會進行檔案的複製、刪除與更名等管理指令
  8. 檔案的打包與定期備份功能:
    1. 將 /etc /root /home 這三個目錄打包成為 /backups/system.tar.xz 檔案。
    2. 打包完成後,讓這個 /backups/system.tar.xz 的權限變成只有 root 為唯讀,群組與其他人則沒有任何權限。
    3. 讓上述打包與修改權限的指令在每週六早上 3:15 進行一次。(連續指令的下達,請使用『 ; 』)
    4. 在根目錄底下有個名為 myfiles.tar.bz2 的檔案,請將他在 /srv/extra/ 目錄下解開(若目錄不存在,請自行建立)
    評分重點:會利用 tar 進行打包與解壓縮,同時注意到副檔名與使用的選項相關性。
  9. 服務管理的部份:
    1. 讓你的伺服器在 TCP 監聽埠口上面只會有 22/tcp, 與 323/udp 這兩個埠口,其他埠口請先關閉
    2. 讓你的系統具有 http://localhost 的網頁伺服器功能
    3. 防火牆會對 80/tcp 埠口放行
    4. 當使用『 curl http://localhost/ 』瀏覽畫面時,畫面會顯示訊息:『Hi my dear friend』
    評分重點:安裝服務時候的五大口訣
  10. 系統更新的部份:
    1. 請進行一次全系統升級,並且升級完畢之後,直接重新開機,以讓系統使用新核心
    評分重點:一定要有正確的核心
  11. 其他部份:
    1. 找出一個指令名稱中有 sleep 5d 存在的程序,並將該程序的 NI 值寫到 /root/ans11-1.txt 當中。
    2. 系統裡面有個名為 alex 的帳號存在,請在 /root/ans11-2.txt 當中,分三行寫下底下的資訊:
      • 第 1 行寫這個帳號的 UID 號碼
      • 第 2 行寫這個帳號的 GID 號碼
      • 第 3 行寫這個帳號的家目錄絕對路徑
    3. 重新開機後,在 10 分鐘之內檢測一次成績!
    評分重點:(1)會找尋 PID 的相關參數,(2)以及使用 vim/nano 等撰寫檔案內容,(3)時限內重新開機處理。
  12. 上傳結果:
    1. 請以 root 的身分執行 vbird_book_check_unit 指令上傳作業結果。
    2. 正常執行完畢的結果應會出現【XXXXXX;aa:bb:cc:dd:ee:ff;unitNN】字樣。
    3. 執行過程有點像這樣:
      [root@localhost ~]# vbird_book_check_unit
      Unit is: os_practice2
      Your ID is: '4090c199'
      It is right (y/n)? y
      4090c199_52:54:00:25:61:58_os_practice2.txt      100% 8723     6.4MB/s   00:00
      

修改紀錄
  • 2020/06/17: 修改成為 CentOS8 版本,採用 Linux OS 上傳方式
  • 2021/06/13: 增加設定學號與上傳流程的實際終端顯示
  • 2023/06/09: 持續將題目簡化並且規定清楚