SadServer解説 サイトマップ
SadServersとは?
私の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の問題に取り掛かってみてはいかがでしょうか。
ログの調査方法
トラブルシューティングでは、コマンドのエラーメッセージを見ても調査が進まない場合があります。エラーメッセージを見ても問題解決の糸口が掴めず、ログを調査することにしたとき、どこのログをどんな順番で見にいけばいいのかをまとめました。
問題解説リンク
解説を作成次第、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
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