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

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

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

期末考練習

上次更新日期 2020/06/17

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

期末考練習

注意事項:

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

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

  • 啟動硬碟前,請務必確定在 gocloud 的網頁上面,進階設定的硬碟格式一定要選擇『Red Hat SCSI 晶片』, 同時網路卡為『Red Hat 高速網卡』才行!
  • 啟動的硬碟檔名請依據老師在白板上面寫的樣式來開啟,啟動到錯誤的硬碟,結果也會是 0 分。
  • 系統有個帳號名為 student,密碼為 mystdgo,root 密碼與上課時經常操作的情境相同。
  • 請務必使用 student 登入圖形界面後,再到 shell 環境下切換成為 root 進行各項題目。
  • 先以 root 身分執行 vbird_book_setup_ip 指令設定好你的學號之後,再開始底下的題目
  1. 檔案系統處理的部份:
    1. 在你的雲端機器中,額外分割出 3 個分割槽,第 1 個 3GB,第 2 個 1.5GB ,第 3 個 1GB 左右的容量。
    2. 將 3GB 的分割槽格式化為 xfs 檔案系統, 1.5GB 的分割槽格式化為 vfat 檔案系統,1GB 分割槽格式化為 swap 記憶體置換
    3. 將 xfs 檔案系統掛載到 /mydata/linux 目錄,vfat 檔案系統掛載到 /mydata/share 目錄下。
    4. 讓 swap 可以正常被使用到記憶體置換的情境下。
    5. 上述的掛載設定必須寫入掛載設定檔,讓系統重新開機後,就可以順利的使用這三個分割槽的資料。
    6. 要注意修改主設定檔完成後,建議立刻重新開機測試成功與否。
    7. 評分重點:(1)分割槽容量是否正確?(2)格式化是否正確?(3)開機是否能夠順利掛載與使用?
  2. 大型檔案的檔案系統建置:
    1. 建立一個具有 1.5G 的大型檔案,檔名為 /myiso.img ,將此檔案格式化成為 ext4 檔案系統,並且開機自動掛載到 /mydata/ext4 目錄中
    2. 建立一個具有 1G 的大型檔案,檔名為 /myswap.img,將此檔案格式化成為 swap 檔案系統,並且開機自動啟用此 swap
    3. 評分重點:(1)大型檔案容量是否正確?(2)格式化是否正確?(3)開機是否能夠順利掛載與使用?
  3. 網路功能的處理方面:(一定要對,否則會無法上傳導致沒有成績!)
    1. 將名為 ens3 的網路連線刪除,並重建一個名為 ens3 的網路連線名稱,使用到 ens3 網路卡,使用 ethernet 乙太網路功能, 且一開機就會啟動這個網路界面。
    2. 請使用底下的網路參數來設定好你的 Linux 網路:
      • IP/Netmask: 172.21.119.*/16 ,其中 * 為你的學號尾數
      • Gateway: 172.21.251.254
      • DNS: 172.16.200.254
    3. 設定好你的主機名稱為 pc*.centos.dic,其中 * 為你的學號尾數
    4. 當你下達 ping pc* 或 ping pc*.centos.dic 時,系統會正確的顯示出你的主機 IP
    5. 當你下達 ping pc254 時,系統會顯示出 172.21.251.254 這個 IP
    6. 評分重點:(1)確定所有網路參數都會是對的,(2)確定主機名稱設定正確,(3)確定 /etc/hosts 的設定正確
  4. 系統基礎設定項目:
    1. 系統的時區好像錯亂了,請改回正確的台灣時間時區
    2. 請使用 chronyd 這個服務,並指定 172.21.251.254 這個時間伺服器來校正你的時間。
  5. 帳號管理的部份:
    1. 刪除帳號:系統有個名為 badboy 的帳號,這個帳號做錯需要移除,且移除後此帳號的家目錄也會跟著被移除
    2. 新增一個名為 newnew 的群組
    3. 新增名為 newuser1, newuser2, newuser3 三個用戶,且這三個用戶都有加入 newnew 這個次要群組支援 (也就是每個用戶都需要有 2 個群組才對。)
    4. 這三個用戶的密碼都是 itisgood
    5. 評分重點:(1)確定帳號刪除時,家目錄必需要同時刪除,(2)確定帳號與密碼要正確,(3)確定次要群組的增加為正常。
  6. 權限觀察與修改的部份:
    1. 建立一個提供給 newnew 群組共享的目錄,目錄名稱為 /srv/examshare/ , 此目錄可提供 newnew 群組的成員進行任何動作,但其他人則沒有任何權限喔。
    2. 建立一個目錄,檔名為 /srv/examcheck,該目錄所屬用戶為 newuser1,所屬群組為 users, 權限為 newuser1 可讀可寫可執行,加入 users 群組的用戶僅可讀可執行,其他人僅可執行。
    3. 將 /etc/filesystems 複製成為 /srv/examdata/myfs 檔案,並且這個檔案的權限設定為: 擁有者為 newuser2, 擁有群組為 newnew。newuser2 可讀可寫, newnew 群組是唯讀,其他人則沒有任何權限。
    4. 評分重點:(1)了解檔案與目錄的建置、(2)了解權限的設定技巧
  7. 檔案管理的部份:
    1. 請將 /boot 複製成為 /mydata/linux/myboot/
    2. 請刪除 /mydata/linux/myboot/grub2
    3. 在 /mydata/linux/myboot 內,將 vmlinuz-4.xxx 檔名更改為 kernel-4.xxx (後面的版本名稱不要變)
    4. 在 /srv/manager 目錄底下含有 18 個空白檔案,請將這 18 個檔案進行如下動作
      1. 建立 examsub 目錄,並將原本 18 個檔案中檔名中含有 exam 的檔案通通『移動』到該目錄下
      2. 建立 one 目錄,並將原本 18 個檔案中檔名中含有 one 的檔案通通『移動』到該目錄下
      3. 刪除原本 18 個檔案中檔名含有 apr 的檔案
    5. 評分重點:會進行檔案的複製、刪除與更名等管理指令
  8. 檔案的打包與定期備份功能:
    1. 將 /etc /root /home 這三個目錄打包成為 /backups/system.tar.xz 檔案。打包完成後,讓這個 /backups/system.tar.xz 的權限變成只有 root 為唯讀, 群組與其他人則沒有任何權限。
    2. 讓上述打包與修改權限的指令在每週六早上 3:15 進行一次。
    3. 在根目錄底下有個名為 myfiles.tar.bz2 的檔案,請將他在 /srv/extra/ 目錄下解開(若目錄不存在,請自行建立)
    4. 評分重點:會利用 tar 進行打包與解壓縮,同時注意到副檔名與使用的選項相關性。
  9. 服務管理的部份:
    1. 讓你的伺服器在 TCP 監聽埠口上面只會有 22, 111 這兩個埠口,其他埠口請關閉,且下次重新開機,也只會剩下這兩個埠口。 (後續的動作會有其他埠口啟動,那就沒關係。不過,重新開機過後這一題請回來重新檢查,因為可能有其他埠口會反覆啟動!)
    2. 讓你的系統同時具有 http://localhost 以及 https://localhost 的網頁伺服器功能,亦即你的 TCP 監聽埠口會多出 80 與 443 兩個埠口。
    3. 這兩個服務會對整個 Internet 放行防火牆的連線
    4. 這兩個服務在重新開機後仍會持續提供服務。
    5. 當顯示 http://localhost 時,畫面會顯示你的姓名與學號而已 (不是歡迎畫面,姓名可以寫英文)
    6. 評分重點:安裝服務時候的五大口訣
  10. 系統更新的部份:
    1. 請進行一次全系統升級,並且升級完畢之後,直接重新開機,以讓系統使用新核心
    2. 讓系統每天凌晨 3 點進行一次全系統升級的例行工作。
    3. 評分重點:一定要有正確的核心
  11. 其他部份:
    1. 找出一個指令名稱中有 sleep 5d 存在的程序,並將該程序的 NI 值寫到 /root/ans.txt 當中。
    2. 系統裡面有個名為 alex 的帳號存在,請寫下 (a)這個帳號的 UID 是幾號? (b)這個帳號的 GID 是幾號? (c)這個帳號的家目錄絕對路徑。 答案請寫入 /root/ans.txt 當中。
    3. 評分重點:會找尋 PID 的相關參數,以及使用 vim 撰寫檔案內容。
  12. 上傳結果:
    1. 進行上傳之前,請務必重新開機!並在 10 分鐘內進行底下的上傳工作!
    2. 請以 root 的身分執行 vbird_book_check_unit 指令上傳作業結果。
    3. 正常執行完畢的結果應會出現【XXXXXX;aa:bb:cc:dd:ee:ff;unitNN】字樣。
    4. 若需要查閱自己上傳資料的時間,請在作業系統上面使用: http://172.21.251.254/upload/os_practice2/ 檢查相對應的課程檔案。