Troubleshooting Linux Servers | sadservers | 刷題記錄 | Easy

閱讀時間約 10 分鐘

Overview

Easy共有九題,所有難度總共有75題,慢慢更新中。


1."Saint John": what is writing to this log file?

Scenario: "Saint John": what is writing to this log file?

Level: Easy

Type: Fix

Access: Public

Description: A developer created a testing program that is continuously writing to a log file /var/log/bad.log and filling up disk. You can check for example with tail -f /var/log/bad.log.

This program is no longer needed. Find it and terminate it.

Test: The log file size doesn't change (within a time interval bigger than the rate of change of the log file).

The "Check My Solution" button runs the script /home/admin/agent/check.sh, which you can see and execute.

Time to Solve: 10 minutes.

  1. tail用於查看文件的末尾內容。-f參數是「follow」的縮寫,讓tail命令保持開啟狀態,並即時顯示文件的最新新增內容。
tail -f /var/log/bad/log
raw-image
  1. lsof 命令用於顯示系統中已打開的文件和這些文件的相關信息。使用 grep 來過濾包含 "/var/log/bad/log" 字串的信息。
lsof | grep "/var/log/bad/log"
# 得知PID為584
raw-image


  1. kill 命令用於向指定的進程發送終止信號,讓該進程正常結束。**584**為PID
kill 584
raw-image


  1. 使用相同指令查看沒有再繼續寫入資料
tail -f /var/log/bad/log

2."Saskatoon": counting IPs.

Scenario: "Saskatoon": counting IPs.

Level: Easy

Type: Do

Description: There's a web server access log file at /home/admin/access.log. The file consists of one line per HTTP request, with the requester's IP address at the beginning of each line.

Find what's the IP address that has the most requests in this file (there's no tie; the IP is unique). Write the solution into a file /home/admin/highestip.txt. For example, if your solution is "1.2.3.4", you can do echo "1.2.3.4" > /home/admin/highestip.txt

Test: The SHA1 checksum of the IP address sha1sum /home/admin/highestip.txt is 6ef426c40652babc0d081d438b9f353709008e93 (just a way to verify the solution without giving it away.)

Time to Solve: 15 minutes.

  1. 計算指定文件 /home/admin/access.log 中的行數
wc -l /home/admin/access.log
raw-image


  1. 顯示文件 /home/admin/access.log 的前五行內容
head -5 /home/admin/access.log
raw-image


  1. 使用 cut 命令來從文件 access.log 中提取字段第一欄(f1),然後使用 -d 設定分隔符為破折號('-'),最後使用 > iplist.txt 將提取的字段保存到名為 iplist.txt 的文件中
cd /home/admin 
#切換到工作目錄

cut -f1 access.log -d '-' > iplist.txt
#將IP提取出來存到iplist.tx

head -5 iplist.txt
# 列出前五行檢查結果
raw-image


  1. 使用 cat 命令輸出 iplist.txt 的內容,通過管道 | 傳遞給 sort 命令對ip進行排序,最後使用 > ip_order.txt 將排序後的結果保存到 ip_order.txt 文件中
  • 因為uniq無法偵測重複行,除非它們彼此相鄰[1]。因此,在使用 uniq之前必須對文件中的內容進行排序 sort
cat iplist.txt | sort > ip_order.txt

head -10 ip_order.txt
# 列出前十行檢查結果
raw-image


  1. 使用uniq命令用於刪除連續重複的行,-c 會顯示每行重複出現的次數。sortuniq 的輸出進行排序,以便使用tail顯示排序後的結果的最後10行。
uniq -c ip_order.txt | sort | tail -10

echo "66.249.73.135" > /home/admin/highestip.txt
#依照題目指示將答案寫入到/home/admin/highestip.txt
raw-image
  1. 送出答案
raw-image

[1] https://www.geeksforgeeks.org/uniq-command-in-linux-with-examples/?ref=header_search#:~:text=Note%3A%20uniq%20isn%E2%80%99t%20able%20to%20detect%20the%20duplicate%20lines%20unless%20they%20are%20adjacent%20to%20each%20other.%20The%20content%20in%20the%20file%20must%20be%20therefore%20sorted%20before%20using%20uniq%20or%20you%20can%20simply%20use%20sort%20%2Du%20instead%20of%20uniq%20command.%C2%A0


3."Santiago": Find the secret combination

Scenario: "Santiago": Find the secret combination

Level: Easy

Type: Do

