Guía de comandos para la gestión de Permisos en Linux

Document Details

EffortlessDiopside4159

Uploaded by EffortlessDiopside4159

Fabio Guevara

Tags

Linux commands system administration file permissions computer science

Summary

Este documento describe los comandos para gestionar grupos y permisos en Linux, incluyendo ejemplos de comandos como "groups", "addgroup", "delgroup", "newgrp", "chmod", y "chown". Se explica la notación simbólica y octal para establecer permisos, así como la forma de listar y gestionar los permisos usando comandos como "ls -l". También cubre la gestión de usuarios y grupos, y el proceso de reinicio y parada.

Full Transcript

6.8.2.3. InTéRPReTe De cOMAnDOs =============================== - **groups** - **Muestra los grupos a los que pertenece el usuario** - **Diferencia entre grupo principal y secundarios** - **addgroup** - **Permite crear un grupo o añadir una cuenta de usuario a un g...

6.8.2.3. InTéRPReTe De cOMAnDOs =============================== - **groups** - **Muestra los grupos a los que pertenece el usuario** - **Diferencia entre grupo principal y secundarios** - **addgroup** - **Permite crear un grupo o añadir una cuenta de usuario a un grupo ya existente** - **delgroup** - **Permite eliminar un grupo del sistema y/o dejar que un usuario deje de pertenecer a un grupo** ![](media/image2.png)6.8.2.3. InTéRPReTe De cOMAnDOs ==================================================== ###### [Comandos relacionados con la gestión de grupos] - **groupadd** - **Permite crear un nuevo grupo** - **groupdel** - **Permite borrar un grupo existente** - **groupmod** - **Permite modificar las propiedades de un grupo** 6.8.2.3. InTéRPReTe De cOMAnDOs =============================== ###### ![](media/image2.png)[Comandos relacionados con la gestión de grupos] - **newgrp** - **cambia el grupo primario de usuario.** - **En el ejemplo anterior pablo tiene como grupo principal usuarios y como** - **Cuando pablo inicia sesión y crea un fichero el propietario será pablo y el grupo al que pertenezca este fichero sera usuarios (ya que es el grupo principal del usuario). Si queremos que se cree un fichero y que el grupo sea profesores utilizaremos este comando.** 1. PeRMisOs ======== 1. **Introducción** 2. **Establecer permisos. Comando chmod. Notaciones.** 3. **Lista de control de accesos (ACL)** 4. **Permisos especiales** 1. ![](media/image2.png)inTRODucción. ================================== - **La asignación correcta de permisos en la administración de sistemas operativos es crucial para evitar usos o accesos indebidos y/o pérdida de datos.** - **Mediante el comando ls y algunas de sus opciones podemos ver los permisos asignados por el sistema de ficheros a los distintos directorios y archivos** 1. inTRODucción. ============= - ##### ![](media/image2.png)\$ ls --l - **Muestra un listado de los directorios y archivos de la ubicación solicitada** - **Muestra información sobre estos directorios y archivos.** - **Entre esta información muestra información sobre los permisos que hay asignados a esos directorios y archivos** 1. ![](media/image1.png)inTRODucción. ================================== - ##### \$ ls --l ![](media/image2.png)inTRODucción. ================================== - ##### [Permisos] - **El primer carácter indica si es directorio (d) o no** - **A continuación, tenemos 3 grupos de 3 caracteres (rwx) que indican los** - **Usuario propietario** - **Grupo propietario** - **Resto de usuarios** - **rwx ó -** - **r -- Read (permiso de lectura)** - **w -- Write (permiso de escritura)** - **x -- Execute (permiso de ejecución)** - **- - No tiene asignado ese permiso** 1. inTRODucción. ============= - **[Permisos]** - **Ejemplo** - **[Directorio] [Videos]** - **Directorio (d)** - **Usuario propietario (rwx) -- Permisos de lectura, escritura y ejecución (acceso al directorio)** - **Grupo propietario (r-x) -- Permiso de lectura y ejecución (acceso)** - **Resto de usuarios (r-x) -- Permiso de lectura y ejecución (acceso)** 2. ![](media/image1.png)EsTABleceR PeRMisOs. COMAnDO chMOD. NOTAciOnes. -------------------------------------------------------------------- - ##### El comando que generalmente se utiliza en Linux para [establecer o] [modificar] los permisos de un archivo o directorio es el comando *chmod.* - **Comando chmod + notación determinada:** - ***Notación simbólica*** - ***Notación octal*** 2. ![](media/image2.png)EsTABleceR PeRMisOs. COMAnDO chMOD. NOTAciOnes. -------------------------------------------------------------------- - **Tabla resumen con las notaciones simbólicas y octal que permiten cambiar los permisos** 2. EsTABleceR PeRMisOs. COMAnDO chMOD. NOTAciOnes. ----------------------------------------------- ##### ![](media/image2.png)[Notación simbólica] - **Permite añadir (+), eliminar (-) o asignar (=) permisos** - **[Ejemplo]** ![](media/image1.png)EsTABleceR PeRMisOs. COMAnDO chMOD. NOTAciOnes. -------------------------------------------------------------------- ##### [Notación simbólica] - **Permite añadir (+), eliminar (-) o asignar (=) permisos** - **[Ejemplo]** ![](media/image8.jpeg) EsTABleceR PeRMisOs. COMAnDO chMOD. NOTAciOnes. ----------------------------------------------- ##### ![](media/image2.png)[Notación octal] - **Hace uso de [3 valores numéricos] para establecer los permisos sudo chmod XYZ \** - **X -\> Corresponde a los permisos relacionados con el usuario propietario** - **Y -\> Corresponde a los permisos relacionados con el grupo propietario** - **Z -\> Corresponde a los permisos relacionados con el resto de usuarios** 6.8.3.2. EsTABleceR PeRMisOs. COMAnDO chMOD. NOTAciOnes. -------------------------------------------------------- - **Los valores numéricos utilizados son:** - **4 -\> Permiso de lectura (r)** - **2 -\> Permiso de escritura (w)** - **1 -\> Permiso de acceso o ejecución (x)** - **Para establecer varios permisos a la vez, se [suman] los valores** - **5 -\> Permiso de lectura y ejecución (rx)** - **6 -\> Permiso de lectura y escritura (rw)** - **7 -\> Todos los permisos (rwx)** 2. ![](media/image1.png)EsTABleceR PeRMisOs. COMAnDO chMOD. NOTAciOnes. -------------------------------------------------------------------- ##### [Notación octal] - **[Ejemplo -- Todos los permisos]** ![](media/image10.jpeg) ![](media/image1.png)6.8.3.2. EsTABleceR PeRMisOs. COMAnDO chMOD. NOTAciOnes. ----------------------------------------------------------------------------- ##### [Notación octal] - **[Ejemplo -- Permisos diferentes]** ![](media/image12.jpeg) ![](media/image1.png)6.8.3.2. EsTABleceR PeRMisOs. COMAnDO chMOD. NOTAciOnes. ----------------------------------------------------------------------------- - **GNU/Linux permite cambiar al propietario de cualquier fichero o directorio (y de forma opcional, el grupo propietario)** - **Cambio de usuario propietrario (y también permite cambiar su grupo propietario)** - **Comando chown** - **Cambio de grupo propietario** - **Comando chgrp** ![](media/image1.png)6.8.3.2. EsTABleceR PeRMisOs. COMAnDO chMOD. NOTAciOnes. ----------------------------------------------------------------------------- ##### [Usuario propietario] - **Ejemplo** ![](media/image13.png) 6.8.3.3. LisTA De cOnTROl De AccesOs (ACL) ------------------------------------------ - **Forma avanzada de gestionar permisos sobre archivos y directorios:** - **Asignar [permisos específicos a usuarios o grupos adicionales] (más allá del propietario y del grupo principal).** - **Definir [permisos predeterminados para archivos y subdirectorios] creados dentro de un directorio.** ![](media/image1.png)6.8.3.3. LisTA De cOnTROl De AccesOs (ACL) --------------------------------------------------------------- - **Comandos:** - **getfacl** - **Muestra las ACLs asociadas a un archivo o directorio** - **setfacl** - **Permite modificar las ACLs** 6.8.3.3. LisTA De cOnTROl De AccesOs (ACL) ------------------------------------------ - ![](media/image2.png)**[Tipos de entradas en ACL]:** - **user:: Permisos del propietario del archivo.** - **user:usuario: Permisos específicos para un usuario.** - **group:: Permisos del grupo propietario.** - **group:grupo: Permisos específicos para un grupo.** - **mask:: Máscara de permisos (define los permisos máximos aplicables a las ACLs** - **other:: Permisos para otros usuarios.** 3. LisTA De cOnTROl De AccesOs (ACL) --------------------------------- - **[Máscara de ACL]** - **La máscara (mask) define los permisos efectivos más altos que pueden tener los** - **Si la máscara no permite un permiso (por ejemplo, escritura), ningún usuario o grupo** 4. ![](media/image1.png)PERMISOS ESPECIALES ---------------------------------------- - **SUID (Set User ID)** - **GUID (Set Group ID)** - **Stickybit** 2. ![](media/image2.png)SERVICIOS Y PROCESOS ========================================= 5. **Servicios del sistema** 6. **Procesos** 1. seRviciOs Del sisTeMA ===================== - **Los [servicios del sistema] (o también llamados demonios, Linux) son [procesos] que se caracterizan por:** - **Se ejecutan en segundo plano** - **Se ejecutan de forma independiente del usuario** - **Ofrecen una determinada funcionalidad.** - **Existen multitud de servicios que ofrecen [todo tipo de funcionalidades]:** - **gestionar las conexiones de red, monitorizar el sistema, comprobar actualizaciones, comprobar la seguridad del sistema, etc.** 1. ![](media/image2.png)seRviciOs Del sisTeMA ========================================== - **[Administrador de servicios]** - **Permite establecer que sistemas se ejecutan al iniciar el sistema** - **Permiten parar, ejecutar o reanudar los servicios del sistema que se están ejecutando** - **Los [servicios] son unidades que se pueden gestionar a través del comando systemctl** - **Se pueden realizar diferentes operaciones: ver el estado, parar, cargar, iniciar, etc.** 1. seRviciOs Del sisTeMA ===================== - ![](media/image2.png)**[Ver todos los servicios de nuestro sistema]** - **[Diversas operaciones con servicios]:** 6.8.4.5. PROCESOS ================= - **Son los procesos asociados a la ejecución de aplicaciones por parte de los usuarios** - **Por ejemplo, un editor de texto, un navegador web, etc.** - **Algunos de los comandos relacionados con procesos que hay en el sistema son los siguientes:** - **Comando ps** - **Comando kill** - **Comando top / htop** - **Comando pstree** ![](media/image1.png)6.8.4.5. PROCESOS ====================================== - **[Comando ps]** - **Permite ver los procesos que se ejecutan en el equipo** - ![](media/image16.png)**PID -- Identificador de proceso** - **TTY - terminal** - **TIME -- Tiempo de uso de CPU** - **CMD - Comando** 6.8.4.5. PROCESOS ================= - ![](media/image2.png)**[Comando ps]** - **Ver todos los procesos que se están ejecutando en el sistema** 6.8.4.5. PROCESOS ================= - ![](media/image2.png)**[Comando ps]** - **Ver todos los procesos que se están ejecutando en el sistema con detalles:** 6.8.4.5. PROCESOS ================= - ![](media/image2.png)**[Comando ps]** - **La información que obtenemos que muestra la anterior imagen es:** - **USER: usuario que ejecutqa el proceso.** - **PID: identificado (ID) del proceso.** - **%CPU: porcentaje de tiempo de uso deCPU desde que el proceso se inicio.** - **%MEM: porcentaje de memoria física utilizada.** - **VSZ: memoria virtual del proceso medida en KB** - **RSS: es la cantidad de memoria física no swappeada que la tarea a utilizado (en KB).** - **TT: terminal (tty) que controla el proceso.** - **STAT: código de estado del proceso.** - **STARTED: fecha de inicio del proceso.** - **TIME: tiempo de CPU acumulado.** - **COMMAND: comando con todos sus argumentos que ejecuta el proceso.** 6.8.4.5. PROCESOS ================= - ![](media/image2.png)**[Comando kill]** - **Permite enviar señales a los procesos** - **La más utilizada es la señal de eliminar el proceso** - **Para conocer qué señales podemos enviar a un proceso** 6.8.4.5. PROCESOS ================= - ![](media/image2.png)**[Comando top]** - **Permite ver los procesos que se están ejecutando en el sistema** - **Informa, en tiempo real, sobre la actividad del sistema.** - **Proporciona información sobre la carga del sistema operativo, grado de utilización de la CPU, memoria y swap, y los procesos que se encuentran en ejecución.** 6.8.4.5. PROCESOS ================= - ![](media/image2.png)**[Comando pstree]** - **Permite ver el árbol de procesos del sistema** - **Permite ver el árbol de procesos del sistema y el pid de cada proceso** 3. AUTOMATIZACIÓN/PROGRAMACIÓN DE TAREAS ===================================== 7. **Programación de tareas** 8. **Reinicio y parada del sistema** 1. ![](media/image2.png)PROgRAMAción De TAReAs =========================================== - **La programación de tareas permite programar la ejecución de un determinado programa en un momento determinado.** - **Por ejemplo, se puede programar una copia de seguridad, enviar un fichero, comprobar la seguridad del sistema, enviar un informe, etcétera** - **Para la programación de tareas en [Linux] tenemos:** - **Servicio/demonio: cron** - **Archivo: crontab** - **[[https://www.redeszone.net/tutoriales/servidores/cron-crontab-linux-programar-](https://www.redeszone.net/tutoriales/servidores/cron-crontab-linux-programar-tareas/#447735-que-es-cron)tareas/\#447735-]** 1. PROgRAMAción De TAReAs ====================== - **[cron]** - **Demonio o servicio de Linux que se ejecuta desde el mismo instante en el que arranca el sistema operativo.** - **Cron se encarga de comprobar si existe alguna tarea (job) para ser ejecutada, de acuerdo a la hora configurada en el propio sistema operativo.** 1. ![](media/image2.png)PROgRAMAción De TAReAs =========================================== - **[cron]** - **Antes de programar las tareas hay que comprobar que el servicio cron se encuentra en ejecución en el sistema mediante el comando:** 1. PROgRAMAción De TAReAs ====================== - **[crontab]** - **Es un archivo de texto con un contenido especial y específicamente diseñado para que sea leído correctamente por Cron y proceder con la ejecución que se haya programado.** ![](media/image19.jpeg) 1. PROgRAMAción De TAReAs ====================== - **[crontab]** - **[Ejemplo]** ![](media/image20.png) - **Se ejecuta el script comprobar\_seguridad.sh todos los días a las 0:00h y se ejecuta copia\_seguridad.sh el primer día de cada mes a las 0:00h.** 1. PROgRAMAción De TAReAs ====================== - **[Archivos cron por defecto]** - ![](media/image21.png)**Otra forma de poder programar tareas es guardar el script que quiere ejecutar en las siguientes carpetas de configuración de cron** - **Sólo el usuario root puede modificar los scripts que ejecuta crontab.** 1. PROgRAMAción De TAReAs ====================== - **[Archivos cron por defecto]** - **Para saber en el momento (hora, minuto, dia) en que se ejecutan los script contenidos en las carpetas citadas anteriormente, lo haremos editando el fichero/etc/crontab.** ![](media/image22.jpeg) 1. PROgRAMAción De TAReAs ====================== - ![](media/image2.png)**[Comando Crontab]** - **crontab -l: permite ver las tareas programadas que existen para el usuario con el que estamos trabajando** - **crontab -r: permite eliminar las tareas programadas que existan.** 6.8.5.2. ReiniciO y PARADA Del sisTeMA ====================================== - ![](media/image2.png)**[A través de la interfaz gráfica]** **[A través de la terminal:]** - **[Reboot]** - **[Halt]** - **[Shutdown]** ![](media/image25.jpeg) 4. cOPiAs De seguRiDAD =================== 9. **Introducción** 10. **Herramientas básicas** 11. **Herramientas de clonación de discos** 1. ![](media/image2.png)inTRODucción ================================= - **Para realizar copias de seguridad del sistema, en Linux podemos destacar dos grandes grupos de herramientas:** - **Herramientas o comandos básicos** - **Herramientas para clonación de discos duros** 2. heRRAMienTAs BÁsicAs ==================== - **Nos referimos a herramientas básicas cuando hablamos de comandos básicos de Linux que se pueden utilizar en todas las distribuciones.** - **Existen distribuciones que tienen herramientas propias para realizar copias de seguridad, pero algunas presentan el inconveniente de que es necesario utilizar la misma distribución y herramienta para recuperar los datos de la copia.** ![](media/image26.png)6.8.6.2. heRRAMienTAs BÁsicAs =================================================== - **Comando que se usa para hacer una copia de seguridad de sistemas de archivos completos** - **Tiene las siguientes características:** - **Se pueden hacer copias en varios volúmenes** - **Se pueden salvar ficheros de cualquier tipo, incluyendo ficheros de dispositivos.** - **Todos los permisos, propietarios y fechas de modificación se salvaguardan.** - **Se pueden realizar copias de seguridad incrementales además de las completas.** - **También permite guardan ficheros individuales, aunque no es lo habitual.** - **Sintaxis:** - **dump \[opciones\] \[archivo-volcado\] \[Sistema de ficheros, archivo o directorio\]** 6.8.6.2. heRRAMienTAs BÁsicAs ============================= - **Las opciones más comunes son:** - **-"nivel"** - **0 implica backup completo** - **mayor que 0 implica copiar sólo los ficheros nuevos o modificados desde el último backup de nivel inferior** - **-f Realizamos copia de seguridad del fichero indicado.** - **-u Actualiza el fichero /etc/dumpdates con el historial de las copias de seguridad realizadas.** - **-v Amplia la información de salida (modo verbose)** - **-e Excluye "inodos" cuando hace la copia de seguridad** - **-z Se activa la compresión.** - **[Ejemplo]** - **\# dump -0u -f /dev/st0 /home** ![](media/image26.png)6.8.6.2. heRRAMienTAs BÁsicAs =================================================== - **[Sintaxis]** - **restore \[acciones\] \[opciones\] \[ficheros a recuperar\]** - **Las opciones más comunes son:** - **-r Restaura la copia completa.** - **-t Muestra los contenidos de la copia.** - **-x Extrae sólo los ficheros indicados.** - **-l Se accede al modo interactivo.** - **-f Especifica el dispositivo o fichera de la copia.** - **-a Nos pregunta de qué volumen extraer los ficheros** - **-i modo interactivo** - **i modo interactivo** - **permite ver los ficheros de la copia** - **con add indicamos los ficheros a extraer y con extract los extraemos** - **usar ? para ayud** 6.8.6.2. heRRAMienTAs BÁsicAs ============================= - **[Ejemplos]** - **restaurar el backup de /dev/st0** - **\# restore -rf /dev/st0** - **restaurar sólo un fichero** - **\# restore -xaf /dev/st0 fichero** ![](media/image26.png)6.8.6.2. heRRAMienTAs BÁsicAs =================================================== - **Es una utilidad que le permite sincronizar dos carpetas remotas y hasta dos ubicaciones locales** - **Permite minimizar la transferencia de archivos, moviendo solamente partes de los archivos que se han modificado.** - **[Sintáxis básica]** - **rsync \[opciones\] origen \[destino\]** 6.8.6.2. heRRAMienTAs BÁsicAs ============================= ![](media/image26.png)6.8.6.2. heRRAMienTAs BÁsicAs =================================================== 6.8.6.2. heRRAMienTAs BÁsicAs ============================= - **Ejemplos** - **Copia contenido de dir1 en dir2 de forma recursiva pero no preserva ni copia permisos** - **rsync -r dir1/ dir2** - **Copia contenido de dir1 en dir2 de forma recursiva preservando permisos y estampas de tiempo** - **rsync -vazh dir1/ dir2** - **Copiar/sincronizar elementos remotamente** - **rsync -avz /var/www/vhosts/prueba/proxadmin/ root\@195.160.0.78:/home/** ![](media/image26.png)6.8.6.3. HeRRAMienTAs De clOnAción De DiscOs ================================================================== - **Permite crear copias de discos y particiones del sistema** - **Sintaxis básica** - **\$ sudo dd if=\ of=\** - **Si tenemos dos discos duros (/dev/sda y /dev/sdb)** - **\# sudo dd if=/dev/sda of=/dev/sdb** WeBMin ====== - **[Webmin]** - **Es una interfaz web que permite administrar el sistema de una forma cómoda y sencilla a través de cualquier equipo utilizando un navegador web.** - **Permite administrar los usuarios del sistema, el rendimiento del equipo, las copias de seguridad, etc.** ![](media/image2.png)6.9. WeBMin ================================ - **[Instalación]** - **Descargar de su página oficial** - [**[https://webmin.com/]**](https://webmin.com/) - **Instalarlo manualmente en nuestro Ubuntu** - **[Terminal]** - **[Interfaz gráfica]** - **Haciendo doble click sobre el paquete y pulsando el botón Instalar** 6.9. WeBMin =========== - ![](media/image29.png)**[Acceso a Webmin]** - **Una vez instalado, abrimos un navegador** - **Ponemos la siguiente dirección:** - [**[https://localhost:10000]**](https://localhost:10000/) 6.9. WeBMin =========== - ![](media/image30.jpeg)**En la página principal muestra un resumen del sistema y desde el menú de la izquierda podemos acceder a las diferentes herramientas de administración del sistema.** 6.9. WeBMin =========== - ![](media/image31.jpeg)**Por ejemplo, a continuación, se muestra la herramienta Users and Groups que permite administrar los usuarios y grupos del sistema.**

Use Quizgecko on...
Browser
Browser