{"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\/es\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij","title":{"rendered":"Linux Quest. Felicitamos a los ganadores y hablamos sobre las soluciones de los desaf\u00edos","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Linux Quest. Felicitamos a los ganadores y hablamos sobre las soluciones de los desaf\u00edos\" src=\"\/wp-content\/uploads\/2019\/04\/a8c28d0ba562680119475609a56136d6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEl 25 de marzo abrimos la inscripci\u00f3n para <noindex><a rel=\"nofollow\" href=\"https:\/\/linux.mail.ru\">Linux Quest<\/a><\/noindex>, es un juego para aficionados y conocedores del sistema operativo Linux. Algunas estad\u00edsticas: 1117 personas se registraron para el juego, de las cuales 317 encontraron al menos una clave, 241 lograron completar la tarea de la primera etapa, 123 la segunda y 70 pasaron la tercera etapa. Hoy nuestro juego ha llegado a su fin, \u00a1y felicitamos a nuestros ganadores! <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<ul>\n<li><b>El primer lugar fue para Alexander Teldikov.<\/b><br \/>\nAlexander dijo sobre s\u00ed mismo que es el administrador de sistemas m\u00e1s t\u00edpico. Vive en Volgogrado, administra diferentes sistemas Unix-like desde hace unos veinte a\u00f1os. Ha trabajado en proveedores de internet, un banco y una empresa integradora de sistemas. Actualmente trabaja de forma remota en una peque\u00f1a empresa, gestionando la infraestructura en la nube para un importante cliente extranjero. Le gusta leer y escuchar m\u00fasica. Sobre el juego, Alexander coment\u00f3 que en general le gust\u00f3, disfruta de este tipo de retos. En una de las empresas, durante una entrevista, particip\u00f3 en algo similar a Hackerrank, le pareci\u00f3 interesante.<\/li>\n<li><b>El segundo lugar fue para Roman Suslov.<\/b><br \/>\nRoman es de Mosc\u00fa. Tiene 37 a\u00f1os. Trabaja como ingeniero de Linux\/Unix en la empresa 'Infostek Jet'. En su trabajo se dedica a la administraci\u00f3n y resoluci\u00f3n de problemas de sistemas Linux\/Unix + SAN. Sus intereses son variados: sistemas Linux, programaci\u00f3n, ingenier\u00eda inversa, seguridad inform\u00e1tica, Arduino. Sobre el juego, Roman destac\u00f3 que le gust\u00f3 en general. 'Ejercit\u00e9 un poco mis neuronas y me distraje de la rutina gris del trabajo diario. \ud83d\ude42 Me gustar\u00eda tener m\u00e1s tareas, ya que no tuve tiempo de disfrutar completamente antes de que el juego terminara'.<\/li>\n<li><b>El tercero fue alex3d.<\/b><br \/>\nAlex vive en Mosc\u00fa y se dedica al desarrollo de software. 'Gracias por el concurso, fue interesante poner a prueba mis habilidades de google-fu'.<\/li>\n<\/ul>\n<p>\nTambi\u00e9n en el ranking de los 10 mejores jugadores:<\/p>\n<ul>\n<li>Yevgeniy Saldayev<\/li>\n<li>Markel Mokhnachevskiy<\/li>\n<li>Konstantin Konosov<\/li>\n<li>Pavel Sergeyev<\/li>\n<li>Vladimir Bovaev<\/li>\n<li>Ivan Bubnov<\/li>\n<li>Pavlo Klets<\/li>\n<\/ul>\n<p>\nEntendemos que hay muchas formas de resolver nuestras tareas, a continuaci\u00f3n describimos algunas de las posibles soluciones. <\/p>\n<h3>1. Primera etapa <\/h3>\n<p>\nLa hemos llamado '\u00bfEres realmente admin?', ya que la tarea era bastante sencilla: reparar un c\u00e1lido y acogedor servicio.<\/p>\n<h4>1.1. Datos interesantes:<\/h4>\n<p>\nDos jugadores encontraron la primera clave en los primeros 15 minutos del juego, y en una hora tuvimos tres l\u00edderes que completaron la tarea. <\/p>\n<h4>1.2. Tarea<\/h4>\n<p>\nTe has unido a una empresa donde no ha habido un especialista en tecnolog\u00edas de la informaci\u00f3n durante mucho tiempo. Antes de comenzar a ordenar, es necesario resolver un problema urgente que bloquea el funcionamiento de la oficina.<\/p>\n<p>La limpiadora ha enganchado el cable de alimentaci\u00f3n del armario del servidor con la mopa. Se ha restaurado la alimentaci\u00f3n, pero un sitio web muy importante sigue sin funcionar. Este sitio web es crucial porque la empresa no se preocupa mucho por la seguridad de la informaci\u00f3n, y en la p\u00e1gina principal se puede encontrar p\u00fablicamente la contrase\u00f1a de administrador del ordenador del director general.<\/p>\n<p>D\u00edas atr\u00e1s se cambi\u00f3 la contrase\u00f1a, y todos se olvidaron de la nueva, el director no puede trabajar. Se rumorea que en esta m\u00e1quina hab\u00eda otras claves que pueden ayudarnos a descifrar la copia de seguridad de los documentos contables.<\/p>\n<p>\u00a1Todos est\u00e1n esperando una soluci\u00f3n r\u00e1pida al problema!<\/p>\n<h4>1.3. Soluci\u00f3n<\/h4>\n<p>\n1. Lo primero que hay que hacer es cambiar la contrase\u00f1a root en la m\u00e1quina virtual para obtener acceso a ella. Al iniciar, notamos que es Ubuntu 16.04 Server.<\/p>\n<p>Para restablecer la contrase\u00f1a de root reiniciamos la m\u00e1quina, al arrancar, en el momento en que aparece el men\u00fa de grub, pasamos a editar la opci\u00f3n de Ubuntu pulsando la tecla \u00abe\u00bb. Editamos la l\u00ednea linux, a\u00f1adiendo al final <code>init=\\\/bin\\\/bash<\/code>. Cargamos con Ctrl+x y obtenemos bash. Re-montamos la ra\u00edz como rw, cambiamos la contrase\u00f1a:<\/p>\n<pre><code class=\"bash\">$ mount -o remount,rw \\\/dev\\\/mapper\\\/ubuntu--vg-root\n$ passwd<\/code><\/pre>\n<p>\nNo olvidemos hacer un sync, reiniciamos.<\/p>\n<p>2. En las condiciones se indica que nuestro servidor web no est\u00e1 funcionando, veamos:<\/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>\nEs decir, en realidad Apache est\u00e1 en funcionamiento, pero responde con un c\u00f3digo 404. Revisamos la configuraci\u00f3n:<\/p>\n<pre><code class=\"bash\">$ vim \\\/etc\\\/apache2\\\/sites-enabled\\\/000-default.conf<\/code><\/pre>\n<p>\nAqu\u00ed se encuentra la clave \u2014 StevenPaulSteveJobs.<\/p>\n<p>Comprobamos la ruta <code>\/usr\/share\/WordPress<\/code> \u2014 no existe, pero hay <code>\/usr\/share\/wordpress<\/code>. Modificamos la configuraci\u00f3n y reiniciamos Apache.<\/p>\n<pre><code class=\"bash\">$ systemctl restart apache2<\/code><\/pre>\n<p>\n3. Intentamos de nuevo, obtenemos el error:<\/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>\n\u00bfLa base de datos no est\u00e1 en funcionamiento?<\/p>\n<pre><code class=\"bash\">$ systemctl status mysql\nActive: active (running)<\/code><\/pre>\n<p>\n\u00bfCu\u00e1l es el problema? Es necesario investigar. Para esto, necesitamos acceder a MySQL, c\u00f3mo hacerlo est\u00e1 descrito en <noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/resetting-permissions.html\">la documentaci\u00f3n<\/a><\/noindex>. Uno de los puntos de la documentaci\u00f3n nos recomienda a\u00f1adir la opci\u00f3n <code>skip-grant-tables<\/code> en <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code>. Aqu\u00ed tambi\u00e9n se encuentra la clave \u2014 AugustaAdaKingByron.<\/p>\n<p>Ajustamos los permisos para el usuario <code>'wp'@'localhost'<\/code>. Iniciamos MySQL, lo hacemos accesible a trav\u00e9s de la red, comentando en la configuraci\u00f3n la opci\u00f3n <code>skip-networking<\/code>.<\/p>\n<p>4. Despu\u00e9s de las acciones realizadas, el servidor web se inicia, pero el sitio sigue sin funcionar, ya que <\/p>\n<pre><code class=\"bash\">Advertencia: require_once( \/usr\/share\/wordpress\/wp-content\/themes\/twentysixteen\/footer.php): no se pudo abrir el flujo: Permiso denegado en \/usr\/share\/wordpress\/wp-includes\/template.php en la l\u00ednea 562<\/code><\/pre>\n<p>\nCambiamos los permisos del archivo.<\/p>\n<pre><code class=\"bash\">$ chmod 644 \/usr\/share\/wordpress\/wp-content\/themes\/twentysixteen\/footer.php\n<\/code><\/pre>\n<p>\nActualizamos la p\u00e1gina, entramos en el sitio y encontramos la clave \u2014 BjarneStroustrup! Hemos encontrado las tres claves, nuestro director puede trabajar, hemos descifrado los archivos contables. Todos est\u00e1n felices, y t\u00fa tienes mucho trabajo por delante para establecer la infraestructura, copias de seguridad y seguridad en la empresa. <\/p>\n<h3>2. Segunda etapa<\/h3>\n<p>\nEra necesario resolver la tarea sobre la recopilaci\u00f3n de analytics. A todos les gusta la anal\u00edtica: qui\u00e9n, de d\u00f3nde y en qu\u00e9 cantidades ingresa. Se nos ocurri\u00f3 un caso con el que todos los ingenieros pueden encontrarse en la vida.<\/p>\n<h4>2.1. Datos interesantes<\/h4>\n<p>\nUno de nuestros jugadores introdujo la clave correcta en los primeros 10 minutos del juego, y en la primera hora tuvimos un l\u00edder que complet\u00f3 la tarea.<\/p>\n<h4>2.2. Tarea<\/h4>\n<p>\nLlegaste a trabajar en la empresa, y los gerentes te pidieron que encontraras a qui\u00e9n se enviaron los correos desde \u00c1frica. Es necesario construir un top-21 de direcciones de los destinatarios. Las primeras letras de las direcciones de los destinatarios son la clave. Pero hay un problema: el servidor de correo a trav\u00e9s del cual se enviaron los correos no se est\u00e1 levantando. \u00a1Todos esperan una soluci\u00f3n operativa al problema!<\/p>\n<h4>2.3. Soluci\u00f3n<\/h4>\n<p>\n1. El servidor no arranca debido a que no existe la secci\u00f3n swap en fstab, al arrancar, el sistema intenta montarlo y se cae. \u00bfC\u00f3mo arrancar?<\/p>\n<p>Descargamos la imagen, hemos descargado CentOS 7, arranca con Live CD\/DVD (Soluci\u00f3n de problemas -&gt; Rescate), montamos el sistema, modificamos <code>\/etc\/fstab<\/code>. Aqu\u00ed mismo encontramos la primera clave \u2014 GottfriedWilhelm11646Leibniz!<\/p>\n<p>Creamos swap:<\/p>\n<pre><code class=\"bash\">$ lvcreate -n swap centos -L 256M\n$ sync &amp;&amp; reboot<\/code><\/pre>\n<p>\n2. Como siempre, no hay contrase\u00f1a, necesitamos cambiar la contrase\u00f1a root en la m\u00e1quina virtual. Ya hicimos esto en la primera tarea. Cambiamos y accedemos exitosamente al servidor, pero se reinicia de inmediato. El servidor se reinicia tan r\u00e1pido que no puedes ni siquiera mirar todos los registros con atenci\u00f3n. \u00bfC\u00f3mo entender qu\u00e9 est\u00e1 pasando?<\/p>\n<p>De nuevo arrancamos con livecd, estudiamos los registros del sistema con atenci\u00f3n y, por si acaso, echamos un vistazo al cron, dada tal periodicidad. All\u00ed encontramos el problema y la segunda clave \u2014 Alan1912MathisonTuring!<\/p>\n<p>Es necesario en <code>\/etc\/crontab<\/code> eliminar o comentar la l\u00ednea <code>echo b &gt; \/proc\/sysrq-trigger<\/code>.<\/p>\n<p>3. Despu\u00e9s de lo cual el servidor se inici\u00f3 y se pueden realizar las tareas de los administradores: \u00ab\u00bfCu\u00e1les son las direcciones de \u00c1frica?\u00bb Esta informaci\u00f3n, en general, es de acceso p\u00fablico. Se puede encontrar en Internet utilizando las frases \u00abip address africa\u00bb, \u00abgeoip database\u00bb. Para resolver la tarea se pueden utilizar bases de datos de distribuci\u00f3n de direcciones de acceso libre (geoip). Usamos una base de datos como referencia. <noindex><a rel=\"nofollow\" href=\"https:\/\/dev.maxmind.com\/geoip\/geoip2\/geolite2\/\">MaxMind GeoLite2<\/a><\/noindex>, disponible bajo la licencia Creative Commons Attribution-ShareAlike 4.0.<\/p>\n<p>Intentaremos resolver nuestra tarea usando solo utilidades del sistema Linux, aunque hay muchas maneras de hacerlo: utilizando herramientas de filtrado de texto y scripts en varios lenguajes de programaci\u00f3n.<\/p>\n<p>Para empezar, simplemente obtendremos pares \u00abIP del remitente - receptor\u00bb del registro de correo electr\u00f3nico <code>\/var\/log\/maillog<\/code> (construiremos una tabla de emails de receptores - IP del remitente). Se puede hacer con el siguiente 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>\nY antes de continuar con la creaci\u00f3n de la base de datos de direcciones de \u00c1frica, veamos la lista de las principales IP de los remitentes.<\/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>\nEntre todos, destacan claramente por la cantidad de correos los tres primeros receptores de la lista. Si buscamos las IP de los remitentes que enviaron a las direcciones de este top-3, podemos notar una clara predominancia de ciertas redes:<\/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 mayor parte de las redes 105\/8, 41\/8, 196\/8, 197\/8 est\u00e1n asignadas a AFRINIC, uno de los cinco registradores regionales de Internet que llevan a cabo la distribuci\u00f3n de recursos de Internet. AFRINIC distribuye el espacio de direcciones en el territorio de \u00c1frica. Y el 41\/8 pertenece completamente a 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>\nPor lo tanto, la respuesta a la tarea, en realidad, est\u00e1 en el propio registro.<\/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>\nEn esta etapa, recibimos la cadena \u00abLinuxBenedictTorvadst\u00bb.<\/p>\n<p>La clave correcta: \u00abLinusBenedictTorvalds\u00bb.<\/p>\n<p>La cadena obtenida contiene un error tipogr\u00e1fico en los 3 \u00faltimos caracteres. Esto se debe a que las redes que hemos seleccionado no est\u00e1n completamente asignadas a los pa\u00edses de \u00c1frica y a c\u00f3mo est\u00e1n distribuidos los correos electr\u00f3nicos en las direcciones IP en nuestro registro.<\/p>\n<p>Con suficiente precisi\u00f3n en las redes m\u00e1s grandes asignadas a los pa\u00edses de \u00c1frica, se puede obtener una respuesta exacta.:<\/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>\nLa tarea tambi\u00e9n se puede resolver de otra manera.<br \/>\nDescargamos MaxMind, descomprimimos y los siguientes tres comandos tambi\u00e9n resuelven nuestra tarea.<\/p>\n<pre><code class=\"bash\">$ cat GeoLite2-Country-Locations-ru.csv | grep \"\u00c1frica\" | 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>\nDe una forma u otra, al final contamos con las estad\u00edsticas y los gerentes obtuvieron los datos que necesitaban para trabajar. <\/p>\n<h3>3. Tercera etapa<\/h3>\n<p>\nLa tercera etapa es algo similar a la primera \u2014 tambi\u00e9n se necesita arreglar un c\u00e1lido servicio de l\u00e1mpara, pero todo es m\u00e1s complicado que en la primera tarea.<\/p>\n<h4>3.1. Datos interesantes<\/h4>\n<p>\nEn los primeros 15 minutos, tres jugadores encontraron la primera clave, y despu\u00e9s de 2 horas y 20 minutos desde el inicio de la etapa, nuestro ganador complet\u00f3 la tarea.<\/p>\n<h4>3.2. Tarea<\/h4>\n<p>\nTe incorporaste a una empresa donde todos los documentos se almacenan en un servidor interno Wiki. El a\u00f1o pasado, un ingeniero solicit\u00f3 3 nuevos discos para el servidor, adem\u00e1s de uno existente, argumentando que para la redundancia del sistema era necesario colocar los discos en ciertos arreglos. Desafortunadamente, unas semanas despu\u00e9s de su instalaci\u00f3n, el ingeniero se fue de vacaciones a India y no regres\u00f3.<\/p>\n<p>Durante varios a\u00f1os, el servidor funcion\u00f3 sin problemas, pero hace un par de d\u00edas la red de la empresa fue hackeada. Siguiendo las instrucciones, el personal de seguridad extrajo los discos del servidor y te los envi\u00f3. Durante el transporte, se perdi\u00f3 un disco de manera irreversible.<\/p>\n<p>Es necesario restaurar la funcionalidad de Wiki, primero nos interesa el contenido de las p\u00e1ginas de la wiki. Un fragmento de texto que estaba en una de las p\u00e1ginas de esta wiki es la contrase\u00f1a del servidor 1C y es urgente para desbloquearlo.<\/p>\n<p>Adem\u00e1s, en alguna parte de las p\u00e1ginas de la wiki o en otro lugar hab\u00eda contrase\u00f1as del servidor de logs y del servidor de videovigilancia, que tambi\u00e9n es recomendable recuperar, sin ellas la investigaci\u00f3n del incidente es imposible. \u00a1Como siempre, esperan una soluci\u00f3n r\u00e1pida!<\/p>\n<h4>3.3. Soluci\u00f3n<\/h4>\n<p>\n1. Intentamos arrancar secuencialmente con los discos que tenemos y en todos recibimos el mismo mensaje:<\/p>\n<pre><code class=\"bash\">\u00a1No se encontr\u00f3 medio de arranque! Sistema detenido \n<\/code><\/pre>\n<p>\nNecesitamos arrancar de alguna manera. Nuevamente, nos salva el arranque desde un Live CD\/DVD (Soluci\u00f3n de problemas -&gt; Rescate). Al arrancar, intentamos encontrar la partici\u00f3n de arranque, no la encontramos, y llegamos a shell. Intentamos estudiar qu\u00e9 y c\u00f3mo con los discos. Se sabe que hay tres. Hay m\u00e1s herramientas para esto en la versi\u00f3n 7 de CentOS, donde hay comandos <code>blkid<\/code> o <code>lsblk<\/code>, que nos muestran toda la informaci\u00f3n sobre los discos. <\/p>\n<p>Qu\u00e9 hacemos y c\u00f3mo:<\/p>\n<pre><code class=\"bash\">$ ls \/dev\/sd*<\/code><\/pre>\n<p>\nSe nota de inmediato que <\/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>\nMontamos sdb1, se ve que esta es la partici\u00f3n de arranque de CentOS 6.<\/p>\n<pre><code class=\"bash\">$ mkdir \/mnt\/sdb1 &amp;&amp; mount \/dev\/sdb1 \/mnt\/sdb1<\/code><\/pre>\n<p>\nObviamente vamos a la secci\u00f3n grub y encontramos la primera clave: James191955Gosling en un archivo inusual.<\/p>\n<p>2. Estudiamos pvs y lvs, ya que trabajamos con LVM. Vemos que deber\u00eda haber 2 vol\u00famenes f\u00edsicos, uno no se encuentra y se queja por uid perdido. Vemos que deber\u00eda haber 2 vol\u00famenes l\u00f3gicos: root y swap, y adem\u00e1s root est\u00e1 parcialmente perdido (atributo P en el volumen). No se puede montar, \u00a1una pena! Lo necesitamos mucho.<\/p>\n<p>Hay otros 2 discos, miramos y los montamos:<\/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>\nVemos, se nota que esta es la partici\u00f3n de arranque de CentOS 6 y un duplicado de lo que ya hay en <code>\/dev\/sdb1<\/code>, y aqu\u00ed de nuevo la misma clave: DennisBMacAlistairCRitchie!<br \/>\nVemos c\u00f3mo est\u00e1 formado <code>\/dev\/md127<\/code>.<\/p>\n<pre><code class=\"bash\">$ mdadm --detail \/dev\/md127\n<\/code><\/pre>\n<p>\nVemos que deber\u00eda haberse formado a partir de 4 discos, se form\u00f3 a partir de dos <code>\/dev\/sda1<\/code> y <code>\/dev\/sdc1<\/code>, que debieron ser los n\u00fameros 2 y 4 en el sistema. Suponemos que de <code>\/dev\/sda2<\/code> y <code>\/dev\/sdc2<\/code> tambi\u00e9n se puede formar un arreglo. No queda claro por qu\u00e9 no tienen metadata, pero eso es culpa del administrador que est\u00e1 en alguna parte de Goa. Suponemos que aqu\u00ed deber\u00eda haber RAID10, aunque hay opciones. Formamos: <\/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>\nVemos blkid, pvs, lvs. Descubrimos que hemos formado un volumen f\u00edsico, que antes nos faltaba.<\/p>\n<p>Inmediatamente reparamos lvroot, lo montamos, pero primero activamos 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>\nY all\u00ed est\u00e1 todo, incluyendo la clave en el directorio home de root \u2014 \/root\/sweet.<\/p>\n<p>3. Intentamos revivir nuestro servidor para que arranque correctamente. Movemos todos los vol\u00famenes l\u00f3gicos de nuestro <code>\/dev\/md0<\/code> (donde encontramos todo) a <code>\/dev\/sdb2<\/code>, donde originalmente funcionaba todo el servidor.<\/p>\n<pre><code class=\"bash\">$ pvmove \/dev\/md0 \/dev\/sdb2\n$ vgreduce vg_c6m1 \/dev\/md0<\/code><\/pre>\n<p>\nApagamos el servidor, removemos el disco 1 y 3, dejamos el segundo, iniciamos con Live CD\/DVD en Rescue. Localizamos la partici\u00f3n de arranque, restauramos el gestor de arranque en grub:<\/p>\n<pre><code class=\"bash\">root (hd0,0)\nsetup (hd0)\n<\/code><\/pre>\n<p>\nQuitamos el disco de arranque y iniciamos con \u00e9xito, pero el sitio no funciona.<\/p>\n<p>4. Hay dos opciones para lanzar el sitio: configurar Apache desde cero o usar nginx ya configurado 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>\nFinalmente, hay que iniciar MySQL:<\/p>\n<pre><code class=\"bash\">$ \/etc\/init.d\/mysqld start<\/code><\/pre>\n<p>\nNo arranca, y la soluci\u00f3n est\u00e1 en <code>\/var\/log\/mysql<\/code>. Una vez resuelta la problem\u00e1tica con MySQL, el sitio funcionar\u00e1, en la p\u00e1gina principal se encontrar\u00e1 la clave \u2014 RichardGCCMatthewGNUStallman! Ahora tenemos acceso a 1C, y los empleados podr\u00e1n recibir su salario. Y t\u00fa, como siempre, tendr\u00e1s mucho trabajo por delante para optimizar la infraestructura y la seguridad en la empresa.<\/p>\n<p>Tambi\u00e9n podemos compartir una vez m\u00e1s la lista de libros que ayudaron a nosotros y a nuestros participantes a prepararse para el juego: <noindex><a rel=\"nofollow\" href=\"https:\/\/linux.mail.ru\/books\">linux.mail.ru\/books<\/a><\/noindex>.<\/p>\n<p>\u00a1Gracias por estar con nosotros! \u00a1Est\u00e9n atentos a los anuncios de los pr\u00f3ximos juegos!<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/447222\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>25 \u043c\u0430\u0440\u0442\u0430 \u043c\u044b \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044e \u043d\u0430 Linux Quest, \u044d\u0442\u043e \u0418\u0433\u0440\u0430 \u0434\u043b\u044f \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u0435\u0439 \u0438 \u0437\u043d\u0430\u0442\u043e\u043a\u043e\u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b Linux. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438: \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043d\u0430 \u0438\u0433\u0440\u0443 1117 \u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u0438\u0437 \u043d\u0438\u0445 317 \u2014 \u043d\u0430\u0448\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d \u043a\u043b\u044e\u0447, 241 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441 \u0437\u0430\u0434\u0430\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430, 123 \u2014 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0438 70 \u043f\u0440\u043e\u0448\u043b\u0438 \u0442\u0440\u0435\u0442\u0438\u0439 \u044d\u0442\u0430\u043f. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0430\u0448\u0430 \u0438\u0433\u0440\u0430 \u043f\u043e\u0434\u043e\u0448\u043b\u0430 \u043a \u043a\u043e\u043d\u0446\u0443, \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23206,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31240","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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. Felicitamos a los ganadores y comentamos las soluciones a los desaf\u00edos | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/linux-quest-pozdravlyaem-pobeditelej-i-rasskazyvaem-pro-resheniya-zadanij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/31240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=31240"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/31240\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/23206"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=31240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=31240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=31240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}