Description: Alice the spy has hidden a secret number combination, find it using these instructions:

  1. Find the number of lines with occurrences of the string Alice (case sensitive) in the *.txt files in the /home/admin directory
  2. There's a file where Alice appears exactly once. In that file, in the line after that "Alice" occurrence there's a number.

Write both numbers consecutively as one (no new line or spaces) to the solution file. For example if the first number from 1) is 11 and the second 22, you can do echo -n 11 > /home/admin/solution; echo 22 >> /home/admin/solution or echo "1122" > /home/admin/solution.

Test: Running md5sum /home/admin/solution returns d80e026d18a57b56bddf1d99a8a491f9(just a way to verify the solution without giving it away.)

Time to Solve: 15 minutes.

  1. 切換至工作目錄
pwd
cd /home/admin/
ls -l
raw-image


  1. 使用 grep 命令在所有 .txt 的文件中搜尋包含字符串 'Alice' 的行, -c 參數計算匹配的行數
grep -c 'Alice' *.txt
# 相加為411(第一題答案)
raw-image


  1. 使用 grep 命令來在文件 1342-0.txt 中搜尋包含字符串 'Alice' 的行,並接著顯示每個匹配行的後一行(-A1)
grep -A1 'Alice' 1342-0.txt
# 得到下一行出現的數字156(第二題答案)
raw-image


  1. 提交答案
echo '411156' > /home/admin/solution
raw-image

