📍

SadServer解説 サイトマップ

2024/01/14に公開

SadServersとは?

https://zenn.dev/comf_nakamura/articles/sadservers_introduction

私のSadServers解説のメリット

いきなり答えをみることなく、自分のレベルに合わせて段階的にヒントを見られることです。
解説内容はトグル内に記載することで最初は見えないようになっており、ヒントを見たい場合はヒントの表示>実行するコマンドといったように、段階的に解説を見ることができます。

ヒント1(SadServers解説#2から抜粋)

まずは、ファイルの内容のうち、IPアドレスの1列目だけ抽出します。
特定の行だけ抽出するときは、cutコマンドを使用します。

実行コマンド

区切り文字は" "(半角スペース)のため、-d ' 'オプションで、半角スペースを区切り文字に指定します。
また、-f 1オプションで、1列目を抽出する列に指定します。

~$ cut -d " " -f 1 access.log | head
83.149.9.216
83.149.9.216
83.149.9.216
83.149.9.216
83.149.9.216
83.149.9.216
83.149.9.216
83.149.9.216
83.149.9.216
83.149.9.216

IPアドレスの列だけ抽出できました。

また、一つの問題に対してこのようなヒントが複数あり、順にヒントを見ていくことで答えに辿り着けるようになっています。

私の解説は、ただ単に答えを掲載するだけではなく、SadServersを通じたLinuxの勉強をサポートすることを目的としているため、上記の形式を取っています。

解説記事一覧

前提知識

いきなり問題を解き始めても調べるばかりになってしまう…という方は、下記の記事でLinuxのコマンドを復習してから、SadServersの問題に取り掛かってみてはいかがでしょうか。
https://zenn.dev/comf_nakamura/articles/linux_command

トラブルシューティングの際に、コマンドのエラーメッセージを見ても調査が進まない場合があると思います。そういった場合に、実際にどこのログを見にいけばいいのかまとめました。
https://zenn.dev/comf_nakamura/articles/linux_search_log

 
解説を作成次第、Name列をリンクにしていきます
#1, #4, #11, #34は、登録せずに問題を解くことができます。
#10, #27~30, #36, #41~#42, #44は有料プランへの加入が必要です。

Easy

# Name(リンクはSadServersの問題ページに飛びます) Time Type 解説
1 "Saint John": what is writing to this log file?
このログファイルに書き込んでいるのは何者ですか?
10 m Fix こちら
2 "Saskatoon": counting IPs.
IPアドレスを数えてください
15 m Do こちら
3 "Santiago": Find the secret combination
隠れた組み合わせを見つけてください
15 m Do こちら
4 "The Command Line Murders"
コマンドライン殺人事件
20 m Do こちら
5 "Taipei": Come a-knocking
ノックしてください
15 m Hack こちら
6 "Resumable Server": Linux Upskill Challenge
再開可能なサーバ:Linuxの技術を向上させよう
※Linux勉強用のサーバで、設問はありません
30 m Do -
7 "Lhasa": Easy Math
簡単な数学
15 m Do こちら
8 "Bucharest": Connecting to Postgres
Postgresに接続しましょう
10 m Fix こちら
9 "Bilbao": Basic Kubernetes Problems
基本的なKubernetesの問題
10 m Fix こちら
10 "Apia": Needle in a Haystack)
針の山から針を探す
20 m Do 作成予定
なし

Medium

# Name(リンクはSadServersの問題ページに飛びます) Time Type 解説
11 "Manhattan": can't write data into database.
データベースに書き込むことができません
20 m Fix こちら
12 "Tokyo": can't serve web file 15 m Fix 未作成
13 "Cape Town": Borked Nginx 15 m Fix 未作成
14 "Salta": Docker container won't start. 15 m Fix 未作成
15 "Venice": Am I in a container? 15 m Do 未作成
16 "Oaxaca": Close an Open File 15 m Fix 未作成
17 "Melbourne": WSGI with Gunicorn 20 m Fix 未作成
18 "Lisbon": etcd SSL cert troubles 20 m Fix 未作成
19 "Kihei": Surely Not Another Disk Space Scenario 30 m Fix 未作成
20 "Unimak Island": Fun with Mr Jason 15 m Do 未作成
21 "Ivujivik": Parlez-vous Français? 20 m Do 未作成
22 "Paris": Where is my webserver? 15 m Hack 未作成
23 "Buenos Aires": Kubernetes Pod Crashing 20 m Fix 未作成
24 "Tarifa": Between Two Seas 20 m Fix 未作成
25 "Marrakech": Word Histogram 20 m Do 未作成
26 "Rosario": Restore a MySQL database 15m Fix 未作成
27 "Abaokoro": Restore MySQL Databases Spooked by a Ghost 20m Fix 作成予定
なし
28 "Poznań": Helm Chart Issue in Kubernetes 15m Fix 作成予定
なし
29 "Manado": How much do you press? 30m Do 作成予定
なし
30 "Warsaw": Prometheus can't scrape the webserver 30m Fix 作成予定
なし
31 "Moyogalpa": Security Snag. The Trials of Mary and John 30m Fix 未作成
32 "Helsingør": The first walls of postgres physical replication 20m Fix 未作成
33 "Bekasi": Supervisor is still around 20m Fix 未作成

Hard

# Name(リンクはSadServersの問題ページに飛びます) Time Type 解説
34 "Jakarta": it's always DNS. 20 m Fix 未作成
35 "Bern": Docker web container can't connect to db container. 20 m Fix 未作成
36 "Karakorum": WTFIT – What The Fun Is This? 20 m Fix 作成予定
なし
37 "Singara": Docker and Kubernetes web app not working. 20 m Fix 未作成
38 "Hong-Kong": can't write data into database. 20 m Fix 未作成
39 "Pokhara": SSH and other sshenanigans 30 m Fix 未作成
40 "Roseau": Hack a Web Server 30 m Hack 未作成
41 "Belo-Horizonte": A Java Enigma 20 m Fix 作成予定
なし
42 "Chennai": Pull a Rabbit from a Hat 30 m Fix 作成予定
なし
43 "Monaco": Disappearing Trick 30 m Hack 未作成
44 "Florence": Database Migration Hell 30 m Hack 作成予定
なし

Discussion