112 學年度第 2 學期,Linux 作業系統
作業成績列表 - for 資訊傳播系南向班大一
2024/06/13-南向班教學內容
- 建立個人首頁:
- 預設用戶的預設目錄與預設首頁檔 (index.html) 建置 (skel)
- 使用 for 迴圈建立多個用戶,同時修改用戶的家目錄權限功能 (drwx--x--x)
- 建立 FTP 伺服器
- 安裝、啟動、開機啟動、防火牆,針對軟體 vsftpd 以及 ftp 服務處理
- 找到 /etc/vsftpd/vsftpd.conf ,設計讓匿名登入
- 承上,處理 chroot 工作
- 使用 curl 或 firefox 檢測
- 簡易 PHP 教學
- 在 student 的個人首頁,建立 http://yourserver/~student/phptest.php,內容為:
<?php
phpinfo();
?>
- 安裝 php 並且重新啟動服務,讓 php 實際生效!
- 學習使用 form 做資料的傳輸:
https://dic.vbird.tw/php/unit02.php
- 使用 include("filename"); 做網頁簡化
2024/06/20-期末考題目大綱
- 建立一塊檔案系統,相關資訊如下:
- 分割槽容量為 2G
- 格式化為 xfs 檔案系統
- 開機會自動掛載到 /backups 目錄下
- 根據題目設定好你的網路環境,例如設定網路參數為:
- IP/Netmask: 172.16.112.**/16
- Gateway: 172.16.200.254
- DNS: 120.114.100.1, 120.114.150.1
- hostname: www2**.dic.ksu
- 設定 SELinux 成為 permissive 模式:
- 重點是修改 /etc/selinux/config 以及 setenforce 指令!
- 建立好所有區域網路其他用戶的主機名稱對應,例如:
172.16.112.201 www201.dic.ksu www201
...
172.16.112.245 www245.dic.ksu www245
- 透過修改 /etc/chrony.conf ,設計使用 120.114.100.1 這部伺服器當作網路時間伺服器來源
- 用你的 Linux 建立 WWW 伺服器,要確定達成任務的步驟:
- 安裝
- 啟動
- 開機啟動
- 防火牆
- 測試
- 最後觀察 http://your.ip.addr/ 會出現你的姓名與學號
- 設計一般用戶的個人首頁
- 你的 WWW 服務,可以提供 http://your.ip.addr/~username/ 的功能
- 使用者的個人首頁應該會在 /home/username/myweb/ 目錄下
- 設計使用者預設家目錄 (/etc/skel/):
- 新建使用者時,該用戶家目錄會有 /home/newuser/myweb
- 承上,用戶家目錄會有 /home/newuser/myweb/index.html 內容為『 welcome to my WWW server 』即可
- 建立用戶:
- 建立名為 myweb 的群組
- 建立 wwwuser1, wwwuser2, wwwuser3 三個用戶,且三個用戶加入 myweb 群組
- 這三個用戶的密碼都是 mywwwserver
- 你可以使用 http://your.ip.addr/~wwwuser1/ 看到三個用戶的首頁
- 建立共享目錄
- 建立 /backups/myserver/ 目錄
- 這個目錄可以讓 myweb 群組完全使用 (可讀可寫可執行)
- 這個目錄其他人沒有權限使用
2024/05/16-南向班 shell script 教學內容
- 使用亂數 (random) 與迴圈
- my99-1.sh : 使用 seq 搭配 for 迴圈,列出 9x9 乘法表
- mynum-1.sh: 用 $RANDOM 擲骰子,擲出 1~6 個點數的骰子一個
- mynum-2.sh: 承上,可以自訂擲骰子的數量,使用 read 加上 for 迴圈進行處理
- mynum-3.sh: 先出現電腦的骰子 3 個,再輸出你的骰子 3 個 (腳本自動做兩次迴圈)
- mynum-4.sh: 計算電腦的 3 個骰子,不輸出,計算你的 3 個骰子,輸出,然後讓你選擇比大/比小,最後加總確定你選對還是選錯!
- my99-2.sh : (1)讓系統用亂數算出兩個 3~9 的數字,
(2)使用 read -p '..' -t 3 ans 之類的方式,讓使用者在 3 秒或 n 秒輸入正確的 99 乘法表,最終輸出正確解答與回答是否正確!
- 計算 BMI 指數:
- 使用 bc 軟體: (1)做簡單計算 (2)做邏輯判斷,例如 1>2 或 2>2 的輸出結果 (quit 才能離開 bc 軟體喔)
- mybmi-1.sh: (1)讀入身高 (cm)、(2)讀入體重 (Kg)、(3)計算 BMI 後輸出 (要用 bc 軟體計算)
- mybmi-2.sh: 根據上面的資料,增加 BMI 數值的判斷,分為太瘦、正常與過胖的設計
- 亂數選菜單:
- mymenu-1.sh: 使用陣列,設計出菜單,同時透過 ${#array[@]} 設計出陣列長度,搭配 seq 與 for 列出所有菜色
- mymenu-2.sh: 使用亂數設計,這個亂數的數值是菜色的數量,只列出今天要煮的菜色!
- mymenu-3.sh: 承上,用迴圈搭配使用者輸入的『數量』,列出多個 (例如 3 個) 菜色 (重複不要緊)
- myselect.sh :將全班的學號、人名寫入成為陣列,讓使用者設計數量,列出該數量的中簽用戶學號與人名
- name.txt
2024/04/18-南向班期中考
- 檔案系統管理:請依據底下的說明建立好所需要的檔案系統(需要修改 /etc/fstab 成為自動掛載)
/dev/vda4 | 2GB | XFS | /mydata/xfs |
/dev/vda5 | 2GB | VFAT | /mydata/vfat |
/dev/vda6 | 2GB | EXT4 | /mydata/ext4 |
- 帳號管理:根據底下的流程,建立好各個帳號
- 建立新群組: mygroup
- 建立三個帳號: myuser1, myuser2, myuser3 ,需要加入 mygroup 群組
- 三個帳號的密碼都是: itismy0User
- 權限應用:
- 建立一個空的檔案,檔名為 /srv/examcheck.txt,這個檔案可以讓 myuser1 完整的使用,而 myuser2 與 myuser3
可以讀取,但不能執行與寫入,至於其他人什麼權限都沒有。
- mygroup 群組的成員想要共用 /srv/examdir 目錄,而沒有加入 mygroup 的其他人不具備任何權限,應該如何處理?
- /usr/local/bin/mymore 複製來自 /bin/more,但我只想要讓 mygroup 的成員能夠執行
/usr/local/bin/mymore 這個指令,其他人不能執行這個指令
- 建立一個名為 /srv/change.txt 的空檔案,這個檔案的擁有者為 sshd,擁有群組為 users,sshd 可讀可寫,users
群組成員可讀, 其他人沒權限。且這個檔案的修改日期請調整成 2023 年 09 月 30 日 (日期正確即可,時間隨便)
- 檔案管理:
- 在 /srv/okok/ 目錄中,建立 4120C001 到 4120C200 的目錄,所以在 /srv/okok/ 底下,共會有 200 個子目錄存在
- 將 /etc/sysconfig 目錄,複製到 /srv/examdir
- 成績處理:
- 在你 Linux 輸入 ifconfig 找到 IP 位址之後,找到類似 172.16.xxx.xxx,來前面告知老師,老師檢查完畢即可。