18會員
41Content count
歡迎來到「Marcos的方格子」!目前在「Marcos談科技」撰寫在職涯上學習到的知識,在「Marcos談書」分享我在日常的閱讀和心得,歡迎您的到來!!
留言0
查看全部
發表第一個留言支持創作者!
Marcos的方格子 的其他內容
在 Google Cloud 上保留靜態 IP 位址但未使用時,會按小時收取費用。使用 Cloud Functions 和 Cloud Scheduler 來識別和清理浪費的雲端資源,可以自動化的減少浪費的發生
在 OpenAI 推出 ChatGPT 模型的企業版後不到一天,Google Cloud Next 2023開跑,展示了Google Cloud最新產品發佈,並體現了各科技龍頭在 AI 領域搶佔主導地位的激烈競賽。
在著陸區(Landing Zone)在規劃時,在上一篇文章[1]的網路架構分享是以Shared VPC為例,但是在現實生活中,總是有各種前人留下的歷史共業或公司規範、作業考量而不能使用Shared VPC來集中管理雲端環境的網路架構。 因此分享常見的網路架構設計和設計架構時參考的因素!
💡 什麼是登陸區(Landing Zone)?這是一種模塊化與可擴展的配置,讓組織可以因應商業需要動態使用Google Cloud。
數位轉型是對組織運作方式的根本性重塑。 數位轉型使用各種不同的資訊技術並利用數據驅動來優化工作流程,達到對快速變動的市場更快、更智能、更即時的決策。最終,改變了客戶的期望並創造了新的商機。
在 Google Cloud 上保留靜態 IP 位址但未使用時,會按小時收取費用。使用 Cloud Functions 和 Cloud Scheduler 來識別和清理浪費的雲端資源,可以自動化的減少浪費的發生
在 OpenAI 推出 ChatGPT 模型的企業版後不到一天,Google Cloud Next 2023開跑,展示了Google Cloud最新產品發佈,並體現了各科技龍頭在 AI 領域搶佔主導地位的激烈競賽。
在著陸區(Landing Zone)在規劃時,在上一篇文章[1]的網路架構分享是以Shared VPC為例,但是在現實生活中,總是有各種前人留下的歷史共業或公司規範、作業考量而不能使用Shared VPC來集中管理雲端環境的網路架構。 因此分享常見的網路架構設計和設計架構時參考的因素!
💡 什麼是登陸區(Landing Zone)?這是一種模塊化與可擴展的配置,讓組織可以因應商業需要動態使用Google Cloud。
數位轉型是對組織運作方式的根本性重塑。 數位轉型使用各種不同的資訊技術並利用數據驅動來優化工作流程,達到對快速變動的市場更快、更智能、更即時的決策。最終,改變了客戶的期望並創造了新的商機。
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
CloudFront除錯相關 確認問題資訊 我們了解您遇到了網站異常的問題,麻煩您協助我們提供以下資訊,以便我們快速排解您的問題,感謝: 請問您發生異常的 CloudFront Distribution 是哪一個 請問現在還會有此異常狀況嗎 您最初發生異常的時間點大約是何時 請問您這種現
Linux FAQ : ps 顯示的 stat 簡介 參考 : https://unix.stackexchange.com/questions/18474/what-does-this-process-stat-indicates
Thumbnail
事由: 鰻魚剪碎放入烏龍湯麵裡, 寶寶都整碗吃快完了, 突然指嘴巴, 臉色大變, 問不出所以然, 叫寶寶喝水也不喝, 叫寶寶去刷牙也邊刷邊哭, 只好用手電筒看, 看半天還是不知道魚刺在哪裡, 寶寶痛到連電視也說不要看, 大哭, 後來, 心生一計, 問寶寶要不要吃冰淇淋, 寶寶哭著點頭, 寶寶吃完,
df 卡住大多是掛載磁碟異常 ( mount ) 可以改使用 df -l ( 查看本地磁碟 ) 查看掛載磁碟 mount | column -t 參考 : https://www.gushiciku.cn/pl/pIst/zh-tw 取消掛載磁碟 umount 位置
Linux FAQ : 給予顯示文字色彩 參考 : https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux
Linux FAQ : grep 搜尋檔案內容 grep -i 不區分大小寫 grep -v 排除條件顯示 grep -l 顯示符合的檔名 grep -n 顯示條件在第幾行 grep -q 顯示 0 , 1 ( 檢查 $? , 0 is successful ) grep -x 整行完全符合才顯示
Thumbnail
Linux FAQ : 查看 jar 檔方式 jar 檔其實類似 zip 壓縮檔 除了可以用 zip 軟體來打開 在 Linux 可以用一些指令輔助
Linux FAQ : ls , cp , rm Argument list too long 在使用 Linux 如大量檔案 ls 查看 cp 複製 rm 清理 可能會遇到了 Argument list too long 大約 10 萬筆以上檔案 就可能會看到此訊息
最近發現MySQL用timestamp自動設定的現在時間CURRENT_TIMESTAMP,會慢八個小時,紀錄一下怎麼解的: 解決MySQL用timestamp自動設定的現在時間,會慢八個小時的問題: mysql > set global time_zone='+8:00';   // UTC+8為
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
CloudFront除錯相關 確認問題資訊 我們了解您遇到了網站異常的問題,麻煩您協助我們提供以下資訊,以便我們快速排解您的問題,感謝: 請問您發生異常的 CloudFront Distribution 是哪一個 請問現在還會有此異常狀況嗎 您最初發生異常的時間點大約是何時 請問您這種現
Linux FAQ : ps 顯示的 stat 簡介 參考 : https://unix.stackexchange.com/questions/18474/what-does-this-process-stat-indicates
Thumbnail
事由: 鰻魚剪碎放入烏龍湯麵裡, 寶寶都整碗吃快完了, 突然指嘴巴, 臉色大變, 問不出所以然, 叫寶寶喝水也不喝, 叫寶寶去刷牙也邊刷邊哭, 只好用手電筒看, 看半天還是不知道魚刺在哪裡, 寶寶痛到連電視也說不要看, 大哭, 後來, 心生一計, 問寶寶要不要吃冰淇淋, 寶寶哭著點頭, 寶寶吃完,
df 卡住大多是掛載磁碟異常 ( mount ) 可以改使用 df -l ( 查看本地磁碟 ) 查看掛載磁碟 mount | column -t 參考 : https://www.gushiciku.cn/pl/pIst/zh-tw 取消掛載磁碟 umount 位置
Linux FAQ : 給予顯示文字色彩 參考 : https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux
Linux FAQ : grep 搜尋檔案內容 grep -i 不區分大小寫 grep -v 排除條件顯示 grep -l 顯示符合的檔名 grep -n 顯示條件在第幾行 grep -q 顯示 0 , 1 ( 檢查 $? , 0 is successful ) grep -x 整行完全符合才顯示
Thumbnail
Linux FAQ : 查看 jar 檔方式 jar 檔其實類似 zip 壓縮檔 除了可以用 zip 軟體來打開 在 Linux 可以用一些指令輔助
Linux FAQ : ls , cp , rm Argument list too long 在使用 Linux 如大量檔案 ls 查看 cp 複製 rm 清理 可能會遇到了 Argument list too long 大約 10 萬筆以上檔案 就可能會看到此訊息
最近發現MySQL用timestamp自動設定的現在時間CURRENT_TIMESTAMP,會慢八個小時,紀錄一下怎麼解的: 解決MySQL用timestamp自動設定的現在時間,會慢八個小時的問題: mysql > set global time_zone='+8:00';   // UTC+8為