| clanfssq • PM |
Jul 23, 2017 11:05 AM
|
|
|FS|Tosko
Posts: 3 |
Hola buenas, vamos a hablar de qué es linux, o hablando con propiedad, GNU/Linux y los conceptos básicos que le rodean.
¿Por qué hago el matiz de GNU? Pues simple de entender, lo que por lo general llamamos Linux es realmente el Proyecto GNU (software libre), los usuarios y/o administradores de servidores ejecutan a diario, sin saberlo, una DISTRIBUCIÓN (versión modificada) del Proyecto GNU, mientras que lo que denominamos Linux es el Kernel del sistema. Android está basado en Linux y a su vez el mismo no tiene absolutamente nada que ver con el sistema GNU/Linux que es lo que realmente utilizamos en nuestro Host, dando un poco mas de información, nosotros utilizamos una de las distribuciones de GNU/Linux llamada Ubuntu (v14.04.5 LTS). Ahora bien, he dicho que al hablar de linux hablamos del Kernel, entonces, ¿Qué carajos es el Kerel? Shocked Cuando decimos Kernel (en cualquier sistema operativo), nos referimos al núcleo del sistema, el núcleo es aquél que se encarga de que el software y el hardware trabajen juntos. Entre varias cosas el núcleo administra la memoria para todos los programas y procesos en ejecución, administra el tiempo del procesador y es el encargado de que podamos trabajar con periféricos/elementos de nuestro ordenador de una forma cómoda. Siento el tostón de explicación pero no he encontrado otra forma de hacerlo entender, pasemos a los conceptos básicos. Más información sobre el Proyecto GNU/Linux: > Pincha Aquà < Conceptos Básicos *Nota: Deciros de antemano que considero el post un poco extenso pero que no os asuste, pues cuenta con la información mas importante en cada aspecto y si os gusta, os llama la atención como a mÃ, este tema os servirá de ayuda. SHELL: Shell es todo aquel programa que nos provee una interfaz que nos permitirá trabajar/interactuar con el sistema operativo. Tenemos entre varios modelos dos Shells que nos interesa destacar. 1. Shell, interfaz gráfica de usuario, ejemplo Windows (XP, 7, 10..) con su sistema de ventanas y absoluta visualización (sencilla), etc. 2. Shell, interfaz linea de comandos, ejemplo GNU/Linux (UbuntuServer). Es algo un poco mas complicado pero no se le debe tener miedo pues aquà estamos para aprender. Dentro de la Shell linea de comandos tenemos un término básico e importantÃsimo como es el intérprete de comandos que pasaré a explicar mas abajo. ROOT: Le llamamos Root al "SuperUsuario" de GNU/Linux, es el usuario administrador del sistema sin restricciones por lo cual se debe tener un especial y exhaustivo cuidado con el mismo pues es posible fastidiar el sistema operativo en custión de segundos. SUDO Y SU: Son programas con una leve diferencia pero de vital importancia. 1. Sudo: Un comando relacionado, llamado sudo, ejecuta un comando como otro usuario, pero respetando una serie de restricciones sobre qué usuarios pueden ejecutar qué comandos en nombre de qué otros usuarios (usualmente especificadas en el archivo /etc/sudoers). Por otro lado, a diferencia de su, sudo pide a los usuarios su propia contraseña en lugar de la del usuario requerido; esto permite la delegación de comandos a usuarios en otras máquinas sin tener que compartir contraseñas, reduciendo el riesgo de dejar terminales desatendidas. 2. Su: El programa su permite usar el intérprete de comandos de otro usuario sin necesidad de cerrar la sesión actual. Comúnmente se usa para obtener permisos de root para operaciones administrativas sin tener que salir y reentrar al sistema. Una variante muy utilizada es usar su seguido de un guión. AsÃ, para loguearte como root, tenés que ingresar "su –" y para loguearte como otro usuario "su – otrousuario". ¿La diferencia entre usar o no el guión? Se recomienda usar el guión porque simula que te logueás con ese usuario; por consiguiente, ejecuta todos los archivos de inicio de ese usuario, cambia el directorio actual al HOME de ese usuario, cambia el valor de algunas variables del sistema adaptándolas al nuevo usuario (HOME, SHELL, TERM, USER, LOGNAME, entre otros). Fuente, más información: > Pincha Aquà < PROTOCOLOS: Los protocolos de red son sistemas de reglas que permiten la correcta comunicación entre dos o más dispositivos en una red a la hora de transmitir información. Lo querÃa comentar para que se tenga una leve idea pero no lo voy a desarrollar aquà por dos motivos, el primero es porque relamente no le vamos a dar gran uso (en esta aplicación) y el segundo es que es un muy amplio concepto de redes al cual deberÃa dedicarle un Post entero de varias horas, pues estarÃamos entrando en el campo de las Telecomunicaciones con temas como el modelo OSI, datagramas, etc. PUERTOS: Los puertos son muy importantes, pues son usados por los programas para poder comunicarse. Para que me entendáis, imaginaros que en vuestra casa tenéis varias puertas y ventanas que por lo general tenemos cerradas para que no entre quien no nos interese, ahora bien, debajo de nuestra casa contamos con una tienda en la cual necesitamos que entre y salga gente pues es algo que nos interesa para vender.. estas puertas y ventanas serán nuestros puertos en informática y redes. En caso de que alguien quiera acceder a nuestra red con fines malévolos lo hará inventigando qué puertos tenemos abiertos, por lo cual habrá que tener unos sistemas de seguridad para impedir tal cosa. En los sistemas operativos (por lo general) vienen por defecto puertos abiertos que permitir la comunicación de diferentes servicios y programas, por lo cual debemos instalar un sistema de firewall o cortafuegos > UFW < para tener un control administrativo de los accesos. - CaracterÃsitcas de los puertos: 1. Contamos con 65535 puertos. 2. Los 1024 primeros puertos son los que llamamos puertos conocidos, es decir, desde el puerto número 1 al 1023. 3. Partiendo del 1024 hasta el 49152 son clasificados como puertos registrados. 4. Y a partir del 49153 hasta 65535 son puertos dinámicos o de uso privado, es decir, sin propósito preestablecido. - Usos de Puertos: Tomando el ejemplo anterior imaginaros que en vuestra casa hay varias habitaciones, estas habitaciones en redes son diferentes servicios y programas asignados a un puerto, es decir, un hosting como el nuestro cuenta con una IP pública que es "176.31.101.130" pero contiene diferentes servicios como, varios servidores de Cod4, CodUo, Ts, servicio FTP, SSH, MYSQL, HTTP, APACHE, etc. y a cada uno le corresponde un puerto para especificar a la hora de transferir información qué es realmente lo que queremos hacer. Dedicaré otro post al estudio de puertos y programas para tratar los mismos. SCRIPT: Un script es un archivo de ordenes o pequeño programa con el que poder automatizar ciertas tareas o acciones en un sistema operativo. Un script suele ser un archivo de texto plano, en el que se insertan las ordenes que se quieren realizar. En Ubuntu (o cualquier distribución Linux) podrÃamos hacer un script con comandos de consola para poder, por ejemplo, actualizar el sistema, instalar alguna aplicación, hacer un backup (copia de seguridad) de archivos, o todo a la vez. Los scripts no sólo usan comandos Linux, hay de muchos tipos y para todos los sistemas operativos. En Windows, por ejemplo, el tipo de scripts más común son los archivos *.bat. En Linux lo más común es el Shell Script, scripts con comandos de consola Linux. Pero los scripts también pueden ser scripts PHP, python, java, etc. Fuente, más información: > Pincha Aquà < INTÉRPRETES DE COMANDOS (BASH): Un intérprete de órdenes, intérprete de comandos, terminal, consola, es un programa informático que actúa como interfaz de usuario para comunicar al usuario con el sistema operativo mediante una ventana que espera órdenes escritas por el usuario, los interpreta y los entrega al sistema operativo para su ejecución. - Intérprete Bash: Existen varios inérpretes pero trataremos el Bash ya que es el más común y el que usamos normalmente en sistemas GNU/Linux, su nombre se debe a que este fue una derivación de SH que fue uno de los primero intérpretes que nacieron. Existen dos puntos importantes: 1. Para verificar que estamos trabajando con Bash lo hacemos de este método, escribimos en la terminal "echo $SHELL" y deberá respondernos el sistema, "/bin/bash". 2. A la hora de crear y ejecutar un script debemos indicar en la primera lÃnea de código, qué intérprete deseamos que ejecute el script, para indicar Bash, escribimos "#!/bin/bash" (sin comillas). DISTRIBUCIONES: Linux es un sistema de libre distribución por lo que podéis encontrar todos los ficheros y programas necesarios para su funcionamiento en multitud de servidores conectados a Internet. Una distribución no es otra cosa, que una recopilación de programas y ficheros, organizados y preparados para su instalación. Son sistemas basados en GNU/Linux que han sido de desarrollados por la Comunidad y Empresas para diferentes fines. Con esto finalizo este extenso post, espero que os haya gustado y sirva para aprender o en algun caso para reforzar vuestro conocimiento con unas ideas a tiro fijo y desde mi punto de vista bien resumidas. Recordad, consultas, puntos de vista, correcciones, etc. comentar aquà abajo. Gracias por leer y a seguir aprendiendo, Salu2. PD: Recordar que podeÃs hacer una votación múltiple en este tema y rectificar en caso de cambiar de oponión, me servirá de gran ayuda para seguir haciendo post de teorÃa a los cuales le estoy dedicando y dedicaré muchas horas dependiendo de vuestra opinión. |