**Team 2 Kamila Michel Kitty Gustavo Isaac Juan Pablo** Permisos y derechos de Linux === En GNU/Linux, los permisos o derechos que los usuarios pueden tener sobre determinados archivos contenidos en él se establecen en tres niveles claramente diferenciados. Estos tres niveles son los siguientes: <° Permisos del propietario. <° Permisos del grupo. <° Permisos del resto de usuarios (o también llamados “los otros”). **Para tener claros estos conceptos, en los sistemas en red (como lo es el pingüino) siempre existe la figura del administrador, superusuario o root. Este administrador es el encargado de crear y dar de baja a usuarios, así como también, de establecer los privilegios que cada uno de ellos tendrá en el sistema.** ![](https://i.imgur.com/XrxJSmF.png) Permisos del Propietario == El propietario es aquel usuario que genera o crea un archivo/carpeta dentro de su directorio de trabajo (HOME), o en algún otro directorio sobre el que tenga derechos. Cada usuario tiene la potestad de crear, por defecto, los archivos que quiera dentro de su directorio de trabajo. En principio, él y solamente él será el que tenga acceso a la información contenida en los archivos y directorios que hay en su directorio HOME. Permisos del grupo == Lo más normal es que cada usuario pertenezca a un grupo de trabajo. De esta forma, cuando se gestiona un grupo, se gestionan todos los usuarios que pertenecen a éste. Es decir, es más fácil integrar varios usuarios en un grupo al que se le conceden determinados privilegios en el sistema, que asignar los privilegios de forma independiente a cada usuario. Permisos del Usuario == Los privilegios de los archivos contenidos en cualquier directorio, pueden tenerlos otros usuarios que no pertenezcan al grupo de trabajo en el que está integrado el archivo en cuestión. Es decir, a los usuarios que no pertenecen al grupo de trabajo en el que está el archivo, pero que pertenecen a otros grupos de trabajo, se les denomina resto de usuarios del sistema. ¿Cómo identificarlos? == ![](https://i.imgur.com/bQfN4au.png) **Abre una terminal y realiza lo siguiente:** $ ls -l Nos aparecerá lo siguiente: ![](https://i.imgur.com/DKhfjHc.png) Como podrán observar, este comando despliega o “lista” el contenido de mi HOME, lo que nos ocupa son las líneas de color **rojo** y **verde**. El recuadro de color rojo, nos muestra quien es propietario y el recuadro de color verde indica a qué grupo pertenece cada uno de los archivos y carpetas anteriormente listadas. En este caso tanto el propietario y el grupo se llaman “perseo”, pero bien pudieron haberse encontrado con un grupo distinto como pudiera ser “ventas”. Tipos de permisos en Linux == Cada archivo en GNU/Linux queda identificado por 10 caracteres mismos a los que se les denomina máscara. De estos 10 caracteres, el primero (de izquierda a derecha) hace referencia al tipo de archivo. Los 9 siguientes, de izquierda a derecha y en bloques de 3, hacen referencia a los permisos que se le conceden, respectivamente, al propietario, al grupo y al resto u otros. Una captura para demostrar todo este rollo: ![](https://i.imgur.com/55xUcee.png) El primer carácter de los archivos puede ser el siguiente: **Permiso Identifica** **– Archivo** **d** Directorio **b** Archivo de bloques especiales (Archivos especiales de dispositivo) **c** Archivo de caracteres especiales (Dispositivo tty, impresora…) **l** Archivo de vinculo o enlace (soft/symbolic link) **p** Archivo especial de cauce (pipe o tubería) Los siguientes nueve caracteres son los permisos que se les concede a los usuarios del sistema. Cada tres caracteres, se referencian los permisos de propietario, grupo y resto de usuarios. Los caracteres que definen estos permisos son los siguientes: **Permiso Identifica** **– Sin permiso** **r** Permiso de lectura **w** Permiso de escritura **x** Permiso de ejecución Asignación de permisos == El comando **chmod** (“change mode”) permite modificar la máscara para que se puedan realizar más o menos operaciones sobre archivos o directorios, dicho de otra forma, con chmod puedes quitar o eliminar derechos a cada tipo de usuarios. Si no se especifica el tipo de usuario al que queremos quitar, poner o asignar privilegios, lo que sucederá al realizar la operación es afectar a todos los usuarios simultáneamente. Lo básico que hay que recordar es que le demos dar o quitar permisos en estos niveles: **Parámetro** **Nivel** **Descripción** **u** **dueño** dueño del archivo o directorio **g** **grupo** grupo al que pertenece el archivo **o** **otros** todos los demás usuarios que no son el dueño ni del grupo Tipos de permiso: **Permiso Identifica** **r** Permiso de lectura **w** Permiso de escritura **x** Permiso de ejecución **Dar permiso de ejecución al dueño:** $ chmod u+x komodo.sh Quitar permiso de ejecución a todos los usuarios: $ chmod -x komodo.sh Dar permiso de lectura y escritura a los demás usuarios: $ chmod o+r+w komodo.sh Dejar solo permiso de lectura al grupo al que pertenece el archivo: $ chmod g+r-w-x komodo.sh Permisos especiales == Aún hay otro tipo de permisos que hay que considerar. Se trata del bit de permisos SUID (Set User ID), el bit de permisos SGID (Set Group ID) y el bit de permisos de persistencia (sticky bit). **setuid** El bit setuid es asignable a ficheros ejecutables, y permite que cuando un usuario ejecute dicho fichero, el proceso adquiera los permisos del propietario del fichero ejecutado. El ejemplo más claro de fichero ejecutable y con el bit setuid es: **$ su** Podemos ver que el bit está asignado como “s” en la siguiente captura: ![](https://i.imgur.com/kFk3jGH.png) **Para asignar este bit a un fichero seria:** $ chmod u+s /bin/su **Y para quitarlo:** $ chmod u-s /bin/su **Nota: Debemos utilizar este bit con extremo cuidado ya que puede provocar una escalada de privilegios en nuestro sistema ¬¬.** **setgid** El bit setid permite adquirir los privilegios del grupo asignado al fichero, también es asignable a directorios. Esto será muy útil cuando varios usuarios de un mismo grupo necesiten trabajar con recursos dentro de un mismo directorio. **Para asignar este bit hacemos lo siguiente:** $ chmod g+s /carpeta_compartida **Y para quitarlo:** $ chmod g-s /carpeta_compartida **sticky** Este bit suele asignarse en directorios a los que todos los usuarios tienen acceso, y permite evitar que un usuario pueda borrar ficheros/directorios de otro usuario dentro de ese directorio, ya que todos tienen permiso de escritura. Podemos ver que el bit está asignado como “t” en la siguiente captura: ![](https://i.imgur.com/Lhk8cib.png) **Para asignar este bit hacemos lo siguiente:** $ chmod o+t /tmp **Y para quitarlo:** $ chmod o-t /tmp SuperUsuario == Una de las principales características de Linux es la capa extra de seguridad que añade a su sistema, razón por la cual es el favorito para usarse en supercomputadoras y servidores de todo el mundo. ![](https://i.imgur.com/XqMZqVn.png) ¿Qué es el SuperUsuario? == La cuenta root o de superusuario es la cuenta con los permisos más elevados, Este usuario tiene permisos de lectura, escritura y ejecución de cualquier aplicación del sistema (acceso administrativo en general). Una instrucción dada con permisos de superusuario puede ser muy útil cuando se usa correctamente, pero terriblemente devastadora si no se tiene el conocimiento preciso SU == Linux separa la cuenta de superusuario (root) de la cuenta de usuario normal. SU, del inglés substitute user (cambiar usuario), se utiliza principalmente para cambiar de usuario en una terminal. escribiendo el comando SU seguido del nombre de usuario con el que queremos ingresar: su [nombre del usuario] Esto es útil para administrar bases de datos, servidores web y otros servicios que disponen de usuarios específicos para realizar diferentes tareas de administración. SUDO == SUDO permite ejecutar comandos como otro usuario (incluso como root) pidiendo nuestra propia contraseña en lugar de la del usuario requerido. La ventaja de utilizar SUDO es que sólo se ejecuta el comando solicitado simulando ser otro usuario, sin cambiar verdaderamente el usuario actual. Escribiendo SUDO justo antes del comando que quieras ejecutar, por ejemplo: sudo apt-get install {nombre-del-paquete} Después de ingresar tu contraseña tendrás 15 minutos para seguir utilizando la cuenta como superusuario. Pasado este tiempo volverás a tener los privilegios de tu cuenta de usuario normal. Pero si queremos tener privilegios de superusuario de forma permanente sin necesidad de ingresar SUDO varias veces podemos ejecutar en la terminal: ![](https://i.imgur.com/EMhRfQa.png) SUDO SU == Antes de cerrar la terminal, es recomendable volver a nuestro propio usuario, esto se logra con un simple exit. Para saber con qué usuario estas logueado basta con observar el símbolo de la línea de comandos. usuario@usuario-desktop:~$ Es la cuenta del usuario normal ($) root@usuario-desktop:~# Es la cuenta de root (#) ![](https://i.imgur.com/IdMQ9fE.png) Conclusión == La importancia del superusuario en Linux se mide en términos de seguridad, e reduce el daño accidental o malicioso ejecutado por otro usuario, cualquier daño realizado como un usuario normal se mantiene contenido dentro de ese dominio, de manera que no afecta al sistema o a otros usuarios. Además es mucho más difícil que el software malicioso (malware) que se origina en equipos remotos pueda acceder a los archivos críticos del sistema (que generalmente pertenecen a la cuenta de root). Utilizar una cuenta de superusuario evita cometer menos errores. # MAQUINA VIRTUAL **¿Qué es máquina virtual?** una máquina virtual es un software que permite emular el funcionamiento de un ordenador dentro de otro ordenador gracias a un proceso de encapsulamiento que aísla a ambos. ![](https://i.imgur.com/NBAAjkz.png) ¿Para qué sirven las máquinas virtuales? == Existen diversos usos para las máquinas virtuales, pero ya que permiten emular casi cualquier sistema operativo estándar (Windows, GNU/Linux, MacOS, Android, etc.), y dado que se ejecutan en una capa de software diferente y totalmente aislada, uno de los usos más frecuentes es el de probar diferentes sistemas operativos, programas o configuraciones con total seguridad para tu ordenador real ya que, si algo falla en la máquina virtual, este fallo no afectará en absoluto al ordenador que la ejecuta. De ese modo, si por ejemplo, sospechas que un archivo que te han enviado pudiera estar infectado por un virus o software malicioso, puedes ejecutarlo en una máquina virtual para comprobar su fiabilidad. Si no sucede nada, podrás usarlo en tu equipo. En caso contrario, infectará solo a la máquina virtual y tu equipo se mantendrá inmune al ataque. # Tu equipo se mantendrá seguro Otra característica de las máquinas virtuales es que no tienen “conciencia” de que son máquinas virtuales, por lo que, a todos los efectos, se comportan como ordenadores reales. Esta cualidad permite, entre otras cosas, recrear entornos de red en el que puedes conectar varias máquinas virtuales ejecutadas en el mismo ordenador y conectarlas entre sí en red, recreando la configuración que tendrían diferentes ordenadores reales. Esto puede serte muy útil para aprender cómo funcionan las redes informáticas y ahorrarte muchos euros ya que no necesitarás tener varios ordenadores reales para probar la seguridad de tus redes. Servicios de alojamiento web y almacenamiento en la nube Esta solución es habitual en los servicios de alojamiento web y almacenamiento en la nube en las que se optimizan los costes de los servidores ejecutando una máquina virtual para alojar los archivos de usuarios distintos. De ese modo, en lugar de necesitar un servidor para cada uno de los usuarios, todos comparten el mismo hardware dividido en varias máquinas virtuales aisladas entre sí. # Ejemplos de maquinas virtuales: 5 programas para ejecutar máquinas virtuales: - **• VirtualBox (Windows/Linux/Mac,)** **• Parallels (Mac, $79,99)** **• VMware (Windows/Linux/Mac,)** **• QEMU (Linux,)** **• Windows Virtual PC (Windows,)** Hablemos de las máquinas virtuales: **• VirtualBox (Windows/Linux/Mac, gratis):** VirtualBox tiene unos cuantos fieles gracias a que no cuesta nada, es multiplataforma y tiene un gran número de características que hacen que ejecutar y mantener las máquinas virtuales sea pan comido. Las descripciones y los parámetros de las máquinas virtuales se almacenan en archivos de texto XML sin formato para facilitar la portabilidad y el intercambio de carpetas. Su función “Guest Additions”, disponible para Windows, Linux, Solaris y OS/, permite la instalación un software en la máquina virtual que otorga privilegios adicionales a la máquina host para tareas como compartir archivos, compartir unidades y periféricos, haciendo que VirtualBox sea más fácil de usar. ![](https://i.imgur.com/8KThc5O.png) **• Parallels (Mac, $79,99):** Parallels es la aplicación más vendida para ejecutar máquinas virtuales en Mac. Este software tiene enlace directo, gracias a la optimización de chips Intel y AMD, al hardware del PC host con enfoque selectivo: al saltar a la máquina virtual para trabajar, la máquina host renuncia automáticamente a la potencia de procesamiento. Parallels también tiene portapapeles sincronizado, carpetas compartidas y soporte para impresoras y periféricos transparentes. ![](https://i.imgur.com/Fsd2pzS.png) **• VMware (Windows/Linux/Mac, básico: gratis, pro: $200+):** VMware para Windows y Linux viene en dos sabores: VMware Workstation Player y VMware Workstation Pro. VMware Workstation Player es una solución gratuita dirigida a usuarios casuales que necesitan crear y ejecutar máquinas virtuales, pero no necesitan soluciones avanzadas a nivel de empresa. VMware Workstation Pro incluye todas las características de VMware Workstation Player —fácil creación de máquinas virtuales, optimización de hardware, impresión sin drivers— y añade la posibilidad de clonar máquinas, crear varias imágenes o snapshots del sistema operativo, y opciones para probar software y grabar los resultados dentro de la máquina virtual. También hay dos versiones para Mac: VMware Fusion, por 80 dólares, y VMware Fusion Pro, por 200 dólares. ![](https://i.imgur.com/5vjoqGk.png) **• QEMU (Linux, gratis):** QEMU es una poderosa herramienta de virtualización para máquinas Linux que ejecuta el código del sistema invitado directamente en el hardware del host, puede emular máquinas de distinto hardware con traducción dinámica y admite el cambio automático de tamaño de los discos virtuales. Pero donde QEMU brilla especialmente, sobre todo entre aquellos a los que les gusta empujar los límites de la virtualización y llevar sus máquinas virtuales con ellos, es en ejecutándose en hosts sin permisos de administrador. A diferencia de casi todos los emuladores que hay por ahí, QEMU no requiere acceso de administrador para ejecutarse, por lo que es un candidato perfecto para la construcción de máquinas virtuales portátiles ![](https://i.imgur.com/eoZQmP2.png) **• Windows Virtual PC (Windows, gratis):** A diferencia de los demás, Windows Virtual PC existe únicamente para emular otras versiones anteriores de Windows. Si necesitas ejecutar un programa que solo funciona en Windows XP o probar la compatibilidad de un software con Vista, Windows Virtual PC te tiene cubierto. Es limitado, cierto, pero para las personas que trabajan en un entorno estrictamente de Windows, como la mayor parte de la gente, Windows Virtual PC hace su trabajo. ![](https://i.imgur.com/e7R69ts.png) GRACIAS POR SU ATENCIÓN == ![](https://i.imgur.com/1loYpLz.png) **Usted no profe :heart_decoration:** **Ponganos 100 plis**