{"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\/da\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij","title":{"rendered":"Linux Quest. Tillykke til vinderne og fort\u00e6ller om l\u00f8sningene p\u00e5 opgaverne","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Linux Quest. Tillykke til vinderne og fort\u00e6ller om l\u00f8sningene p\u00e5 opgaverne\" src=\"\/wp-content\/uploads\/2019\/04\/a8c28d0ba562680119475609a56136d6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDen 25. marts \u00e5bnede vi tilmeldingen til <noindex><a rel=\"nofollow\" href=\"https:\/\/linux.mail.ru\">Linux Quest<\/a><\/noindex>, et spil for entusiaster og eksperter inden for Linux-operativsystemet. Nogle statistikker: 1117 personer tilmeldte sig spillet, hvoraf 317 fandt mindst \u00e9n n\u00f8gle, 241 klarede opgaven i f\u00f8rste fase, 123 i anden fase, og 70 fuldf\u00f8rte den tredje fase. I dag er vores spil afsluttet, og vi congratulerer vores vindere! <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<ul>\n<li><b>F\u00f8rste plads blev vundet af Alexander Teldikov.<\/b><br \/>\nAlexander sagde om sig selv, at han er den mest typiske systemadministrator. Han bor i Volgograd og har administreret forskellige Unix-lignende systemer i cirka tyve \u00e5r. Han har arbejdet i internetudbydere, banker og systemintegratorer. I \u00f8jeblikket arbejder han remote for et lille firma, hvor han h\u00e5ndterer cloud-infrastruktur for en stor udenlandsk kunde. Han elsker at l\u00e6se og lytte til musik. Om spillet sagde Alexander, at han generelt kunne lide det, og han elsker s\u00e5dan nogle opgaver. I et af virksomhederne deltog han i en lignende aktivitet som Hackerrank, hvilket var interessant.<\/li>\n<li><b>Anden plads \u2014 Roman Suslov.<\/b><br \/>\nRoman er fra Moskva. Han er 37 \u00e5r gammel. Han arbejder som Linux\/Unix-ingeni\u00f8r hos 'Infosystemer Jet'. I sit arbejde er han n\u00f8dt til at administrere og fejlfinde Linux\/Unix-systemer + SAN. Hans interesser er meget varierede: Linux-systemer, programmering, reverse engineering, informationssikkerhed, Arduino. Om spillet bem\u00e6rkede Roman, at han generelt kunne lide det. 'Jeg fik r\u00f8rt mine hjerneceller lidt og kunne flygte lidt fra de gr\u00e5 hverdage. \ud83d\ude42 Jeg ville gerne have haft flere opgaver, for jeg var lige begyndt at finde rytmen, da spillet allerede var slut.'<\/li>\n<li><b>Tredje \u2014 alex3d.<\/b><br \/>\nAlex bor i Moskva og arbejder med softwareudvikling. 'Tak for konkurrencen, det var interessant at teste mine google-fu-f\u00e6rdigheder.'<\/li>\n<\/ul>\n<p>\nOgs\u00e5 i top 10 spillere:<\/p>\n<ul>\n<li>Yevgeniy Saldayev<\/li>\n<li>Markel Mokhnachevskiy<\/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>\nVi forst\u00e5r, at der er mange m\u00e5der at l\u00f8se alle vores opgaver p\u00e5. Nedenfor beskrives nogle af de mulige l\u00f8sninger. <\/p>\n<h3>1. F\u00f8rste fase <\/h3>\n<p>\nVi kaldte den 'Er du virkelig administrator?', da opgaven var ret simpel \u2014 at reparere en varm, hyggelig service.<\/p>\n<h4>1.1. Interesante fakta:<\/h4>\n<p>\nTo spillere fandt den f\u00f8rste n\u00f8gle inden for de f\u00f8rste 15 minutter af spillet, og inden for den f\u00f8rste time havde vi tre ledere, som klarede opgaven. <\/p>\n<h4>1.2. Opgave<\/h4>\n<p>\nDu er begyndt at arbejde i en virksomhed, hvor der i lang tid ikke har v\u00e6ret en kompetent specialist inden for informationsteknologi. F\u00f8r du kan begynde at f\u00e5 orden, skal du l\u00f8se et presserende problem, der blokerer for kontorets drift.<\/p>\n<p>Reng\u00f8ringspersonen ramte serverkabinettets str\u00f8mforbindelse med moppe. Str\u00f8mmen er genoprettet, men en meget vigtig hjemmeside fungerer stadig ikke. Hjemmesiden er vigtig, fordi virksomheden ikke er s\u00e6rlig bekymret for informationssikkerhed, og p\u00e5 forsiden kan man finde administratorens adgangskode til direkt\u00f8rens computer, offentligt tilg\u00e6ngeligt.<\/p>\n<p>For nylig blev adgangskoden \u00e6ndret, men den nye er blevet glemt, og direkt\u00f8ren kan ikke arbejde. Der er rygter om, at der p\u00e5 denne maskine var yderligere n\u00f8gler, som kan hj\u00e6lpe os med at dekryptere backupen af regnskabsdokumenterne.<\/p>\n<p>Alle venter p\u00e5 en hurtig l\u00f8sning af problemet!<\/p>\n<h4>1.3. L\u00f8sninger<\/h4>\n<p>\n1. F\u00f8rst og fremmest skal vi \u00e6ndre root-adgangskoden p\u00e5 den virtuelle maskine for at f\u00e5 adgang til den. Ved opstart bem\u00e6rker vi, at det er Ubuntu 16.04 Server.<\/p>\n<p>For at nulstille root-adgangskoden genstarter vi maskinen; ved opstart, n\u00e5r grub-menuen vises, g\u00e5r vi ind i redigering af Ubuntu-punktet ved at trykke p\u00e5 'e'. Vi redigerer linjen linux og tilf\u00f8jer til slutningen <code>init=\/bin\/bash<\/code>. Vi starter op med Ctrl+x, og f\u00e5r bash. Vi remonterer roden som rw, \u00e6ndrer adgangskoden:<\/p>\n<pre><code class=\"bash\">$ mount -o remount,rw \/dev\/mapper\/ubuntu--vg-root\n$ passwd<\/code><\/pre>\n<p>\nGlem ikke at k\u00f8re sync og genstarte.<\/p>\n<p>2. If\u00f8lge betingelserne fungerer vores webserver ikke, lad os tjekke:<\/p>\n<pre><code class=\"bash\">$ curl localhost\nNot Found\nDet \u00f8nskede URL \/ blev ikke fundet p\u00e5 denne server.\nApache\/2.4.18 <\/code><\/pre>\n<p>\nDet vil sige, at Apache er startet, men svarer med en 404-kode. Lad os se p\u00e5 konfigurationen:<\/p>\n<pre><code class=\"bash\">$ vim \/etc\/apache2\/sites-enabled\/000-default.conf<\/code><\/pre>\n<p>\nHer findes n\u00f8glen \u2013 StevenPaulSteveJobs.<\/p>\n<p>Vi tjekker stien <code>\/usr\/share\/WordPress<\/code> \u2013 en s\u00e5dan findes ikke, men der er <code>\/usr\/share\/wordpress<\/code>. Vi retter konfigurationen og genstarter Apache.<\/p>\n<pre><code class=\"bash\">$ systemctl restart apache2<\/code><\/pre>\n<p>\n3. Vi pr\u00f8ver igen og f\u00e5r en fejl:<\/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>\nDatabase er ikke startet?<\/p>\n<pre><code class=\"bash\">$ systemctl status mysql\nActive: active (running)<\/code><\/pre>\n<p>\nHvad er der galt? Vi skal finde ud af det. For at g\u00f8re det skal vi f\u00e5 adgang til MySQL, som beskrevet i <noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/resetting-permissions.html\">dokumentationen<\/a><\/noindex>. Et af punkterne i dokumentationen anbefaler os at tilf\u00f8je indstillingen <code>skip-grant-tables<\/code> i <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code>. Her findes ogs\u00e5 en n\u00f8gle \u2013 AugustaAdaKingByron.<\/p>\n<p>Vi justerer rettighederne for brugeren <code>'wp'@'localhost'<\/code>. Vi starter MySQL, g\u00f8r det tilg\u00e6ngeligt over nettet ved at kommentere indstillingen i konfigurationen <code>skip-networking<\/code>.<\/p>\n<p>4. Efter de udf\u00f8rte handlinger starter webserveren, men hjemmesiden fungerer stadig ikke, da <\/p>\n<pre><code class=\"bash\">Advarsel: require_once(\\\/usr\\\/share\\\/wordpress\\\/wp-content\\\/themes\\\/twentysixteen\\\/footer.php): mislykkedes at \u00e5bne stream: Adgang n\u00e6gtet i \\usr\\share\\wordpress\\wp-includes\\template.php p\u00e5 linje 562<\/code><\/pre>\n<p>\n\u00c6ndre filrettigheder.<\/p>\n<pre><code class=\"bash\">$ chmod 644 \\\/usr\\\/share\\\/wordpress\\\/wp-content\\\/themes\\\/twentysixteen\\\/footer.php\n<\/code><\/pre>\n<p>\nVi opdaterer siden, g\u00e5r ind p\u00e5 hjemmesiden og finder n\u00f8glen \u2014 BjarneStroustrup! Vi har fundet alle tre n\u00f8gler, vores direkt\u00f8r kan arbejde, vi har dekrypteret regnskabsfilerne. Alle er glade, og du har en masse arbejde foran dig med at etablere infrastruktur, backups og sikkerhed i virksomheden. <\/p>\n<h3>2. Andet trin<\/h3>\n<p>\nDet var n\u00f8dvendigt at l\u00f8se opgaven om at indsamle analyser. Alle elsker analyser \u2014 hvem og hvorfra og i hvilke m\u00e6ngder de bes\u00f8ger. Vi fandt p\u00e5 et tilf\u00e6lde, som alle ingeni\u00f8rer kan st\u00f8de p\u00e5 i en eller anden form i livet.<\/p>\n<h4>2.1. Interessante fakta<\/h4>\n<p>\nEn af vores spillere indtastede den rigtige n\u00f8gle inden for de f\u00f8rste 10 minutter af spillet, og inden for den f\u00f8rste time havde vi en leder, der klarede opgaven.<\/p>\n<h4>2.2. Opgave<\/h4>\n<p>\nDu er startet i en virksomhed, ledere har bedt dig om at finde, hvem der har modtaget e-mails fra Afrika. Du skal opbygge en top-21 liste over modtagere. F\u00f8rste bogstaver i adresserne til modtagerne er n\u00f8glen. Der er et men: postserveren, som beskederne blev sendt gennem, loader ikke. Alle venter p\u00e5 en hurtig l\u00f8sning!<\/p>\n<h4>2.3. L\u00f8sning<\/h4>\n<p>\n1. Serveren kan ikke loade p\u00e5 grund af den ikke-eksisterende swap-partition i fstab; ved opstart fors\u00f8ger systemet at montere den og falder ned. Hvordan kan man starte op?<\/p>\n<p>Vi downloader imaget; vi har downloadet CentOS 7, booter fra Live CD\\\/DVD (Fejlfinding -&gt; Redningsfunktion), monterer systemet, \u00e6ndrer <code>\/etc\/fstab<\/code>. Her finder vi den f\u00f8rste n\u00f8gle \u2014 GottfriedWilhelm11646Leibniz!<\/p>\n<p>Oprettelse af swap:<\/p>\n<pre><code class=\"bash\">$ lvcreate -n swap centos -L 256M\n$ sync &amp;&amp; reboot<\/code><\/pre>\n<p>\n2. Som altid er der ingen adgangskode, vi skal \u00e6ndre root-adgangskoden p\u00e5 den virtuelle maskine. Vi har allerede gjort dette i den f\u00f8rste opgave. Vi \u00e6ndrer og logge ind p\u00e5 serveren, men den genstarter med det samme. Serveren genstarter s\u00e5 hurtigt, at vi knap nok f\u00e5r set alle logs grundigt. Hvordan kan man forst\u00e5, hvad der sker?<\/p>\n<p>Vi booter igen fra livecd, unders\u00f8ger systemloggen grundigt og tjekker ligeledes cron, da der er en s\u00e5dan periodicitet. Der finder vi problemet og den anden n\u00f8gle \u2014 Alan1912MathisonTuring!<\/p>\n<p>Det er n\u00f8dvendigt at <code>\/etc\/crontab<\/code> fjerne eller kommentere linjen <code>echo b &gt; \\\/proc\\\/sysrq-trigger<\/code>.<\/p>\n<p>3. N\u00e5r serveren er startet op, kan vi udf\u00f8re opgaven fra ledelsen: \"Hvilke adresser i Afrika?\" Disse oplysninger er generelt offentligt tilg\u00e6ngelige. Du kan finde disse oplysninger p\u00e5 internettet ved hj\u00e6lp af s\u00f8geord som \"ip address africa\" eller \"geoip database\". For at l\u00f8se opgaven kan man bruge frit tilg\u00e6ngelige databaser over adressefordeling (geoip). Vi har brugt databasen som reference. <noindex><a rel=\"nofollow\" href=\"https:\/\/dev.maxmind.com\/geoip\/geoip2\/geolite2\/\">MaxMind GeoLite2<\/a><\/noindex>, der er tilg\u00e6ngelig under Creative Commons Attribution-ShareAlike 4.0 licensen.<\/p>\n<p>Lad os pr\u00f8ve at l\u00f8se vores opgave ved kun at bruge systemv\u00e6rkt\u00f8jer p\u00e5 Linux, men generelt kan det l\u00f8ses p\u00e5 mange m\u00e5der: ved hj\u00e6lp af tekstbehandlingsv\u00e6rkt\u00f8jer og ved hj\u00e6lp af scripts p\u00e5 forskellige programmeringssprog.<\/p>\n<p>For at starte med, lad os blot f\u00e5 parrene \"afsender IP - modtager\" fra e-mailloggen <code>\/var\/log\/maillog<\/code> (vi opretter en tabel over modtager-e-mails - afsenderens IP). Dette kan g\u00f8res med f\u00f8lgende kommando:<\/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>\nOg f\u00f8r vi forts\u00e6tter med at oprette databasen over adresser i Afrika, lad os tage et kig p\u00e5 de mest dominerende IP-adresser blandt afsenderne.<\/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>\nBlandt alle skiller de tre f\u00f8rste modtagere i top-30 sig ud efter antal e-mails sendt. Hvis vi grep'er IP-adresserne fra afsendere, der har sendt til adresserne i denne top-3, kan vi bem\u00e6rke en klar overv\u00e6gt af bestemte netv\u00e6rk:<\/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>\nSt\u00f8rstedelen af netv\u00e6rkene 105\/8, 41\/8, 196\/8, 197\/8 er tildelt AFRINIC \u2014 en af de fem regionale internetregistratorer, der h\u00e5ndterer fordelingen af internetressourcer. AFRINIC fordeler adresseomr\u00e5det inden for Afrika. Og 41\/8 tilh\u00f8rer helt og holdent 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>\nDermed er svaret p\u00e5 opgaven faktisk til stede i selve loggen.<\/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>\nP\u00e5 dette stadium f\u00e5r vi strengen \u00abLinuxBenedictTorvadst\u00bb.<\/p>\n<p>Den korrekte n\u00f8gle: \u00abLinusBenedictTorvalds\u00bb.<\/p>\n<p>Den modtagne streng indeholder en tastefejl i forhold til den korrekte n\u00f8gle i de sidste 3 tegn. Dette skyldes, at de netv\u00e6rk, vi har valgt, ikke er fuldt ud tildelt lande i Afrika, samt hvordan e-mails er fordelt over IP-adresser i vores log.<\/p>\n<p>Ved tilstr\u00e6kkelig pr\u00e6cisering af de st\u00f8rste netv\u00e6rk tildelt lande i Afrika kan man f\u00e5 et pr\u00e6cist svar.:<\/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>\nOpgaven kan ogs\u00e5 l\u00f8ses p\u00e5 en anden m\u00e5de.<br \/>\nDownload MaxMind, udpakkes, og de f\u00f8lgende tre kommandoer l\u00f8ser ogs\u00e5 vores 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>\nP\u00e5 en eller anden m\u00e5de har vi i sidste ende opgjort statistikken, og lederne fik de n\u00f8dvendige data til deres arbejde! <\/p>\n<h3>3. Tredje fase<\/h3>\n<p>\nDen tredje fase ligner p\u00e5 en m\u00e5de den f\u00f8rste \u2013 man skal ogs\u00e5 reparere den varme, hyggelige service, men alt er mere kompleks end i den f\u00f8rste opgave.<\/p>\n<h4>3.1. Interessante fakta<\/h4>\n<p>\nI de f\u00f8rste 15 minutter fandt tre spillere den f\u00f8rste n\u00f8gle; 2 timer og 20 minutter efter scenens begyndelse klarede vores vinder opgaven.<\/p>\n<h4>3.2. Opgave<\/h4>\n<p>\nDu er begyndt at arbejde i en virksomhed, hvor alle virksomhedens dokumenter opbevares p\u00e5 en intern Wiki-server. Sidste \u00e5r bestilte en ingeni\u00f8r 3 nye harddiske til serveren ud over \u00e9n eksisterende, idet han argumenterede for, at for systemets fejlfindingsmodstand skulle harddiskene placeres i nogle arrays. Desv\u00e6rre tog ingeni\u00f8ren p\u00e5 ferie til Indien nogle uger efter installationen og dukkede ikke op igen.<\/p>\n<p>I flere \u00e5r har serveren fungeret uden problemer, men for et par dage siden blev virksomhedens netv\u00e6rk hacket. I henhold til instrukserne har sikkerhedspersonalet fjernet harddiskene fra serveren og sendt dem til dig. Under transporten gik en harddisk tabt.<\/p>\n<p>Vi skal genskabe funktionaliteten af Wiki, is\u00e6r interessen for indholdet p\u00e5 wiki-siderne. Et stykke tekst, der var p\u00e5 en af disse sider, er adgangskoden til 1C-serveren og er n\u00f8dvendigt for at l\u00e5se den op.<\/p>\n<p>Derudover var der et sted p\u00e5 wiki-siderne eller et andet sted adgangskoder til logserveren og videooverv\u00e5gningsserveren, som ogs\u00e5 \u00f8nskes genskabt, da unders\u00f8gelsen af h\u00e6ndelsen er umulig uden dem. Som altid forventes en hurtig l\u00f8sning p\u00e5 problemet!<\/p>\n<h4>3.3. L\u00f8sning<\/h4>\n<p>\n1. Vi fors\u00f8ger at starte op fra de diske, vi har, og f\u00e5r ensartede beskeder overalt:<\/p>\n<pre><code class=\"bash\">Ingen bootbar medium fundet! Systemet stoppet \n<\/code><\/pre>\n<p>\nVi skal starte et sted. Igen redder live CD\/DVD (Fejls\u00f8gning -&gt; Redningssp\u00f8rgsm\u00e5l). Under opstarten pr\u00f8ver vi at finde den bootbare partition, men finder ikke noget og ender i shell. Vi fors\u00f8ger at unders\u00f8ge, hvad der er med diskene. Det vides, at der er tre. Der er flere v\u00e6rkt\u00f8jer tilg\u00e6ngelige i version 7 af CentOS, hvor kommandoerne <code>blkid<\/code> eller <code>lsblk<\/code>, som viser os al information om diskene. <\/p>\n<p>Hvad vi g\u00f8r:<\/p>\n<pre><code class=\"bash\">$ ls \/dev\/sd*<\/code><\/pre>\n<p>\nDet er tydeligt, at <\/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>\nVi monterer sdb1, og det er klart, at dette er den bootbare partition af CentOS 6.<\/p>\n<pre><code class=\"bash\">$ mkdir \/mnt\/sdb1 &amp;&amp; mount \/dev\/sdb1 \/mnt\/sdb1<\/code><\/pre>\n<p>\nDet er \u00e5benlyst, at vi g\u00e5r ind i grub-partitionen og finder den f\u00f8rste n\u00f8gle \u2014 James191955Gosling i en us\u00e6dvanlig fil.<\/p>\n<p>2. Vi unders\u00f8ger pvs og lvs, da vi arbejder med LVM. Vi ser, at der burde v\u00e6re 2 fysiske volumes, den ene findes ikke og klager over en mistet uid. Vi ser, at der burde v\u00e6re 2 logiske volumes: root og swap, mens root delvist er mistet (attribut P p\u00e5 volume). Det kan ikke monteres, hvilket er en skam! Vi har virkelig brug for det.<\/p>\n<p>Der er endnu 2 diske, vi ser p\u00e5 dem, samler dem og monterer:<\/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>\nVi ser, at dette er den bootbare partition af CentOS 6, og en duplikering af det, der allerede er p\u00e5 <code>\/dev\/sdb1<\/code>, og igen den samme n\u00f8gle \u2014 DennisBMacAlistairCRitchie!<br \/>\nVi ser, hvordan det er samlet <code>\/dev\/md127<\/code>.<\/p>\n<pre><code class=\"bash\">$ mdadm --detail \/dev\/md127\n<\/code><\/pre>\n<p>\nVi ser, at det skulle have v\u00e6ret samlet fra 4 diske, men er blevet samlet fra to <code>\/dev\/sda1<\/code> og <code>\/dev\/sdc1<\/code>, de burde have v\u00e6ret numrene 2 og 4 i systemet. Vi formoder, at der ogs\u00e5 kan samles et array fra <code>\/dev\/sda2<\/code> og <code>\/dev\/sdc2<\/code> . Det er uklart, hvorfor der ikke er metadata p\u00e5 dem, men det ligger hos administratoren, der er et sted i Goa. Vi formoder, at der her skal v\u00e6re RAID10, selvom der er varianter. Vi opretter: <\/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>\nVi ser blkid, pvs, lvs. Vi opdager, at vi har samlet det fysiske volume, som vi tidligere manglede.<\/p>\n<p>Vi fik straks lvroot til at fungere, vi monterer det, men aktiverer f\u00f8rst 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>\nOg der er alt, inklusive n\u00f8glen i root's hjemmemappe \u2014 \/root\/sweet.<\/p>\n<p>3. Vi fors\u00f8ger stadig at genoplive vores server, s\u00e5 den starter ordentligt. Alle logiske volumener fra vores <code>\/dev\/md0<\/code> (hvor vi fandt alt) flytter vi til <code>\/dev\/sdb2<\/code>, hvor hele serveren oprindeligt k\u00f8rte.<\/p>\n<pre><code class=\"bash\">$ pvmove \/dev\/md0 \/dev\/sdb2\n$ vgreduce vg_c6m1 \/dev\/md0<\/code><\/pre>\n<p>\nVi slukker serveren, fjerner disk 1 og 3, beholder den anden, og starter fra Live CD\/DVD i Rescue. Vi finder den boot-partition, genopretter boot-loaderen i grub:<\/p>\n<pre><code class=\"bash\">root (hd0,0)\nsetup (hd0)\n<\/code><\/pre>\n<p>\nVi fjerner bootdisken og starter med succes, men hjemmesiden fungerer ikke.<\/p>\n<p>4. Der er to m\u00e5der at starte hjemmesiden p\u00e5: enten konfigurere Apache fra bunden eller bruge en forudindstillet nginx med php-fpm:<\/p>\n<pre><code class=\"bash\">$ \/etc\/init.d\/nginx start\n$ \/etc\/init.d\/php-fpm start\n<\/code><\/pre>\n<p>\nEndelig skal MySQL startes:<\/p>\n<pre><code class=\"bash\">$ \/etc\/init.d\/mysqld start<\/code><\/pre>\n<p>\nDet starter ikke, og hemmeligheden ligger i <code>\/var\/log\/mysql<\/code>. S\u00e5 snart du l\u00f8ser problemet med MySQL, vil hjemmesiden fungere, og der vil v\u00e6re en n\u00f8gle p\u00e5 hovedsiden \u2014 RichardGCCMatthewGNUStallman! Nu har vi adgang til 1C, og medarbejderne kan f\u00e5 deres l\u00f8n. Og som altid er der meget arbejde foran dig med at s\u00e6tte infrastrukturen og sikkerheden p\u00e5 plads i virksomheden.<\/p>\n<p>Vi kan ogs\u00e5 dele listen over b\u00f8ger, der hjalp os og vores deltagere med at forberede sig til spillet: <noindex><a rel=\"nofollow\" href=\"https:\/\/linux.mail.ru\/books\">linux.mail.ru\/books<\/a><\/noindex>.<\/p>\n<p>Tak fordi du var med os! Hold \u00f8je med annonceringer om n\u00e6ste spil!<br \/>\n<br \/>Kilde: <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\/da\/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=\"da_DK\" \/>\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\/da\/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. Tillykke til vinderne og vi fort\u00e6ller om l\u00f8sningerne p\u00e5 opgaverne | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/31240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=31240"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/31240\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/23206"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=31240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=31240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=31240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}