{"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\/nl\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij","title":{"rendered":"Linux Quest. Gefeliciteerd aan de winnaars en we bespreken de oplossingen voor de opdrachten.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Linux Quest. Gefeliciteerd aan de winnaars en we bespreken de oplossingen voor de opdrachten.\" src=\"\/wp-content\/uploads\/2019\/04\/a8c28d0ba562680119475609a56136d6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOp 25 maart hebben we de registratie geopend voor <noindex><a rel=\"nofollow\" href=\"https:\/\/linux.mail.ru\">Linux Quest<\/a><\/noindex>, een spel voor liefhebbers en kenners van het besturingssysteem Linux. Een beetje statistiek: er hebben zich 1117 personen voor het spel geregistreerd, waarvan 317 ten minste \u00e9\u00e9n sleutel hebben gevonden, 241 hebben de eerste fase succesvol voltooid, 123 de tweede fase en 70 de derde fase. Vandaag is ons spel ten einde gekomen en we feliciteren onze winnaars! <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<ul>\n<li><b>De eerste plaats is veroverd door Alexander Teldekov.<\/b><br \/>\nAlexander vertelde dat hij de meest typische sysadmin is. Hij woont in Volgograd en beheert al zo'n twintig jaar verschillende Unix-achtige systemen. Hij heeft gewerkt bij internetproviders, banken en systeemintegrators. Momenteel werkt hij op afstand voor een klein bedrijf dat cloudinfrastructuur voor een grote buitenlandse klant beheert. Hij houdt van lezen en muziek luisteren. Over het spel zei Alexander dat hij het over het algemeen leuk vond; hij houdt van dit soort puzzels. Bij een van de bedrijven waar hij op gesprek kwam, deed hij iets soortgelijks als Hackerrank, wat interessant was.<\/li>\n<li><b>De tweede plaats \u2014 Roman Suslov.<\/b><br \/>\nRoman komt uit Moskou. Hij is 37 jaar oud. Hij werkt als Linux\/Unix-engineer bij 'Infosystemy Jet'. In zijn werk houdt hij zich bezig met het beheren en oplossen van problemen met Linux\/Unix-systemen + SAN. Zijn interesses zijn zeer divers: Linux-systemen, programmeren, reverse engineering, informatiebeveiliging, Arduino. Over het spel merkte Roman op dat hij het over het algemeen leuk vond. \"Ik heb mijn hersenen een beetje kunnen rekken en ben afgeleid van de saaie dagelijkse routine. \ud83d\ude42 Ik had graag meer opdrachten gehad; het was net zo leuk dat de game al eindigde voordat ik goed en wel in de sfeer was gekomen.\"<\/li>\n<li><b>De derde plaats \u2014 alex3d.<\/b><br \/>\nAlex woont in Moskou en is softwareontwikkelaar. \"Bedankt voor de wedstrijd; het was interessant om mijn google-fu vaardigheden te testen.\"<\/li>\n<\/ul>\n<p>\nOok in de ranking van de top 10 spelers:<\/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>Vladimir Bovaev<\/li>\n<li>Ivan Bubnov<\/li>\n<li>Pavlo Klets<\/li>\n<\/ul>\n<p>\nWe begrijpen dat er veel oplossingen zijn voor al onze vragen; hieronder staan enkele mogelijke oplossingsmethoden beschreven. <\/p>\n<h3>1. Eerste fase <\/h3>\n<p>\nWe hebben het \"Ben jij echt een admin?\" genoemd, omdat de opdracht vrij eenvoudig was \u2014 een warm en knus service herstellen.<\/p>\n<h4>1.1. Interessante feiten:<\/h4>\n<p>\nTwee spelers vonden de eerste sleutel binnen de eerste 15 minuten van het spel, en binnen het eerste uur hadden we drie leiders die de opdracht voltooiden. <\/p>\n<h4>1.2. Opdracht<\/h4>\n<p>\nJe bent begonnen bij een bedrijf waar lange tijd geen competente IT-specialist was. Voordat je orde op zaken kunt stellen, moet je een dringend probleem oplossen dat de werking van het kantoor blokkeert.<\/p>\n<p>De schoonmaakster heeft met de mop de voedingskabel van de serverkast geraakt. De stroom is hersteld, maar een zeer belangrijke website werkt nog steeds niet. De website is belangrijk omdat het bedrijf niet erg bekommerd is om informatiebeveiliging, en op de homepage kan je het wachtwoord van de directeur van de computer in het openbaar vinden.<\/p>\n<p>Onlangs is het wachtwoord veranderd, maar iedereen is het vergeten, de directeur kan niet werken. Er gaan geruchten dat er op deze machine ook sleutels lagen die ons kunnen helpen bij het ontsleutelen van de back-up van de boekhoudkundige documenten.<\/p>\n<p>Iedereen wacht op een snelle oplossing van het probleem!<\/p>\n<h4>1.3. Oplossing<\/h4>\n<p>\n1. Eerst moet het root-wachtwoord op de virtuele machine worden gewijzigd om toegang te krijgen. Bij het opstarten merken we dat het een Ubuntu 16.04 Server is.<\/p>\n<p>Om het root-wachtwoord te resetten, herstarten we de machine, en tijdens het opstarten, op het moment dat het grub-menu verschijnt, gaan we naar de bewerking van de optie Ubuntu met de knop \"e\". We bewerken de regel linux en voegen op het einde toe <code>init=\/bin\/bash<\/code>. We starten op met Ctrl+x en krijgen bash. We maken de root weer lees- en schrijfbaar en wijzigen het wachtwoord:<\/p>\n<pre><code class=\"bash\">$ mount -o remount,rw \/dev\/mapper\/ubuntu--vg-root\n$ passwd<\/code><\/pre>\n<p>\nVergeet niet om te syncen en opnieuw op te starten.<\/p>\n<p>2. In de voorwaarden staat dat onze webserver niet werkt, laten we kijken:<\/p>\n<pre><code class=\"bash\">$ curl localhost\nNot Found\nDe opgevraagde URL \/ was niet gevonden op deze server.\nApache\/2.4.18 <\/code><\/pre>\n<p>\nDus feitelijk is Apache gestart, maar het geeft een 404-code terug. Laten we de configuratie bekijken:<\/p>\n<pre><code class=\"bash\">$ vim \/etc\/apache2\/sites-enabled\/000-default.conf<\/code><\/pre>\n<p>\nHier bevindt zich de sleutel \u2014 StevenPaulSteveJobs.<\/p>\n<p>Laten we het pad controleren <code>\/usr\/share\/WordPress<\/code> \u2014 dat bestaat niet, maar er is <code>\/usr\/share\/wordpress<\/code>. We corrigeren de configuratie en herstarten Apache.<\/p>\n<pre><code class=\"bash\">$ systemctl restart apache2<\/code><\/pre>\n<p>\n3. Proberen we het opnieuw, krijgen we een foutmelding:<\/p>\n<pre><code class=\"bash\">Warning: mysqli_real_connect(): (HY000\/2002): Verbinding geweigerd in \/usr\/share\/wordpress\/wp-includes\/wp-db.php op regel 1488<\/code><\/pre>\n<p>\nIs de database niet gestart?<\/p>\n<pre><code class=\"bash\">$ systemctl status mysql\nActief: actief (lopende)<\/code><\/pre>\n<p>\nWat is er aan de hand? We moeten het uitzoeken. Hiervoor moeten we toegang krijgen tot MySQL, hoe dit te doen is beschreven in <noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/resetting-permissions.html\">de documentatie<\/a><\/noindex>. Een van de documentatiepunten raadt ons aan om de optie <code>skip-grant-tables<\/code> in <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code>. Hier vinden we ook de sleutel \u2014 AugustaAdaKingByron.<\/p>\n<p>We corrigeren de rechten voor de gebruiker <code>'wp'@'localhost'<\/code>. We starten MySQL en maken het beschikbaar op het netwerk door de optie in de configuratie te commentari\u00ebren. <code>skip-networking<\/code>.<\/p>\n<p>4. Na de uitgevoerde acties start de webserver op, maar de site werkt nog steeds niet, omdat <\/p>\n<pre><code class=\"bash\">Waarschuwing: require_once(\\\/usr\\\/share\\\/wordpress\\\/wp-content\\\/themes\\\/twentysixteen\\\/footer.php): kan stroom niet openen: Toegang geweigerd in \\\/usr\\\/share\\\/wordpress\\\/wp-includes\\\/template.php op regel 562<\/code><\/pre>\n<p>\nWe corrigeren de rechten op het bestand.<\/p>\n<pre><code class=\"bash\">$ chmod 644 \\\/usr\\\/share\\\/wordpress\\\/wp-content\\\/themes\\\/twentysixteen\\\/footer.php\n<\/code><\/pre>\n<p>\nWe verversen de pagina, gaan naar de website en vinden de sleutel \u2014 BjarneStroustrup! We hebben alle drie de sleutels gevonden, onze directeur kan werken, we hebben de boekhoudbestanden ontcijferd. Iedereen is blij, maar je hebt nog veel werk voor de boeg om de infrastructuur, back-ups en beveiliging van het bedrijf op te zetten. <\/p>\n<h3>2. Tweede fase<\/h3>\n<p>\nEr moest een probleem worden opgelost over het verzamelen van analytics. Iedereen houdt van analytics - wie waarheen gaat en in welke aantallen. We verzonnen een geval dat elke ingenieur in de loop van zijn leven op de een of andere manier kan tegenkomen.<\/p>\n<h4>2.1. Interessante feiten<\/h4>\n<p>\nEen van onze spelers voerde de juiste sleutel in de eerste 10 minuten van het spel in, en binnen het eerste uur hadden we een leider die de taak volbracht.<\/p>\n<h4>2.2. Opdracht<\/h4>\n<p>\nJe begon te werken in het bedrijf, managers kwamen naar je toe en vroegen je om te achterhalen naar wie de e-mails vanuit Afrika werden verzonden. Je moet een top-21 van ontvangersadressen opstellen. De eerste letters van de ontvangersadressen zijn de sleutel. Er is echter \u00e9\u00e9n nadeel: de mailserver, via welke de e-mails zijn verzonden, laadt niet. Iedereen wacht op een snelle oplossing!<\/p>\n<h4>2.3. Oplossing<\/h4>\n<p>\n1. De server laadt niet vanwege een niet-bestaand swapgedeelte in fstab; bij het opstarten probeert het systeem dit te monteren en valt het uit. Hoe op te starten?<\/p>\n<p>We downloaden het beeld, we hebben CentOS 7 gedownload, booten vanaf Live CD\\\/DVD (Troubleshooting -&gt; Rescue), monteren het systeem, passen het aan <code>\/etc\/fstab<\/code>. Hier vinden we de eerste sleutel \u2014 GottfriedWilhelm11646Leibniz!<\/p>\n<p>Laten we swap aanmaken:<\/p>\n<pre><code class=\"bash\">$ lvcreate -n swap centos -L 256M\n$ sync &amp;&amp; reboot<\/code><\/pre>\n<p>\n2. Zoals altijd is er geen wachtwoord, we moeten het root-wachtwoord op de virtuele machine wijzigen. We hebben dit al gedaan in de eerste opdracht. We veranderen het en loggen succesvol in op de server, maar hij gaat onmiddellijk opnieuw opstarten. De server herstart zo snel dat we zelfs niet alle logs aandachtig kunnen bekijken. Hoe begrijpen we wat er aan de hand is?<\/p>\n<p>We booten weer vanaf livecd, bestuderen de logs van het systeem aandachtig en kijken voor de zekerheid in cron, gezien de periodiek. Daar vinden we het probleem en de tweede sleutel \u2014 Alan1912MathisonTuring!<\/p>\n<p>We moeten in <code>\/etc\/crontab<\/code> de regel verwijderen of commentari\u00ebren <code>echo b &gt; \\\/proc\\\/sysrq-trigger<\/code>.<\/p>\n<p>3. Vervolgens is de server opgestart, en kunnen we de taken van de managers uitvoeren: \"Wat zijn de adressen van Afrika?\" Deze informatie is over het algemeen openbaar. Je kunt deze informatie op internet vinden door te zoeken op de termen \"ip address africa\", \"geoip database\". Voor het oplossen van deze taak kun je vrij beschikbare databases voor adresverdeling (geoip) gebruiken. Wij hebben de database als referentie gebruikt. <noindex><a rel=\"nofollow\" href=\"https:\/\/dev.maxmind.com\/geoip\/geoip2\/geolite2\/\">MaxMind GeoLite2<\/a><\/noindex>, beschikbaar onder de Creative Commons Attribution-ShareAlike 4.0-licentie.<\/p>\n<p>Laten we proberen onze taak op te lossen met alleen Linux-systeemutilities, maar er zijn in feite talloze manieren om dit op te lossen: met behulp van tekstfiltering tools en met scripts in verschillende programmeertalen.<\/p>\n<p>Laten we eerst de paren \"IP-afzender - ontvanger\" uit de e-maillog verkrijgen. <code>\/var\/log\/maillog<\/code> (we bouwen een tabel van e-mailontvangers - IP-afzenders). Dit kan gedaan worden met de volgende opdracht:<\/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>\nEn voordat we verder gaan met het opstellen van de Afrikaanse adresdatabase, laten we eens kijken naar de top IP-adressen van afzenders.<\/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>\nOnder alle afzenders springen de eerste drie ontvangers in de top eruit vanwege het aantal berichten. Als we de IP-adressen van de afzenders die naar de e-mailadressen uit deze top-3 sturen greppen, merken we een duidelijke dominantie van bepaalde netwerken op:<\/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>\nHet merendeel van de netwerken 105\/8, 41\/8, 196\/8 en 197\/8 zijn toegewezen aan AFRINIC - een van de vijf regionale internetregisters die verantwoordelijk zijn voor de verdeling van internetbronnen. AFRINIC verdeelt het adresruimte in Afrika. En 41\/8 behoort volledig aan 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>\nDus, antwoord op de taak is eigenlijk te vinden in het logboek zelf.<\/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 deze fase ontvangen we de string \u00abLinuxBenedictTorvadst\u00bb.<\/p>\n<p>De juiste sleutel: \u00abLinusBenedictTorvalds\u00bb.<\/p>\n<p>De verkregen string bevat een typfout in vergelijking met de juiste sleutel in de laatste 3 tekens. Dit komt doordat de netwerken die we gekozen hebben niet volledig zijn toegewezen aan de landen van Afrika en hoe e-mails zijn verdeeld over IP-adressen in ons logboek.<\/p>\n<p>Bij voldoende verfijning van de grootste netwerken die aan de landen van Afrika zijn toegewezen, kan een nauwkeurig antwoord worden verkregen.:<\/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>\nHet probleem kan ook op een andere manier worden opgelost.<br \/>\nDownload MaxMind, pak het uit, en de volgende drie opdrachten lossen ons probleem ook op.<\/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>\nOp de een of andere manier hebben we uiteindelijk de statistieken berekend, en de managers hebben de benodigde gegevens voor hun werk ontvangen! <\/p>\n<h3>3. Derde fase<\/h3>\n<p>\nDe derde fase lijkt veel op de eerste - we moeten ook de warme lampservice repareren, maar het is allemaal complexer dan bij de eerste opdracht.<\/p>\n<h4>3.1. Interessante feiten<\/h4>\n<p>\nIn de eerste 15 minuten vonden drie spelers de eerste sleutel, en na 2 uur en 20 minuten na de start van de fase voltooide onze winnaar de taak.<\/p>\n<h4>3.2. Opdracht<\/h4>\n<p>\nJe bent begonnen bij een bedrijf waar alle bedrijfsdocumenten op een interne Wiki-server worden opgeslagen. Vorig jaar bestelde een ingenieur 3 nieuwe schijven voor de server, naast \u00e9\u00e9n bestaande, met het argument dat voor de redundantiesysteem de schijven in bepaalde arrays moeten worden geplaatst. Helaas, enkele weken na de installatie vertrok de ingenieur op vakantie naar India en is niet teruggekeerd.<\/p>\n<p>Enkele jaren functioneerde de server zonder storingen, maar een paar dagen geleden werd het netwerk van het bedrijf gehackt. Volgens de instructies heeft het beveiligingspersoneel de schijven uit de server gehaald en naar jou gestuurd. Tijdens het transport is \u00e9\u00e9n schijf definitief verloren gegaan.<\/p>\n<p>De Wiki moet weer operationeel worden gemaakt; vooral is de inhoud van de wiki-pagina's van belang. Een bepaald stuk tekst dat op een van de pagina's stond, is het wachtwoord voor de 1C-server en is dringend nodig om deze te ontgrendelen.<\/p>\n<p>Bovendien waren er ergens op de wiki-pagina's of op een andere plek wachtwoorden voor de logserver en de bewakingsserver, die ook gewenst zijn om te herstellen; zonder deze is het onmogelijk om het voorval te onderzoeken. Zoals altijd wachten we op een snelle oplossing van dit probleem!<\/p>\n<h4>3.3. Oplossing<\/h4>\n<p>\n1. We proberen om om de beurt op te starten vanaf de schijven die we hebben en overal krijgen we dezelfde boodschap:<\/p>\n<pre><code class=\"bash\">Geen opstartbare media gevonden! Systeem stopgezet. \n<\/code><\/pre>\n<p>\nWe moeten ergens van opstarten. We kunnen weer opstarten vanaf een Live CD\/DVD (Probleemoplossing -&gt; Herstel). Bij het opstarten proberen we de opstartpartitie te vinden, maar we vinden deze niet en komen in de shell. We proberen uit te vinden wat er aan de hand is met de schijven. Het is bekend dat we er drie hebben. De tools voor dit zijn talrijker in versie 7 van CentOS, waar de commando's zijn <code>blkid<\/code> of <code>lsblk<\/code>, die alle informatie over de schijven laten zien. <\/p>\n<p>Wat we doen:<\/p>\n<pre><code class=\"bash\">$ ls \/dev\/sd*<\/code><\/pre>\n<p>\nHet is meteen duidelijk dat <\/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>\nWe monteren sdb1; het blijkt de opstartpartitie van CentOS 6 te zijn.<\/p>\n<pre><code class=\"bash\">$ mkdir \/mnt\/sdb1 &amp;&amp; mount \/dev\/sdb1 \/mnt\/sdb1<\/code><\/pre>\n<p>\nVanzelfsprekend gaan we naar de grub-partitie en vinden daar de eerste sleutel \u2014 James191955Gosling in een ongewoon bestand.<\/p>\n<p>2. We bestuderen pvs en lvs, omdat we met LVM werken. We zien dat er 2 fysieke volumes moeten zijn, waarvan er \u00e9\u00e9n niet gevonden kan worden en klaagt over een verloren uid. We zien dat er 2 logische volumes moeten zijn: root en swap, waarbij root gedeeltelijk verloren is (de P-attribuut van volume). Het is jammer dat we het niet kunnen monteren; we hebben het heel erg nodig.<\/p>\n<p>Er zijn nog 2 schijven, we bekijken ze, verzamelen en monteren:<\/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>\nWe bekijken het en zien dat dit de opstartpartitie van CentOS 6 is en een duplicaat van wat we al hebben, en opnieuw is daar dezelfde sleutel \u2014 DennisBMacAlistairCRitchie! <code>\/dev\/sdb1<\/code>We kijken hoe het is samengesteld<br \/>\n$ mdadm --detail \/dev\/md127 <code>\/dev\/md127<\/code>.<\/p>\n<pre><code class=\"bash\">We zien dat het uit 4 schijven had samengesteld moeten worden, maar is uit twee samengesteld\n<\/code><\/pre>\n<p>\n, die nummer 2 en 4 in het systeem moesten zijn. We veronderstellen dat uit <code>\/dev\/sda1<\/code> en <code>\/dev\/sdc1<\/code>het ook een array kan worden samengesteld. Onduidelijk waarom er geen metadata op staat, maar dat is de verantwoordelijkheid van de beheerder die ergens in Goa is. We vermoeden dat hier RAID10 moet zijn, hoewel er opties zijn. We assembleren: <code>\/dev\/sda2<\/code> en <code>\/dev\/sdc2<\/code> $ mdadm --create --verbose \/dev\/md0 --assume-clean --level=10 --raid-devices=4 missing \/dev\/sda2 missing \/dev\/sdc2 <\/p>\n<pre><code class=\"bash\">We bekijken blkid, pvs, lvs. We ontdekken dat we het fysieke volume hebben samengesteld dat we eerder miste.\n<\/code><\/pre>\n<p>\nWe kijken naar blkid, pvs, lvs. We ontdekken dat we de fysieke volume hebben verzameld die we eerder tekortkwamen.<\/p>\n<p>De lvroot werkt weer, we monteren deze, maar we activeren eerst de 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>\nEn daar is alles, inclusief de sleutel in de home-directory van root \u2014 \/root\/sweet.<\/p>\n<p>3. We proberen ons server toch weer tot leven te brengen, zodat deze normaal kan opstarten. Alle logische volumes van onze <code>\/dev\/md0<\/code> (waar alles zich bevond) slepen we naar <code>\/dev\/sdb2<\/code>, waar de server oorspronkelijk draaide.<\/p>\n<pre><code class=\"bash\">$ pvmove \/dev\/md0 \/dev\/sdb2\n$ vgreduce vg_c6m1 \/dev\/md0<\/code><\/pre>\n<p>\nWe schakelen de server uit, verwijderen schijf 1 en 3, laten de tweede erin, en booten vanaf een Live CD\/DVD in Rescue. We vinden de opstartpartitie en herstellen de opstartloader in grub:<\/p>\n<pre><code class=\"bash\">root (hd0,0)\nsetup (hd0)\n<\/code><\/pre>\n<p>\nWe halen de opstartdisk eruit en starten succesvol op, maar de site werkt niet.<\/p>\n<p>4. Er zijn twee manieren om de site op te starten: Apache vanaf nul instellen of een vooraf geconfigureerde nginx met php-fpm gebruiken:<\/p>\n<pre><code class=\"bash\">$ \/etc\/init.d\/nginx start\n$ \/etc\/init.d\/php-fpm start\n<\/code><\/pre>\n<p>\nTot slot moeten we MySQL opstarten:<\/p>\n<pre><code class=\"bash\">$ \/etc\/init.d\/mysqld start<\/code><\/pre>\n<p>\nHij start niet en de oplossing ligt in <code>\/var\/log\/mysql<\/code>. Zodra je het probleem met MySQL oplost, zal de site werken, op de homepage zal de sleutel staan \u2014 RichardGCCMatthewGNUStallman! Nu hebben we toegang tot 1C en kunnen de medewerkers hun salaris ontvangen. En jij hebt zoals altijd veel werk voor de boeg met het opzetten van infrastructuur en beveiliging in het bedrijf.<\/p>\n<p>Daarnaast kunnen we nogmaals een lijst delen van boeken die ons en onze deelnemers hielpen bij de voorbereiding op het spel: <noindex><a rel=\"nofollow\" href=\"https:\/\/linux.mail.ru\/books\">linux.mail.ru\/books<\/a><\/noindex>.<\/p>\n<p>Bedankt dat jullie bij ons waren! Blijf op de hoogte van de aankondigingen van de volgende spellen!<br \/>\n<br \/>Bron: <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.3 - 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\/nl\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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. Gefeliciteerd aan de winnaars en we leggen de oplossingen voor de opdrachten uit | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/31240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=31240"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/31240\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/23206"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=31240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=31240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=31240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}