📍

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列をリンクにしていきます
備考列が「登録不要」の問題は、Sadserversアカウントを作成しなくても問題を解くことができます。
備考列が「有料」の問題は、Sadservers有料プランへの加入が必要です。
(執筆時点で無料だった問題を除き、有料問題の解説は作成しない予定です。)

Easy

# Name(リンクはSadServersの問題ページに飛びます) Time 解説 備考
1 "Saint John": what is writing to this log file?
このログファイルに書き込んでいるのは何者ですか?
10 m こちら 登録不要
2 "Saskatoon": counting IPs.
IPアドレスを数えてください
15 m こちら
3 "Santiago": Find the secret combination
隠れた組み合わせを見つけてください
15 m こちら 今は削除
されている
3 "The Command Line Murders"
コマンドライン殺人事件
20 m こちら 登録不要
4 "Taipei": Come a-knocking
ノックしてください
15 m こちら
5 "Resumable Server": Linux Upskill Challenge
再開可能なサーバ:Linuxの技術を向上させよう
※Linux勉強用のサーバで、設問はありません
30 m -
6 "Lhasa": Easy Math
簡単な数学
15 m こちら
7 "Bucharest": Connecting to Postgres
Postgresに接続しましょう
10 m こちら
8 "Bilbao": Basic Kubernetes Problems
基本的なKubernetesの問題
10 m こちら
9 "Apia": Needle in a Haystack
針の山から針を探す
20 m 作成予定
なし
有料
10 "Gitega": Find the Bad Git Commit
失敗したGitコミットを見つける
15 m こちら
11 "Minneapolis": Break a CSV file
CSVファイルを分割する
15 m こちら
12 "Saint Paul": Merge Many CSVs files 15 m 未作成
13 "Bata": Find in /proc 10 m 未作成
14 "Geneva": Renew an SSL Certificate 10 m 未作成

Medium

# Name(リンクはSadServersの問題ページに飛びます) Time 解説 備考
15 "Manhattan": can't write data into database.
データベースに書き込むことができません
20 m こちら 登録
不要
16 "Cape Town": Borked Nginx
故障したNginx
15 m こちら
17 "Tokyo": can't serve web file
WEBファイルを提供できません
15 m こちら
18 "Salta": Docker container won't start.
Dockerコンテナが開始されません
15 m こちら
19 "Venice": Am I in a container?
私はコンテナの中にいますか?
15 m こちら
20 "Oaxaca": Close an Open File
開かれているファイルを閉じてください
15 m こちら
21 "Melbourne": WSGI with Gunicorn
Gunicornを使用したWSGI
20 m こちら
22 "Lisbon": etcd SSL cert troubles
etcd SSL証明書の問題
20 m こちら
23 "Kihei": Surely Not Another Disk Space Scenario
まさか、またディスク容量の問題ではないだろうか
30 m こちら
24 "Unimak Island": Fun with Mr Jason
15 m 作成予定
なし
有料
25 "Ivujivik": Parlez-vous Français?
20 m 作成予定
なし
有料
26 "Paris": Where is my webserver?
15 m 未作成
27 "Buenos Aires": Kubernetes Pod Crashing
20 m 未作成
28 "Tarifa": Between Two Seas
20 m 作成予定
なし
有料
29 "Marrakech": Word Histogram
20 m 未作成
30 "Rosario": Restore a MySQL database
15 m 未作成
31 "Abaokoro": Restore MySQL Databases Spooked by a Ghost
20 m 作成予定
なし
有料
32 "Poznań": Helm Chart Issue in Kubernetes
15 m 作成予定
なし
有料
33 "Manado": How much do you press?
30 m 作成予定
なし
有料
34 "Warsaw": Prometheus can't scrape the webserver 30 m 作成予定
なし
有料
35 "Moyogalpa": Security Snag. The Trials of Mary and John 30 m 未作成
36 "Helsingør": The first walls of postgres physical replication 20 m 未作成
37 "Bekasi": Supervisor is still around 20 m 未作成
38 "Depok": Nginx with Brotli 15 m 作成予定
なし
有料
39 "Tukaani": XZ LZMA Library Compromised 15 m 作成予定
なし
有料
40 "Atrani": Modify a SQlite Database 15 m 作成予定
なし
有料
41 "Minneapolis with a Vengeance": Break a CSV file 20 m 未作成
42 "Hanoi": Find the Multitasking Users 15 m 作成予定
なし
有料
43 "Batumi": Troubleshoot "A" cannot connect to "B" 20 m 作成予定
なし
有料

Hard

# Name(リンクはSadServersの問題ページに飛びます) Time 解説 備考
44 "Jakarta": it's always DNS. 20 m 未作成 登録
不要
45 "Bern": Docker web container can't connect to db container. 20 m 未作成
46 "Karakorum": WTFIT – What The Fun Is This? 20 m 作成予定
なし
有料
47 "Singara": Docker and Kubernetes web app not working. 20 m 未作成
48 "Hong-Kong": can't write data into database. 20 m 未作成
49 "Pokhara": SSH and other sshenanigans 30 m 作成予定
なし
有料
50 "Roseau": Hack a Web Server 30 m 未作成
51 "Belo-Horizonte": A Java Enigma 20 m 作成予定
なし
有料
52 "Chennai": Pull a Rabbit from a Hat 30 m 作成予定
なし
有料
53 "Monaco": Disappearing Trick 30 m 未作成 有料
54 "Florence": Database Migration Hell 30 m 作成予定
なし
有料

Discussion