{"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\/it\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij","title":{"rendered":"Linux Quest. Congratulazioni ai vincitori e presentiamo le soluzioni alle sfide","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Linux Quest. Congratulazioni ai vincitori e presentiamo le soluzioni alle sfide\" src=\"\/wp-content\/uploads\/2019\/04\/a8c28d0ba562680119475609a56136d6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl 25 marzo abbiamo aperto le iscrizioni per <noindex><a rel=\"nofollow\" href=\"https:\/\/linux.mail.ru\">Linux Quest<\/a><\/noindex>, un gioco per gli appassionati e gli esperti del sistema operativo Linux. Alcuni dati: si sono registrate 1117 persone al gioco, di cui 317 hanno trovato almeno una chiave, 241 hanno completato con successo il primo stage, 123 il secondo e 70 hanno superato il terzo stage. Oggi il nostro gioco \u00e8 giunto al termine e congratuliamo i nostri vincitori! <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<ul>\n<li><b>Il primo posto \u00e8 andato ad Alexander Teldikov.<\/b><br \/>\nAlexander ha commentato di essere un tipico amministratore di sistema. Vive a Volgograd e amministra diversi sistemi Unix-like da circa vent'anni. Ha avuto esperienze presso provider internet, banche e integratori di sistema. Attualmente lavora in remoto per una piccola azienda, occupandosi di infrastrutture cloud per un importante cliente straniero. Ama leggere e ascoltare musica. Riguardo al gioco, Alexander ha detto che gli \u00e8 piaciuto nel complesso e che ama questo tipo di sfide. In una delle aziende durante un colloquio aveva affrontato qualcosa di simile a Hackerrank, ed \u00e8 stato interessante.<\/li>\n<li><b>Il secondo posto va a Roman Suslov.<\/b><br \/>\nRoman di Mosca. Ha 37 anni. Lavora come ingegnere Linux\/Unix presso la \"Infostystems Jet\". Nel suo lavoro si occupa di amministrazione e troubleshooting dei sistemi Linux\/Unix + SAN. Ha interessi molto vari: sistemi Linux, programmazione, reverse engineering, sicurezza informatica, Arduino. Riguardo al gioco, Roman ha commentato che in generale gli \u00e8 piaciuto. \"Ho un po' allenato le mie capacit\u00e0 mentali e mi sono distratto dalla grigia routine quotidiana. \ud83d\ude42 Mi sarebbero piaciuti pi\u00f9 compiti, perch\u00e9 non sono riuscito a entrare nel ritmo prima che il gioco finisse.\"<\/li>\n<li><b>Terzo \u2014 alex3d.<\/b><br \/>\nAlex vive a Mosca e si occupa di sviluppo software. \"Grazie per il contest, \u00e8 stato interessante mettere alla prova la mia abilit\u00e0 in google-fu.\"<\/li>\n<\/ul>\n<p>\nAltri nel ranking dei 10 migliori giocatori:<\/p>\n<ul>\n<li>Yevgeniy Saldayev<\/li>\n<li>Markel Mokhnachyovski<\/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>\nComprendiamo che ci sono molte soluzioni per affrontare i nostri problemi, qui di seguito sono descritte alcune possibili soluzioni. <\/p>\n<h3>1. Primo step <\/h3>\n<p>\nLo abbiamo chiamato \"Sei davvero un admin?\", poich\u00e9 il compito era piuttosto semplice: riparare un servizio caldo e accogliente.<\/p>\n<h4>1.1. Fatti interessanti:<\/h4>\n<p>\nDue giocatori hanno trovato la prima chiave nei primi 15 minuti di gioco, e nel primo ora abbiamo avuto tre leader che hanno completato il compito. <\/p>\n<h4>1.2. Compito<\/h4>\n<p>\nSei entrato a far parte di un'azienda che per molto tempo non ha avuto un esperto di tecnologie informatiche. Prima di mettere ordine, \u00e8 necessario risolvere un problema urgente che blocca il lavoro dell'ufficio.<\/p>\n<p>La donna delle pulizie ha toccato il cavo di alimentazione del server con il mocio. L'alimentazione \u00e8 stata ripristinata, ma un sito web molto importante continua a non funzionare. Questo sito \u00e8 cruciale perch\u00e9 l'azienda non \u00e8 molto attenta alla sicurezza informatica e sulla homepage si pu\u00f2 trovare visibile la password dell'amministratore del computer del direttore generale.<\/p>\n<p>Recentemente hanno cambiato la password, e nessuno si ricorda quella nuova, il direttore non pu\u00f2 lavorare. Si vocifera che su questa macchina ci fossero anche delle chiavi che potrebbero aiutarci a decifrare il backup dei documenti contabili.<\/p>\n<p>Tutti si aspettano una soluzione rapida al problema!<\/p>\n<h4>1.3. Soluzione<\/h4>\n<p>\nInnanzitutto, \u00e8 necessario cambiare la password root sulla macchina virtuale per poter accedervi. All'avvio notiamo che si tratta di Ubuntu 16.04 Server.<\/p>\n<p>Per reimpostare la password di root, riavviamo la macchina e, al momento della visualizzazione del menu grub, passiamo alla modifica della voce Ubuntu premendo il tasto \u00abe\u00bb. Modifichiamo la riga linux, aggiungendo alla fine <code>init=\/bin\/bash<\/code>. Avviamo tramite Ctrl+x e accediamo alla shell. Rimontiamo la radice in modalit\u00e0 rw e cambiamo la password:<\/p>\n<pre><code class=\"bash\">$ mount -o remount,rw \/dev\/mapper\/ubuntu--vg-root\n$ passwd<\/code><\/pre>\n<p>\nNon dimentichiamo di fare sync e riavviamo.<\/p>\n<p>2. Nella condizione \u00e8 indicato che il nostro server web non funziona, verifichiamo:<\/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>\nSignifica che in effetti Apache \u00e8 avviato, ma risponde con un codice 404. Controlliamo la configurazione:<\/p>\n<pre><code class=\"bash\">$ vim \/etc\/apache2\/sites-enabled\/000-default.conf<\/code><\/pre>\n<p>\nQui si trova la chiave \u2014 StevenPaulSteveJobs.<\/p>\n<p>Verifichiamo il percorso <code>\/usr\/share\/WordPress<\/code> \u2014 non esiste, ma c'\u00e8 <code>\/usr\/share\/wordpress<\/code>. Correggiamo la configurazione e riavviamo Apache.<\/p>\n<pre><code class=\"bash\">$ systemctl restart apache2<\/code><\/pre>\n<p>\n3. Proviamo di nuovo, otteniamo l'errore:<\/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>\nIl database non \u00e8 avviato?<\/p>\n<pre><code class=\"bash\">$ systemctl status mysql\nActive: active (running)<\/code><\/pre>\n<p>\nQual \u00e8 il problema? Dobbiamo indagare. Per fare ci\u00f2 dobbiamo accedere a MySQL, come descritto in <noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/resetting-permissions.html\">documentazione<\/a><\/noindex>. Uno dei punti della documentazione ci consiglia di impostare l'opzione <code>skip-grant-tables<\/code> in <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code>. Qui troviamo anche la chiave \u2014 AugustaAdaKingByron.<\/p>\n<p>Correggiamo i permessi per l'utente <code>'wp'@'localhost'<\/code>. Avviamo MySQL, rendendolo accessibile in rete, commentando nel file di configurazione l'opzione <code>skip-networking<\/code>.<\/p>\n<p>4. Dopo aver eseguito queste operazioni, il server web si avvia, ma il sito non funziona ancora, poich\u00e9 <\/p>\n<pre><code class=\"bash\">Warning: require_once(\/usr\/share\/wordpress\/wp-content\/themes\/twentysixteen\/footer.php): impossibile aprire il flusso: Accesso negato in \/usr\/share\/wordpress\/wp-includes\/template.php on line 562<\/code><\/pre>\n<p>\nCorreggiamo i permessi del file.<\/p>\n<pre><code class=\"bash\">$ chmod 644 \/usr\/share\/wordpress\/wp-content\/themes\/twentysixteen\/footer.php\n<\/code><\/pre>\n<p>\nAggiorniamo la pagina, accediamo al sito e troviamo la chiave \u2014 BjarneStroustrup! Abbiamo trovato tutte e tre le chiavi, il nostro direttore pu\u00f2 lavorare, abbiamo decrittato i file della contabilit\u00e0. Tutti sono felici, e tu hai molto lavoro da fare per sistemare l'infrastruttura, i backup e la sicurezza dell'azienda. <\/p>\n<h3>2. Seconda fase<\/h3>\n<p>\nEra necessario risolvere il compito di raccolta analitica. Le analisi piacciono a tutti: chi e da dove e in che quantit\u00e0 visitano. Abbiamo inventato un caso con cui ogni ingegnere potrebbe imbattersi nella vita, in un modo o nell'altro.<\/p>\n<h4>2.1. Fatti interessanti<\/h4>\n<p>\nUno dei nostri giocatori ha inserito la chiave corretta nei primi 10 minuti di gioco, e nel primo ora abbiamo avuto un leader che ha completato il compito.<\/p>\n<h4>2.2. Compito<\/h4>\n<p>\nSei entrato al lavoro in azienda, e i manager ti hanno chiesto di trovare a chi sono stati inviati i messaggi dall'Africa. Devi costruire una classifica dei 21 indirizzi dei destinatari. Le prime lettere degli indirizzi sono la chiave. C'\u00e8 per\u00f2 un problema: il server di posta attraverso cui sono stati inviati i messaggi non si avvia. Tutti stanno aspettando una soluzione rapida a questo problema!<\/p>\n<h4>2.3. Soluzione<\/h4>\n<p>\n1. Il server non si avvia a causa di una sezione swap mancante in fstab; durante l'avvio, il sistema tenta di montarlo e va in crash. Come possiamo avviarci?<\/p>\n<p>Scarichiamo un'immagine, abbiamo scaricato CentOS 7, avviamo con Live CD\/DVD (Troubleshooting -&gt; Rescue), montiamo il sistema e modifichiamo <code>\/etc\/fstab<\/code>. Qui troviamo la prima chiave \u2014 GottfriedWilhelm11646Leibniz!<\/p>\n<p>Creiamo lo swap:<\/p>\n<pre><code class=\"bash\">$ lvcreate -n swap centos -L 256M\n$ sync &amp;&amp; reboot<\/code><\/pre>\n<p>\n2. Come sempre non ci sono password, dobbiamo cambiare la password di root sulla macchina virtuale. Abbiamo gi\u00e0 fatto questo nel primo incarico. Cambiamo e accediamo con successo al server, ma si riavvia immediatamente. Il server si riavvia con tale rapidit\u00e0 che non riesci nemmeno a guardare tutti i log attentamente. Come possiamo capire cosa sta succedendo?<\/p>\n<p>Stiamo di nuovo avviando il livecd, esaminando attentamente i log di sistema e controllando il cron, data la periodicit\u00e0. L\u00ec troviamo il problema e la seconda chiave \u2014 Alan1912MathisonTuring!<\/p>\n<p>\u00c8 necessario <code>\/etc\/crontab<\/code> rimuovere o commentare la riga <code>echo b &gt; \/proc\/sysrq-trigger<\/code>.<\/p>\n<p>3. Dopodich\u00e9, il server si \u00e8 avviato e possiamo svolgere il compito dei manager: \u00abQuali sono gli indirizzi dell'Africa?\u00bb Queste informazioni sono, in generale, pubbliche. Si possono trovare in rete cercando espressioni come \u00abip address africa\u00bb, \u00abgeoip database\u00bb. Per risolvere il compito si possono utilizzare database pubblicamente accessibili sulla distribuzione degli indirizzi (geoip). Come riferimento, abbiamo utilizzato il DB <noindex><a rel=\"nofollow\" href=\"https:\/\/dev.maxmind.com\/geoip\/geoip2\/geolite2\/\">MaxMind GeoLite2<\/a><\/noindex>, disponibile sotto licenza Creative Commons Attribution-ShareAlike 4.0.<\/p>\n<p>Cerchiamo di risolvere il nostro compito utilizzando solo strumenti di sistema Linux, ma ci sono in realt\u00e0 molti modi per farlo: utilizzando strumenti di filtraggio del testo e script in vari linguaggi di programmazione.<\/p>\n<p>Iniziamo semplicemente ottenendo coppie \u00abIP mittente \u2014 destinatario\u00bb dai log delle email <code>\/var\/log\/maillog<\/code> (costruiremo una tabella email destinatari \u2014 IP mittente). Questo pu\u00f2 essere fatto con il seguente comando:<\/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>\nE prima di continuare con la creazione del database degli indirizzi in Africa, diamo un'occhiata ai principali indirizzi IP dei mittenti.<\/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>\nTra tutti, i primi tre destinatari si distinguono chiaramente per numero di messaggi. Se facciamo un grep sugli indirizzi IP dei mittenti che hanno inviato ai top-3, possiamo notare una netta predominanza di determinate reti:<\/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>\nLa maggior parte delle reti 105\/8, 41\/8, 196\/8, 197\/8 \u00e8 assegnata a AFRINIC \u2014 uno dei cinque registri internet regionali che gestiscono la distribuzione delle risorse internet. AFRINIC distribuisce lo spazio degli indirizzi sul territorio africano. E 41\/8 appartiene completamente ad 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>\nPertanto, la risposta al problema \u00e8, in effetti, nel log stesso.<\/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>\nA questo punto, otteniamo la stringa \u00abLinuxBenedictTorvadst\u00bb.<\/p>\n<p>La chiave corretta \u00e8: \u00abLinusBenedictTorvalds\u00bb.<\/p>\n<p>La stringa ottenuta contiene un errore rispetto alla chiave corretta negli ultimi 3 caratteri. Ci\u00f2 \u00e8 dovuto al fatto che le reti selezionate non sono completamente assegnate ai paesi africani e a come sono distribuite le email sugli indirizzi IP nel nostro log.<\/p>\n<p>Con un'adeguata precisazione delle pi\u00f9 importanti reti assegnate ai paesi africani, \u00e8 possibile ottenere una risposta precisa.:<\/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>\nIl compito pu\u00f2 essere risolto anche in un altro modo.<br \/>\nScarichiamo MaxMind, estraiamo e le seguenti tre comandi risolvono anche il nostro problema.<\/p>\n<pre><code class=\"bash\">$ cat GeoLite2-Country-Locations-ru.csv | grep \"Africa\" | 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>\nIn un modo o nell'altro, alla fine abbiamo conteggiato le statistiche e i manager hanno ottenuto i dati necessari per il loro lavoro! <\/p>\n<h3>3. Terza fase<\/h3>\n<p>\nLa terza fase \u00e8 simile alla prima: \u00e8 necessario riparare il servizio a lampadina calda, ma \u00e8 tutto pi\u00f9 complesso rispetto al primo compito.<\/p>\n<h4>3.1. Fatti interessanti<\/h4>\n<p>\nNei primi 15 minuti, tre giocatori hanno trovato la prima chiave, dopo 2 ore e 20 minuti dall'inizio della fase, il nostro vincitore ha completato il compito.<\/p>\n<h4>3.2. Compito<\/h4>\n<p>\nSei entrato a lavorare in un'azienda dove tutti i documenti sono archiviati su un server interno Wiki. L'anno scorso, un ingegnere ha ordinato 3 nuovi dischi per il server, oltre a uno esistente, sostenendo che per la resilienza del sistema \u00e8 necessario disporre i dischi in particolari array. Purtroppo, qualche settimana dopo la loro installazione, l'ingegnere \u00e8 partito per una vacanza in India e non \u00e8 tornato.<\/p>\n<p>Per alcuni anni, il server ha funzionato senza intoppi, ma qualche giorno fa la rete aziendale \u00e8 stata violata. Seguendo le istruzioni, il personale di sicurezza ha estratto i dischi dal server e li ha inviati a te. Durante il trasporto, un disco \u00e8 andato irrimediabilmente perduto.<\/p>\n<p>\u00c8 necessario ripristinare la funzionalit\u00e0 di Wiki; \u00e8 fondamentale recuperare il contenuto delle pagine wiki. Un certo pezzo di testo che si trovava su una delle pagine di questo wiki \u00e8 la password per il server 1C e serve urgentemente per sbloccarlo.<\/p>\n<p>Inoltre, su qualche pagina wiki o altrove c'erano password per il server dei log e per il server di videosorveglianza, che \u00e8 preferibile recuperare, senza di esse \u00e8 impossibile indagare sull'incidente. Come sempre, ci aspettiamo una soluzione tempestiva!<\/p>\n<h4>3.3. Soluzione<\/h4>\n<p>\n1. Proviamo a partire a turno dai dischi che abbiamo e ovunque riceviamo lo stesso messaggio:<\/p>\n<pre><code class=\"bash\">Nessun supporto avviabile trovato! Sistema bloccato \n<\/code><\/pre>\n<p>\nDobbiamo avviare da qualche parte. Ancora una volta ci salva l'avvio da Live CD\/DVD (Troubleshooting -&gt; Rescue). All'avvio cerchiamo di trovare la partizione di avvio, non la troviamo e finiamo nella shell. Cerchiamo di capire cosa e come con i dischi. \u00c8 noto che ce ne sono tre. Gli strumenti sono maggiormente disponibili nella settima versione di CentOS, dove ci sono comandi <code>blkid<\/code> o <code>lsblk<\/code>, che ci mostrano tutte le informazioni sui dischi. <\/p>\n<p>Cosa facciamo:<\/p>\n<pre><code class=\"bash\">$ ls \/dev\/sd*<\/code><\/pre>\n<p>\n\u00c8 subito evidente che <\/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>\nMontiamo sdb1, appare chiaro che questa \u00e8 la partizione di avvio di CentOS 6.<\/p>\n<pre><code class=\"bash\">$ mkdir \/mnt\/sdb1 &amp;&amp; mount \/dev\/sdb1 \/mnt\/sdb1<\/code><\/pre>\n<p>\nOvviamente procediamo nella cartella grub e troviamo la prima chiave - James191955Gosling in un file insolito.<\/p>\n<p>2. Studiamo pvs e lvs, poich\u00e9 lavoriamo con LVM. Vediamo che dovrebbero esserci 2 volumi fisici, uno non viene trovato e segnala un uid mancante. Dobbiamo avere 2 volumi logici: root e swap, mentre root \u00e8 parzialmente perso (attributo P del volume). Non riusciamo a montarlo, peccato! Ci serve molto.<\/p>\n<p>Ci sono anche 2 dischi, li esaminiamo, li raccogliamo e li montiamo:<\/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>\nControlliamo, \u00e8 chiaro che si tratta della partizione di avvio di CentOS 6 e di una copia di ci\u00f2 che \u00e8 gi\u00e0 presente su <code>\/dev\/sdb1<\/code>, e qui c'\u00e8 di nuovo la stessa chiave \u2014 DennisBMacAlistairCRitchie!<br \/>\nControlliamo come \u00e8 assemblato <code>\/dev\/md127<\/code>.<\/p>\n<pre><code class=\"bash\">$ mdadm --detail \/dev\/md127\n<\/code><\/pre>\n<p>\nVediamo che doveva essere assemblato da 4 dischi, si \u00e8 assemblato con due <code>\/dev\/sda1<\/code> e <code>\/dev\/sdc1<\/code>, dovevano essere i numeri 2 e 4 nel sistema. Supponiamo che da <code>\/dev\/sda2<\/code> e <code>\/dev\/sdc2<\/code> si possa assemblare un array. Non \u00e8 chiaro perch\u00e9 non ci siano metadati, ma \u00e8 responsabilit\u00e0 dell'amministratore, che si trova da qualche parte a Goa. Supponiamo che qui debba esserci RAID10, anche se ci sono delle opzioni. Assembliamo: <\/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>\nControlliamo blkid, pvs, lvs. Scopriamo che abbiamo assemblato il volume fisico che ci mancava prima.<\/p>\n<p>Subito si \u00e8 sistemato lvroot, lo montiamo, ma prima attiviamo 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>\nE l\u00ec c'\u00e8 tutto, compreso la chiave nella home directory di root \u2014 \/root\/sweet.<\/p>\n<p>3. Cerchiamo di riavviare il nostro server affinch\u00e9 parta correttamente. Tutti i volumi logici dal nostro <code>\/dev\/md0<\/code> (dove abbiamo trovato tutto) vengono trasferiti in <code>\/dev\/sdb2<\/code>, dove originariamente funzionava l'intero server.<\/p>\n<pre><code class=\"bash\">$ pvmove \/dev\/md0 \/dev\/sdb2\n$ vgreduce vg_c6m1 \/dev\/md0<\/code><\/pre>\n<p>\nSpegniamo il server, rimuoviamo il disco 1 e 3, lasciando il secondo, e avviamo dal Live CD\/DVD in modalit\u00e0 Rescue. Troviamo la partizione di avvio e ripristiniamo il bootloader in grub:<\/p>\n<pre><code class=\"bash\">root (hd0,0)\nsetup (hd0)\n<\/code><\/pre>\n<p>\nRimuoviamo il disco di avvio e riavviamo con successo, ma il sito non funziona.<\/p>\n<p>4. Ci sono due opzioni per avviare il sito: configurare Apache da zero o utilizzare nginx gi\u00e0 configurato in precedenza con 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>\nInfine, \u00e8 necessario avviare MySQL:<\/p>\n<pre><code class=\"bash\">$ \/etc\/init.d\/mysqld start<\/code><\/pre>\n<p>\nNon si avvia, e la soluzione \u00e8 nascosta in <code>\/var\/log\/mysql<\/code>. Non appena risolvi il problema con MySQL, il sito funzioner\u00e0, sulla pagina principale troverai la chiave \u2014 RichardGCCMatthewGNUStallman! Ora abbiamo accesso a 1C e i dipendenti possono ricevere il salario. E tu hai sempre molto lavoro da fare per sistemare l'infrastruttura e la sicurezza in azienda.<\/p>\n<p>Possiamo anche condividere nuovamente l'elenco dei libri che ci hanno aiutato e hanno aiutato i nostri partecipanti a prepararsi per il gioco: <noindex><a rel=\"nofollow\" href=\"https:\/\/linux.mail.ru\/books\">linux.mail.ru\/books<\/a><\/noindex>.<\/p>\n<p>Grazie per essere stati con noi! Rimanete sintonizzati per gli annunci dei prossimi giochi!<br \/>\n<br \/>Fonte: <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.0.1 - 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\/it\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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. Congratuliamo i vincitori e parliamo delle soluzioni ai compiti | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/31240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=31240"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/31240\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/23206"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=31240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=31240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=31240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}