期末考練習
上次更新日期 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
- 檔案系統處理的部份:
- 新建一個分割槽,相關資訊如下:
- 容量為 3G
- 檔案系統格式化為 xfs
- 掛載點在 /mydata/linux
- 新建一個分割槽,相關資訊如下:
- 容量為 1.5G
- 檔案系統格式化為 vfat
- 掛載點在 /mydata/share
- 新建一個分割槽,相關資訊如下:
- 容量為 1G
- 格式化為記憶體置換 (swap) 格式
- 開機後能夠順利載入成為記憶體置換空間
- 新建一個分割槽,相關資訊如下:
- 大型檔案的檔案系統建置:
- 建立一個大型檔案,檔名為 /myiso.img,相關資訊如下:
- 容量大約為 1.5G
- 格式化成為 ext4 檔案系統
- 開機可掛載到 /mydata/ext4
- 建立一個大型檔案,檔名為 /myswap.img,相關資訊如下:
- 容量大約為 1G
- 格式化成為 swap
- 開機自動啟用這個記憶體置換功能
- 建立一個大型檔案,檔名為 /myiso.img,相關資訊如下:
- 網路功能的處理方面:(一定要對,否則會無法上傳導致沒有成績!)
- 請使用底下的網路參數來設定好你的 Linux 網路:
- IP/Netmask: 192.168.5.*/24 ,其中 * 為你的學號尾數
- Gateway: 192.168.5.254
- DNS: 172.16.200.254
- 設定好你的主機名稱為 pc*.dic.ksu,其中 * 為你的學號尾數
- 請使用底下的網路參數來設定好你的 Linux 網路:
- 系統基礎設定項目:
- 系統的時區好像錯亂了,請改回正確的台灣時間時區
- 請使用 chronyd 這個服務,並指定 120.114.100.1 這個時間伺服器來校正你的時間。
- 帳號管理的部份:
- 刪除帳號:系統有個名為 badboy 的帳號,這個帳號做錯需要移除,且移除後此帳號的家目錄也會跟著被移除
- 新增一個名為 newnew 的群組
- 新增名為 newuser1, newuser2, newuser3 三個用戶,相關資訊有:
- 這三個用戶都有加入 newnew 這個次要群組支援
- 這三個用戶的密碼都是 itisgood
- 權限觀察與修改的部份:
- 建立一個目錄,相關資訊為:
- 檔名為 /srv/examcheck
- 目錄所屬用戶為 newuser1
- 所屬群組為 users
- 權限為 newuser1 可讀可寫可執行,加入 users 群組的用戶僅可讀可執行,其他人僅可執行。
- 建立一個共享目錄,檔名為 /srv/examshare ,相關資訊為:
- 提供給 newnew 群組共享的目錄
- 此目錄可提供 newnew 群組的成員進行任何動作,但其他人則沒有任何權限。
- 將 /etc/sysctl.conf 複製成為 /srv/examdata/mysys 檔案,並且這個檔案的權限設定為:
- 擁有者為 newuser2
- 擁有群組為 newnew
- 權限設定為:newuser2 可讀可寫, newnew 群組是唯讀,其他人則沒有任何權限。
- 建立一個目錄,相關資訊為:
- 檔案管理的部份:
- 請將 /boot 複製成為 /mydata/linux/myboot/
- 請刪除 /mydata/linux/myboot/grub2
- 在 /mydata/linux/myboot 內,將最後一個 vmlinuz-5.xxx 檔名更改為 kernel-5.xxx (後面的版本名稱不要變)
- 在 /srv/manager 目錄底下含有 18 個空白檔案,先移動工作目錄到 /srv/manager 當中,然後將這 18 個檔案進行如下動作
- 建立 examsub 目錄,並將原本 18 個檔案中檔名中含有 exam 的檔案通通『移動』到該目錄下
- 建立 one 目錄,並將原本 18 個檔案中檔名中含有 one 的檔案通通『移動』到該目錄下
- 在當前工作目錄中,刪除檔案中檔名含有 apr 的檔案
- 檔案的打包與定期備份功能:
- 將 /etc /root /home 這三個目錄打包成為 /backups/system.tar.xz 檔案。
- 打包完成後,讓這個 /backups/system.tar.xz 的權限變成只有 root 為唯讀,群組與其他人則沒有任何權限。
- 讓上述打包與修改權限的指令在每週六早上 3:15 進行一次。(連續指令的下達,請使用『 ; 』)
- 在根目錄底下有個名為 myfiles.tar.bz2 的檔案,請將他在 /srv/extra/ 目錄下解開(若目錄不存在,請自行建立)
- 服務管理的部份:
- 讓你的伺服器在 TCP 監聽埠口上面只會有 22/tcp, 與 323/udp 這兩個埠口,其他埠口請先關閉
- 讓你的系統具有 http://localhost 的網頁伺服器功能
- 防火牆會對 80/tcp 埠口放行
- 當使用『 curl http://localhost/ 』瀏覽畫面時,畫面會顯示訊息:『Hi my dear friend』
- 系統更新的部份:
- 請進行一次全系統升級,並且升級完畢之後,直接重新開機,以讓系統使用新核心
- 其他部份:
- 找出一個指令名稱中有 sleep 5d 存在的程序,並將該程序的 NI 值寫到 /root/ans11-1.txt 當中。
- 系統裡面有個名為 alex 的帳號存在,請在 /root/ans11-2.txt 當中,分三行寫下底下的資訊:
- 第 1 行寫這個帳號的 UID 號碼
- 第 2 行寫這個帳號的 GID 號碼
- 第 3 行寫這個帳號的家目錄絕對路徑
- 重新開機後,在 10 分鐘之內檢測一次成績!
- 上傳結果:
- 請以 root 的身分執行 vbird_book_check_unit 指令上傳作業結果。
- 正常執行完畢的結果應會出現【XXXXXX;aa:bb:cc:dd:ee:ff;unitNN】字樣。
- 執行過程有點像這樣:
[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: 持續將題目簡化並且規定清楚