{"id":31240,"date":"2019-10-31T21:40:13","date_gmt":"2019-10-31T18:40:13","guid":{"rendered":"https:\/\/prohoster.info\/blog\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij\/"},"modified":"2019-10-31T21:40:13","modified_gmt":"2019-10-31T18:40:13","slug":"linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij","title":{"rendered":"Linux Quest. Wir gratulieren den Gewinnern und berichten \u00fcber die L\u00f6sungen der Aufgaben.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Linux Quest. Wir gratulieren den Gewinnern und berichten \u00fcber die L\u00f6sungen der Aufgaben.\" src=\"\/wp-content\/uploads\/2019\/04\/a8c28d0ba562680119475609a56136d6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAm 25. M\u00e4rz haben wir die Registrierung f\u00fcr <noindex><a rel=\"nofollow\" href=\"https:\/\/linux.mail.ru\">Linux Quest<\/a><\/noindex>, ein Spiel f\u00fcr Liebhaber und Kenner des Betriebssystems Linux, er\u00f6ffnet. Ein paar Statistiken: Insgesamt haben sich 1117 Personen f\u00fcr das Spiel registriert, davon haben 317 mindestens einen Schl\u00fcssel gefunden, 241 haben die Aufgabe der ersten Stufe erfolgreich bew\u00e4ltigt, 123 die der zweiten und 70 haben die dritte Stufe bestanden. Heute kommt unser Spiel zu einem Ende, und wir gratulieren unseren Gewinnern! <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<ul>\n<li><b>Den ersten Platz belegte Alexander Teldykov.<\/b><br \/>\nAlexander sagte \u00fcber sich selbst, dass er der typischste Systemadministrator sei. Er lebt in Wolgograd und verwaltet seit etwa zwanzig Jahren verschiedene Unix-\u00e4hnliche Systeme. Er hat in Internetdienstanbietern, Banken und Systemintegratoren gearbeitet. Derzeit arbeitet er remote in einer kleinen Firma und k\u00fcmmert sich um die Cloud-Infrastruktur f\u00fcr einen gro\u00dfen ausl\u00e4ndischen Auftraggeber. Er liest gerne und h\u00f6rt Musik. \u00dcber das Spiel sagte Alexander, dass es ihm insgesamt gefallen hat, er liebe solche Aufgaben. In einem der Unternehmen hat er in einem Vorstellungsgespr\u00e4ch \u00c4hnliches wie Hackerrank gemacht, was interessant war.<\/li>\n<li><b>Der zweite Platz geht an Roman Suslov.<\/b><br \/>\nRoman kommt aus Moskau. Er ist 37 Jahre alt. Er arbeitet als Linux\/Unix-Ingenieur bei der Firma 'Infosysteme Jet'. In seiner Arbeit muss er sich mit der Verwaltung und Fehlersuche von Linux\/Unix-Systemen + SAN besch\u00e4ftigen. Seine Interessen sind sehr vielf\u00e4ltig: Linux-Systeme, Programmierung, Reverse Engineering, Informationssicherheit, Arduino. \u00dcber das Spiel bemerkte Roman, dass es ihm insgesamt gefallen hat. \"Ich habe meine Gehirnzellen ein wenig verknotet und mich von dem grauen Alltag abgelenkt. \ud83d\ude42 Ich h\u00e4tte mir mehr Aufgaben gew\u00fcnscht, denn als ich kaum ins Spiel kam, war es schon zu Ende.\"<\/li>\n<li><b>Der dritte Platz \u2014 alex3d.<\/b><br \/>\nAlex lebt in Moskau und besch\u00e4ftigt sich mit Softwareentwicklung. \"Danke f\u00fcr den Contest, es war interessant, meine Google-F\u00e4higkeiten zu testen.\"<\/li>\n<\/ul>\n<p>\nAu\u00dferdem bei den 10 besten Spielern:<\/p>\n<ul>\n<li>Yevgeniy Saldayev<\/li>\n<li>Markel Mohnachevskiy<\/li>\n<li>Konstantin Konosov<\/li>\n<li>Pavel Sergeev<\/li>\n<li>Wladimir Bovaev<\/li>\n<li>Iwan Bubnov<\/li>\n<li>Pavlo Klets<\/li>\n<\/ul>\n<p>\nWir verstehen, dass es viele L\u00f6sungsans\u00e4tze f\u00fcr all unsere Aufgaben gibt, im Folgenden werden einige m\u00f6gliche L\u00f6sungsans\u00e4tze beschrieben. <\/p>\n<h3>1. Erste Stufe <\/h3>\n<p>\nWir haben sie \"Bist du wirklich Admin?\" genannt, da die Aufgabe recht einfach war \u2014 einen warmen, nostalgischen Service zu reparieren.<\/p>\n<h4>1.1. Interessante Fakten:<\/h4>\n<p>\nZwei Spieler fanden den ersten Schl\u00fcssel in den ersten 15 Minuten des Spiels, und nach einer Stunde hatten wir drei F\u00fchrer, die die Aufgabe erfolgreich bew\u00e4ltigt haben. <\/p>\n<h4>1.2. Aufgabe<\/h4>\n<p>\nDu hast in einem Unternehmen angefangen, in dem lange Zeit kein kompetenter IT-Spezialist vorhanden war. Bevor wir mit der Ordnung beginnen, m\u00fcssen wir ein dringendes Problem l\u00f6sen, das die B\u00fcroarbeit blockiert.<\/p>\n<p>Die Reinigungskraft hat mit dem Wischmopp das Stromkabel des Serverraums erwischt. Die Stromversorgung wurde wiederhergestellt, aber eine sehr wichtige Website funktioniert trotzdem nicht. Die Website ist wichtig, weil die Firma sich nicht wirklich um Informationssicherheit k\u00fcmmert, und auf der Hauptseite findet man passwortgesch\u00fctzt das Passwort f\u00fcr den Computer des Gesch\u00e4ftsf\u00fchrers offen.<\/p>\n<p>Neulich wurde das Passwort ge\u00e4ndert, aber das neue hat niemand behalten, der Gesch\u00e4ftsf\u00fchrer kann nicht arbeiten. Es gibt Ger\u00fcchte, dass auf diesem Ger\u00e4t auch Schl\u00fcssel waren, die uns bei der Entschl\u00fcsselung der Backup-Buchhaltungsdokumente helfen k\u00f6nnten.<\/p>\n<p>Alle warten auf eine schnelle L\u00f6sung des Problems!<\/p>\n<h4>1.3. L\u00f6sung<\/h4>\n<p>\n1. Zuerst m\u00fcssen wir das Root-Passwort auf der virtuellen Maschine \u00e4ndern, um Zugang zu erhalten. Beim Starten stellen wir fest, dass es sich um Ubuntu 16.04 Server handelt.<\/p>\n<p>F\u00fcr den Reset des Root-Passwortes starten wir die Maschine neu und gehen im Moment der Anzeige des Grub-Men\u00fcs mit der Taste \u201ee\u201c in den Bearbeitungsmodus des Ubuntu-Eintrags. Wir bearbeiten die Zeile linux und f\u00fcgen am Ende hinzu: <code>init=\/bin\/bash<\/code>. Wir booten mit Ctrl+x und erhalten die Bash. Wir mounten den Root mit rw und \u00e4ndern das Passwort:<\/p>\n<pre><code class=\"bash\">$ mount -o remount,rw \/dev\/mapper\/ubuntu--vg-root\n$ passwd<\/code><\/pre>\n<p>\nVergessen wir nicht sync, dann rebooten wir.<\/p>\n<p>2. Laut den Bedingungen funktioniert unser Webserver nicht, wir schauen nach:<\/p>\n<pre><code class=\"bash\">$ curl localhost\nNot Found\nThe requested URL \/ was not found on this server.\nApache\/2.4.18 <\/code><\/pre>\n<p>\nDas bedeutet, dass Apache l\u00e4uft, aber mit dem Code 404 antwortet. Wir schauen uns die Konfiguration an:<\/p>\n<pre><code class=\"bash\">$ vim \/etc\/apache2\/sites-enabled\/000-default.conf<\/code><\/pre>\n<p>\nHier finden wir den Schl\u00fcssel \u2013 StevenPaulSteveJobs.<\/p>\n<p>Wir pr\u00fcfen den Pfad <code>\/usr\/share\/WordPress<\/code> \u2013 dieser existiert nicht, aber es gibt <code>\/usr\/share\/wordpress<\/code>. Wir korrigieren die Konfiguration und starten Apache neu.<\/p>\n<pre><code class=\"bash\">$ systemctl restart apache2<\/code><\/pre>\n<p>\n3. Wir versuchen es erneut und erhalten einen Fehler:<\/p>\n<pre><code class=\"bash\">Warning: mysqli_real_connect(): (HY000\/2002): Connection refused in \/usr\/share\/wordpress\/wp-includes\/wp-db.php on line 1488<\/code><\/pre>\n<p>\nWurde die DB nicht gestartet?<\/p>\n<pre><code class=\"bash\">$ systemctl status mysql\nActive: active (running)<\/code><\/pre>\n<p>\nWas ist los? Wir m\u00fcssen uns k\u00fcmmern. Daf\u00fcr m\u00fcssen wir Zugang zu MySQL erhalten, wie dies beschrieben ist <noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/resetting-permissions.html\">Dokumentation<\/a><\/noindex>. Ein Punkt der Dokumentation empfiehlt uns, die Option <code>skip-grant-tables<\/code> in <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code>einzutragen. Auch hier finden wir einen Schl\u00fcssel \u2013 AugustaAdaKingByron.<\/p>\n<p>Wir passen die Berechtigungen f\u00fcr den Benutzer <code>'wp'@'localhost'<\/code>an. Wir starten MySQL und machen es im Netzwerk zug\u00e4nglich, indem wir die Option in der Konfiguration kommentieren: <code>skip-networking<\/code>.<\/p>\n<p>4. Nach den durchgef\u00fchrten Ma\u00dfnahmen startet der Webserver, aber die Seite funktioniert immer noch nicht, da <\/p>\n<pre><code class=\"bash\">Warnung: require_once(\\\/usr\\\/share\\\/wordpress\\\/wp-content\\\/themes\\\/twentysixteen\\\/footer.php): Stream konnte nicht ge\u00f6ffnet werden: Berechtigung verweigert in \\\/usr\\\/share\\\/wordpress\\\/wp-includes\\\/template.php in Zeile 562<\/code><\/pre>\n<p>\nWir setzen die Rechte f\u00fcr die Datei.<\/p>\n<pre><code class=\"bash\">$ chmod 644 \\\/usr\\\/share\\\/wordpress\\\/wp-content\\\/themes\\\/twentysixteen\\\/footer.php\n<\/code><\/pre>\n<p>\nWir aktualisieren die Seite, gehen auf die Website und finden den Schl\u00fcssel \u2014 BjarneStroustrup! Wir haben alle drei Schl\u00fcssel gefunden, unser Direktor kann arbeiten, wir haben die Buchhaltungsdateien entschl\u00fcsselt. Alle sind gl\u00fccklich, und du hast noch viel Arbeit vor dir, um die Infrastruktur, Backups und Sicherheit im Unternehmen zu verbessern. <\/p>\n<h3>2. Zweiter Schritt<\/h3>\n<p>\nEs musste eine Aufgabe zur Sammlung von Analytik gel\u00f6st werden. Analytik liebt jeder \u2014 wer, woher und in welchen Mengen kommt. Wir haben einen Fall erfunden, mit dem alle Ingenieure in ihrem Leben in irgendeiner Form konfrontiert werden k\u00f6nnen.<\/p>\n<h4>2.1. Interessante Fakten<\/h4>\n<p>\nEiner unserer Spieler hat den richtigen Schl\u00fcssel in den ersten 10 Minuten des Spiels eingegeben, und nach der ersten Stunde hatten wir einen Leader, der die Aufgabe gemeistert hat.<\/p>\n<h4>2.2. Aufgabe<\/h4>\n<p>\nDu bist in das Unternehmen gekommen, die Manager haben dich gebeten, herauszufinden, an wen Mails aus Afrika gesendet wurden. Du musst die Top-21 Adressen der Empf\u00e4nger erstellen. Die ersten Buchstaben der Empf\u00e4ngeradressen sind der Schl\u00fcssel. Ein Punkt: Der Mailserver, \u00fcber den die Mails gesendet wurden, l\u00e4dt nicht. Alle warten auf eine schnelle L\u00f6sung des Problems!<\/p>\n<h4>2.3. L\u00f6sung<\/h4>\n<p>\n1. Der Server l\u00e4d nicht wegen eines nicht existierenden Swap-Bereichs in fstab, beim Booten versucht das System, ihn einzuh\u00e4ngen, und st\u00fcrzt ab. Wie kann man booten?<\/p>\n<p>Wir laden das Abbild herunter, wir haben CentOS 7 heruntergeladen, booten von Live CD\\\/DVD (Troubleshooting -&gt; Rescue), mounten das System, bearbeiten <code>\/etc\/fstab<\/code>. Hier finden wir den ersten Schl\u00fcssel \u2014 GottfriedWilhelm11646Leibniz!<\/p>\n<p>Wir erstellen Swap:<\/p>\n<pre><code class=\"bash\">$ lvcreate -n swap centos -L 256M\n$ sync &amp;&amp; reboot<\/code><\/pre>\n<p>\n2. Das Passwort wie immer fehlt, wir m\u00fcssen das Root-Passwort auf der virtuellen Maschine \u00e4ndern. Das haben wir bereits in der ersten Aufgabe gemacht. Wir \u00e4ndern es und gelangen erfolgreich auf den Server, aber er startet sofort neu. Der Server startet so schnell neu, dass man nicht einmal die Protokolle gr\u00fcndlich ansehen kann. Wie versteht man, was passiert?<\/p>\n<p>Wir booten wieder von LiveCD, studieren die Systemprotokolle aufmerksam und schauen vorsichtshalber ins Cron, da solche Periodizit\u00e4t besteht. Dort finden wir das Problem und den zweiten Schl\u00fcssel \u2014 Alan1912MathisonTuring!<\/p>\n<p>Es muss in <code>\/etc\/crontab<\/code> der Zeile gel\u00f6scht oder auskommentiert werden <code>echo b &gt; \\\/proc\\\/sysrq-trigger<\/code>.<\/p>\n<p>3. Danach startete der Server und es ist m\u00f6glich, die Aufgabe der Manager auszuf\u00fchren: \u201eWelche Adressen hat Afrika?\u201c Diese Informationen sind im Grunde \u00f6ffentlich zug\u00e4nglich. Man kann sie im Internet durchsuchen mit den Stichworten \u201eIP-Adresse Afrika\u201c, \u201eGeoIP-Datenbank\u201c. F\u00fcr das L\u00f6sen der Aufgabe k\u00f6nnen frei zug\u00e4ngliche Adressverteilungsdatenbanken (GeoIP) verwendet werden. Wir haben als Referenz die DB verwendet <noindex><a rel=\"nofollow\" href=\"https:\/\/dev.maxmind.com\/geoip\/geoip2\/geolite2\/\">MaxMind GeoLite2<\/a><\/noindex>, die unter der Creative Commons Attribution-ShareAlike 4.0 Lizenz verf\u00fcgbar ist.<\/p>\n<p>Lass uns versuchen, unsere Aufgabe nur mit den Systemwerkzeugen von Linux zu l\u00f6sen, es gibt jedoch viele M\u00f6glichkeiten, diese zu l\u00f6sen: mit Textfilter-Tools und Skripten in verschiedenen Programmiersprachen.<\/p>\n<p>Zun\u00e4chst erhalten wir einfach die \u201eAbsender-IP \u2013 Empf\u00e4nger\u201c Paare aus dem Mail-Log <code>\/var\/log\/maillog<\/code> (wir erstellen eine Tabelle der E-Mail-Empf\u00e4nger \u2013 Absender-IP). Das kann mit folgendem Befehl gemacht werden:<\/p>\n<pre><code class=\"bash\">$ cat \/var\/log\/maillog | fgrep -e ' connect from' -e 'status=sent' | sed 's\/[][]\/ \/g' | awk '\/connect from\/ {ip=$11} \/status=sent\/ {print $10\" \"ip}' &gt; log1.txt<\/code><\/pre>\n<p>\nUnd bevor wir mit der Erstellung der Afrikadatenbank fortfahren, schauen wir uns die Top-IP-Adressen der Absender an.<\/p>\n<pre><code class=\"bash\">$ cat log1.txt | cut -d' ' -f1 | sort | uniq -c | sort -r | head -n 40\n5206 L2JhbjAbM67GA99jg@mail.ru\n4165 iHKTBkegOQa6fIALq@mail.ru\n3739 nHkcBl7BdgXxijSYD7@mail.ru\n3405 SMAzPJAzbl9vp4hAXo@mail.ru\n3346 xILz6d7P@mail.ru\n<\/code><\/pre>\n<p>\nUnter allen stechen die ersten drei Empf\u00e4nger der Spitze mit der Anzahl der E-Mails deutlich hervor. Wenn man die IP-Adressen der Absender, die an die Adressen aus diesem Top-3 gesendet haben, grept, kann man eine eindeutige Vorherrschaft bestimmter Netzwerke beobachten:<\/p>\n<pre><code class=\"bash\">$ cat log1.txt | fgrep 'L2JhbjAbM67GA99jg@mail.ru' | cut -d' ' -f2 | sort | cut -d'.' -f1 | uniq -c | sort -r | head\n831 105\n806 41\n782 197\n664 196\n542 154\n503 102\n266 156\n165 45\n150 160\n108 165<\/code><\/pre>\n<p>\nDer gr\u00f6\u00dfte Teil der Netzwerke 105\/8, 41\/8, 196\/8, 197\/8 geh\u00f6rt zu AFRINIC \u2014 einem der f\u00fcnf regionalen Internet-Registrare, die die Verteilung von Internetressourcen durchf\u00fchren. AFRINIC verteilt den Adressraum auf dem Gebiet Afrikas. Und 41\/8 geh\u00f6rt vollst\u00e4ndig zu AFRINIC.<\/p>\n<pre><code class=\"bash\">https:\/\/www.nic.ru\/whois\/?searchWord=105.0.0.0 \nhttps:\/\/www.nic.ru\/whois\/?searchWord=41.0.0.0\n<\/code><\/pre>\n<p>\nSomit gibt es eine Antwort auf die Aufgabe, die im Logfile selbst enthalten ist.<\/p>\n<pre><code class=\"bash\">$ cat log1.txt | fgrep -e '105.' -e '41.' -e '196.' -e '197.' -e '154.' -e '102.' | awk '{print $1}' | sort | uniq -c | sort -r | head -n 21\n4209 L2JhbjAbM67GA99jg@mail.ru\n3313 iHKTBkegOQa6fIALq@mail.ru\n2704 nHkcBl7BdgXxijSYD7@mail.ru\n2215 uvRbp1O@mail.ru\n1774 sPmMsmmFiV@mail.ru\n1448 BtG3aHgQgCKuze2AKuRH@mail.ru\n1233 eQpuuQ2uQdbwRL3@mail.ru\n958 nJT5dpaBZ@mail.ru\n862 ef4WbQiB@mail.ru\n762 dQCqKL6eVminFfH7wLA@mail.ru\n632 ifq6Rd1HxuCQOdO9@mail.ru\n539 cFwm2ssypMmx1sA7@mail.ru\n531 twtTnr4G@mail.ru\n431 TSrczgYASrR11Hs3qCi@mail.ru\n380 o3r3exc3OL@mail.ru\n357 rzmjr2VAHK@mail.ru\n348 vnPr6YjJ3ndw@mail.ru\n312 anOjFXrwOtLP2Rl1Vcz6@mail.ru\n289 dvny5zHmRW8fiT@mail.ru\n282 sgg9jPxFDYvzw8Kr@mail.ru\n274 tKSevzA7GntJ@mail.ru<\/code><\/pre>\n<p>\nIn diesem Schritt erhalten wir die Zeichenfolge \u201eLinuxBenedictTorvadst\u201c.<\/p>\n<p>Der richtige Schl\u00fcssel: \u201eLinusBenedictTorvalds\u201c.<\/p>\n<p>Die erhaltene Zeichenfolge enth\u00e4lt einen Tippfehler in Bezug auf den richtigen Schl\u00fcssel in den letzten 3 Zeichen. Dies liegt daran, dass die von uns ausgew\u00e4hlten Netzwerke nicht vollst\u00e4ndig den afrikanischen L\u00e4ndern zugewiesen sind und an der Verteilung der E-Mails nach IP-Adressen in unserem Protokoll.<\/p>\n<p>Durch ausreichende Pr\u00e4zisierung der gr\u00f6\u00dften Netzwerke, die den afrikanischen L\u00e4ndern zugewiesen sind, kann eine genaue Antwort erhalten werden.:<\/p>\n<pre><code class=\"bash\">$ cat log1.txt | fgrep -e' '105.{30..255}. -e' '41. -e' '196.{64..47}. -e' '196.{248..132}. -e' '197.{160..31}. -e' '154.{127..255}. -e' '102.{70..255}. -e' '156.{155..255}. | awk '{print $1}' | sort | uniq -c | sort -r | head -n 21\n3350 L2JhbjAbM67GA99jg@mail.ru\n2662 iHKTBkegOQa6fIALq@mail.ru\n2105 nHkcBl7BdgXxijSYD7@mail.ru\n1724 uvRbp1O@mail.ru\n1376 sPmMsmmFiV@mail.ru\n1092 BtG3aHgQgCKuze2AKuRH@mail.ru\n849 eQpuuQ2uQdbwRL3@mail.ru\n712 nJT5dpaBZ@mail.ru\n584 ef4WbQiB@mail.ru\n463 dQCqKL6eVminFfH7wLA@mail.ru\n365 ifq6Rd1HxuCQOdO9@mail.ru\n269 cFwm2ssypMmx1sA7@mail.ru\n225 twtTnr4G@mail.ru\n168 TSrczgYASrR11Hs3qCi@mail.ru\n142 o3r3exc3OL@mail.ru\n111 rzmjr2VAHK@mail.ru\n 96 vnPr6YjJ3ndw@mail.ru\n 78 anOjFXrwOtLP2Rl1Vcz6@mail.ru\n 56 lHzWiB7ExvRtSbAcU9@mail.ru\n 56 dvny5zHmRW8fiT@mail.ru\n 40 sgg9jPxFDYvzw8Kr@mail.ru<\/code><\/pre>\n<p>\nDas Problem kann auch auf eine andere Weise gel\u00f6st werden.<br \/>\nLaden Sie MaxMind herunter, entpacken Sie es, und die folgenden drei Befehle l\u00f6sen ebenfalls unser Problem.<\/p>\n<pre><code class=\"bash\">$ cat GeoLite2-Country-Locations-ru.csv | grep \"Afrika\" | cut -d',' -f1 &gt; africaIds.txt\n$ grep -Ff africaIds.txt GeoLite2-Country-Blocks-IPv4.csv | cut -d',' -f1 &gt; africaNetworks.txt\n$ grepcidr -f africaNetworks.txt log1.txt | cut -d' ' -f1 | sort | uniq -c | sort -r | head -n21\n<\/code><\/pre>\n<p>\nAuf diese oder jene Weise haben wir schlie\u00dflich die Statistiken erfasst, und die Manager haben die ben\u00f6tigten Daten f\u00fcr ihre Arbeit erhalten! <\/p>\n<h3>3. Dritte Phase<\/h3>\n<p>\nDie dritte Phase \u00e4hnelt der ersten \u2013 auch hier muss der warmherzige Lampenservice repariert werden, aber alles ist komplizierter als in der ersten Aufgabe.<\/p>\n<h4>3.1. Interessante Fakten<\/h4>\n<p>\nIn den ersten 15 Minuten fanden drei Spieler den ersten Schl\u00fcssel; nach 2 Stunden und 20 Minuten nach Beginn der Phase bew\u00e4ltigte unser Sieger die Aufgabe.<\/p>\n<h4>3.2. Aufgabe<\/h4>\n<p>\nDu hast einen Job in einem Unternehmen begonnen, in dem alle Unternehmensdokumente auf einem internen Wiki-Server gespeichert sind. Im vergangenen Jahr bestellte ein Ingenieur 3 neue Festplatten f\u00fcr den Server zus\u00e4tzlich zu einer vorhandenen, weil er argumentierte, dass man f\u00fcr die Ausfallsicherheit der Systeme Festplatten in bestimmte Arrays einbauen m\u00fcsste. Leider ging der Ingenieur einige Wochen nach der Installation in den Urlaub nach Indien und kam nicht zur\u00fcck.<\/p>\n<p>Ein paar Jahre funktionierte der Server ohne Probleme, aber vor ein paar Tagen wurde das Unternehmensnetzwerk gehackt. Laut Anweisung entnahmen die Sicherheitsmitarbeiter die Festplatten aus dem Server und schickten sie dir. W\u00e4hrend des Transports ging eine Festplatte unwiederbringlich verloren.<\/p>\n<p>Es muss die Funktionsf\u00e4higkeit von Wiki wiederhergestellt werden, insbesondere die Inhalte der Wiki-Seiten sind von Interesse. Ein Textst\u00fcck, das auf einer der Seiten dieser Wiki war, ist das Passwort f\u00fcr den 1C-Server und wird dringend zur Entsperrung ben\u00f6tigt.<\/p>\n<p>Dar\u00fcber hinaus gab es irgendwo auf den Wiki-Seiten oder an anderer Stelle Passw\u00f6rter f\u00fcr den Log-Server und den \u00dcberwachungsserver, die ebenfalls wiederhergestellt werden sollten; ohne diese ist eine Untersuchung des Vorfalls unm\u00f6glich. Wie immer wartet man auf eine schnelle L\u00f6sung des Problems!<\/p>\n<h4>3.3. L\u00f6sung<\/h4>\n<p>\n1. Wir versuchen, nacheinander von den Festplatten zu booten, die wir haben, und erhalten \u00fcberall die gleiche Meldung:<\/p>\n<pre><code class=\"bash\">Kein bootf\u00e4higes Medium gefunden! System angehalten \n<\/code><\/pre>\n<p>\nWir m\u00fcssen von irgendetwas booten. Wieder hilft das Booten von einem Live CD\/DVD (Fehlerbehebung -&gt; Rettung). Beim Booten versuchen wir, die bootbare Partition zu finden, finden sie nicht und gelangen in die Shell. Wir versuchen zu lernen, was und wie mit den Festplatten ist. Es ist bekannt, dass es drei gibt. In der 7. Version von CentOS gibt es mehr Werkzeuge, wo es die Befehle gibt. <code>blkid<\/code> oder <code>lsblk<\/code>, die uns alle Informationen \u00fcber die Festplatten anzeigen. <\/p>\n<p>So handeln wir:<\/p>\n<pre><code class=\"bash\">$ ls \/dev\/sd*<\/code><\/pre>\n<p>\nSofort ist zu sehen, dass <\/p>\n<pre><code class=\"bash\">\/dev\/sdb1 - ext4\n\/dev\/sdb2 - \u0447\u0430\u0441\u0442\u044c lvm\n\/dev\/sda1 \u0438 \/dev\/sdc1 - \u0447\u0430\u0441\u0442\u0438 \u0440\u0435\u0439\u0434\u0430\n\/dev\/sda2 \u0438 \/dev\/sdc2 - \u043f\u0440\u043e \u043d\u0438\u0445 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442<\/code><\/pre>\n<p>\nWir mounten sdb1, es ist klar zu erkennen, dass dies die Boot-Partition von CentOS 6 ist.<\/p>\n<pre><code class=\"bash\">$ mkdir \/mnt\/sdb1 &amp;&amp; mount \/dev\/sdb1 \/mnt\/sdb1<\/code><\/pre>\n<p>\nOffensichtlich gehen wir in den grub-Bereich und finden dort den ersten Schl\u00fcssel \u2013 James191955Gosling in einer ungew\u00f6hnlichen Datei.<\/p>\n<p>2. Wir untersuchen pvs und lvs, da wir mit LVM arbeiten. Wir sehen, dass es 2 physische Volumes geben sollte, eines wird nicht gefunden und es gibt einen Fehler wegen einer verlorenen UID. Wir sehen, dass es 2 logische Volumes geben sollte: root und swap, wobei root teilweise verloren ist (Attribut P bei Volume). Es l\u00e4sst sich nicht mounten, was schade ist! Wir brauchen es dringend.<\/p>\n<p>Es gibt noch 2 Festplatten, wir schauen sie an, sammeln Daten und mounten:<\/p>\n<pre><code class=\"bash\">$ mdadm --examine --verbose --scan\n$ mdadm --assemble --verbose --scan\n$ mkdir \/mnt\/md127 &amp;&amp; mount \/dev\/md127 \/mnt\/md127 <\/code><\/pre>\n<p>\nWir schauen, es ist klar, dass dies die Boot-Partition von CentOS 6 ist und ein Duplikat dessen, was bereits auf <code>\/dev\/sdb1<\/code>, und hier ist wieder derselbe Schl\u00fcssel \u2013 DennisBMacAlistairCRitchie!<br \/>\nWir schauen, wie es zusammengestellt wurde <code>\/dev\/md127<\/code>.<\/p>\n<pre><code class=\"bash\">$ mdadm --detail \/dev\/md127\n<\/code><\/pre>\n<p>\nWir sehen, dass es aus 4 Festplatten zusammengestellt worden sein sollte, aber nur aus zwei zusammengestellt wurde <code>\/dev\/sda1<\/code> und <code>\/dev\/sdc1<\/code>, sie sollten die Nummern 2 und 4 im System sein. Wir vermuten, dass auch aus <code>\/dev\/sda2<\/code> und <code>\/dev\/sdc2<\/code> ein Array zusammengestellt werden kann. Unklar ist, warum es darauf keine Metadaten gibt, aber das ist das Problem des Administrators, der irgendwo in Goa ist. Wir vermuten, dass hier RAID10 vorhanden sein sollte, obwohl es auch Varianten gibt. Wir stellen folgendes zusammen: <\/p>\n<pre><code class=\"bash\">$ mdadm --create --verbose \/dev\/md0 --assume-clean --level=10 --raid-devices=4 missing \/dev\/sda2 missing \/dev\/sdc2\n<\/code><\/pre>\n<p>\nWir schauen uns blkid, pvs, lvs an. Wir stellen fest, dass wir ein physisches Volume zusammengebaut haben, das uns zuvor gefehlt hat.<\/p>\n<p>Sofort wird lvroot repariert, wir montieren es, aber aktivieren vorher VG:<\/p>\n<pre><code class=\"bash\">$ vgchange -a y\n$ mkdir \/mnt\/lvroot &amp;&amp; mount \/dev\/mapper\/vg_c6m1-lv_root \/mnt\/lvroot \n<\/code><\/pre>\n<p>\nUnd dort gibt es alles, einschlie\u00dflich des Schl\u00fcssels im Home-Verzeichnis von root \u2014 \/root\/sweet.<\/p>\n<p>3. Wir versuchen immer noch, unseren Server zum Laufen zu bringen, damit er normal startet. Alle logischen Volumes von unserem <code>\/dev\/md0<\/code> (wo wir alles gefunden haben) verschieben wir zu <code>\/dev\/sdb2<\/code>, wo der gesamte Server urspr\u00fcnglich betrieben wurde.<\/p>\n<pre><code class=\"bash\">$ pvmove \/dev\/md0 \/dev\/sdb2\n$ vgreduce vg_c6m1 \/dev\/md0<\/code><\/pre>\n<p>\nWir schalten den Server aus, entfernen die Festplatten 1 und 3, lassen die zweite stehen und starten von Live CD\/DVD in den Rescue-Modus. Wir finden die Boot-Partition und stellen den Bootloader in grub wieder her:<\/p>\n<pre><code class=\"bash\">root (hd0,0)\nsetup (hd0)\n<\/code><\/pre>\n<p>\nWir entfernen die Bootdiskette und starten erfolgreich, aber die Website funktioniert nicht.<\/p>\n<p>4. Es gibt zwei M\u00f6glichkeiten, die Website zu starten: entweder Apache von Grund auf neu zu konfigurieren oder den bereits vorab konfigurierten nginx mit php-fpm zu verwenden:<\/p>\n<pre><code class=\"bash\">$ \/etc\/init.d\/nginx start\n$ \/etc\/init.d\/php-fpm start\n<\/code><\/pre>\n<p>\nSchlie\u00dflich muss MySQL gestartet werden:<\/p>\n<pre><code class=\"bash\">$ \/etc\/init.d\/mysqld start<\/code><\/pre>\n<p>\nEs startet nicht, und das Geheimnis liegt in <code>\/var\/log\/mysql<\/code>. Sobald Sie das Problem mit MySQL gel\u00f6st haben, wird die Website funktionieren, auf der Startseite wird der Schl\u00fcssel \u2014 RichardGCCMatthewGNUStallman! Jetzt haben wir Zugang zu 1C, und die Mitarbeiter werden ihr Gehalt erhalten. Und du hast wie immer viel Arbeit vor dir, um die Infrastruktur und Sicherheit im Unternehmen zu optimieren.<\/p>\n<p>Wir k\u00f6nnen auch erneut die Liste der B\u00fccher teilen, die uns und unseren Teilnehmern geholfen haben, sich auf das Spiel vorzubereiten: <noindex><a rel=\"nofollow\" href=\"https:\/\/linux.mail.ru\/books\">linux.mail.ru\/books<\/a><\/noindex>.<\/p>\n<p>Vielen Dank, dass Sie bei uns waren! Achten Sie auf die Ank\u00fcndigungen der n\u00e4chsten Spiele!<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/447222\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>25 \u043c\u0430\u0440\u0442\u0430 \u043c\u044b \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044e \u043d\u0430 Linux Quest, \u044d\u0442\u043e \u0418\u0433\u0440\u0430 \u0434\u043b\u044f \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u0435\u0439 \u0438 \u0437\u043d\u0430\u0442\u043e\u043a\u043e\u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b Linux. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438: \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043d\u0430 \u0438\u0433\u0440\u0443 1117 \u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u0438\u0437 \u043d\u0438\u0445 317 \u2014 \u043d\u0430\u0448\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d \u043a\u043b\u044e\u0447, 241 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441 \u0437\u0430\u0434\u0430\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430, 123 \u2014 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0438 70 \u043f\u0440\u043e\u0448\u043b\u0438 \u0442\u0440\u0435\u0442\u0438\u0439 \u044d\u0442\u0430\u043f. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0430\u0448\u0430 \u0438\u0433\u0440\u0430 \u043f\u043e\u0434\u043e\u0448\u043b\u0430 \u043a \u043a\u043e\u043d\u0446\u0443, \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23206,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31240","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Linux Quest. \u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:40:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:40:13+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Linux Quest. Herzlichen Gl\u00fcckwunsch an die Gewinner und wir erz\u00e4hlen von den L\u00f6sungen der Aufgaben | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Linux Quest. \u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u0439 | ProHoster","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:40:13+00:00","article:modified_time":"2019-10-31T18:40:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31240","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 05:12:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:20:31","updated":"2026-01-21 05:12:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/31240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=31240"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/31240\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/23206"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=31240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=31240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=31240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}