0% encontró este documento útil (0 votos)
2 vistas17 páginas

Usuarios y Permisos en Linux: Guía Básica

Este documento proporciona una introducción a la gestión de usuarios, autenticación y permisos en Linux, enseñando a los estudiantes a identificar usuarios, cambiar contraseñas y modificar permisos de archivos. También cubre la navegación por el sistema de archivos, la gestión de carpetas y archivos, así como el trabajo con procesos y recursos del sistema. Al finalizar, los estudiantes deben ser capaces de realizar operaciones básicas en la terminal de Linux utilizando comandos como whoami, passwd, ls, y ps.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2 vistas17 páginas

Usuarios y Permisos en Linux: Guía Básica

Este documento proporciona una introducción a la gestión de usuarios, autenticación y permisos en Linux, enseñando a los estudiantes a identificar usuarios, cambiar contraseñas y modificar permisos de archivos. También cubre la navegación por el sistema de archivos, la gestión de carpetas y archivos, así como el trabajo con procesos y recursos del sistema. Al finalizar, los estudiantes deben ser capaces de realizar operaciones básicas en la terminal de Linux utilizando comandos como whoami, passwd, ls, y ps.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Capítulo 1: Introducción a Usuarios, Autenticación y Permisos en Linux

Objetivo

Este laboratorio está diseñado para que los estudiantes entiendan los conceptos
fundamentales de usuarios, autenticación y permisos en sistemas operativos Linux
mediante comandos básicos en la terminal Bash. Al finalizar este capítulo, los
estudiantes podrán:

1. Identificar el usuario actual.


2. Cambiar entre usuarios, incluyendo el usuario administrador (root).
3. Cambiar la contraseña de un usuario.
4. Comprender el rol de sudo en Linux.
5. Entender y modificar los permisos de archivos y directorios.

Parte 1: Conociendo el usuario actual

En Linux, todos los procesos y recursos están vinculados a un usuario. Para empezar,
identificaremos el usuario que está ejecutando la terminal.

Ejercicio 1: Identificar el usuario actual

1. Abre la terminal.
2. Escribe el siguiente comando:

$ whoami

Salida esperada:

$ usuario_actual

Este comando muestra el nombre del usuario que inició sesión y está ejecutando
la terminal.

3. Obtén más información del usuario actual con:

$ id

Salida esperada:

uid=1000(usuario_actual) gid=1000(grupo)
groups=1000(grupo),27(sudo)

o uid: Identificador del usuario.


o gid: Identificador del grupo principal del usuario.
o groups: Grupos adicionales a los que pertenece el usuario.

Explicación

En Linux:
• Cada usuario tiene un identificador único (uid).
• Los grupos son conjuntos de usuarios que comparten permisos para archivos y
procesos.

Parte 2: Cambiar de usuario

En Linux, el sistema puede tener múltiples usuarios. Uno de ellos, llamado root, es el
administrador con control total.

Ejercicio 2: Cambiar a otro usuario (root)

1. Intenta cambiar al usuario administrador usando:

$ su

2. Si se solicita, ingresa la contraseña del usuario root.


3. Verifica el cambio de usuario escribiendo:

$ whoami

Salida esperada:

root

Esto confirma que ahora estás operando como el usuario root.

4. Vuelve al usuario anterior escribiendo:

$ exit

Este comando cierra la sesión del usuario actual y regresa al usuario original.

Uso del comando sudo

En Linux, el comando sudo permite a un usuario ejecutar tareas administrativas (como


root) temporalmente sin cambiar completamente al usuario root.

1. Prueba usar sudo con un comando básico:

$ sudo whoami

2. Ingresa la contraseña de tu usuario (no la de root) si se solicita. Salida


esperada:

root

Esto demuestra que sudo ejecutó el comando como si fueras root.

Nota sobre seguridad


El acceso a sudo está restringido a usuarios autorizados que pertenezcan al grupo sudo.
Puedes verificar si un usuario pertenece al grupo sudo con el comando:

groups

Parte 3: Cambiar la contraseña de un usuario

Cada usuario tiene una contraseña asociada que garantiza su autenticación en el sistema.

Ejercicio 3: Cambiar tu propia contraseña

1. Cambia tu contraseña escribiendo:

$ passwd

2. La terminal solicitará tu contraseña actual. Ingresa la contraseña.


3. Luego, se te pedirá que ingreses y confirmes una nueva contraseña.

Salida esperada:

Changing password for usuario_actual.


Current password:
New password:
Retype new password:
passwd: password updated successfully

Ejercicio 4: Cambiar la contraseña de otro usuario (como root)

1. Cambia al usuario root:

$ su

2. Cambia la contraseña de otro usuario (por ejemplo, usuario2):

$ passwd usuario2

3. Sigue el mismo procedimiento para establecer una nueva contraseña.

Parte 4: Explorando permisos en Linux

Cada archivo o directorio tiene tres tipos de permisos (lectura, escritura y ejecución)
aplicados a tres categorías: propietario, grupo y otros.

Ejercicio 5: Listar permisos de archivos

1. Navega a tu directorio personal:

$ cd ~
2. Lista los archivos y sus permisos con:

$ ls -l

Salida esperada:

-rw-r--r-- 1 usuario grupo tamaño fecha [Link]


drwxr-xr-x 2 usuario grupo 4096 fecha carpeta

o Primer carácter: Tipo (- archivo, d directorio).


o Permisos: Tres bloques:
 Propietario: rw- (lectura y escritura).
 Grupo: r-- (solo lectura).
 Otros: r-- (solo lectura).

Ejercicio 6: Cambiar permisos de un archivo

1. Crea un archivo:

$ touch [Link]

2. Cambia sus permisos para que solo el propietario pueda leer y escribir:

$ chmod 600 [Link]

3. Verifica los permisos:

$ ls -l [Link]

Salida esperada:

-rw------- 1 usuario grupo tamaño fecha [Link]

Ejercicio 7: Modificar permisos de directorios

1. Crea un directorio:

$ mkdir mi_carpeta

2. Cambia los permisos para que todos los usuarios puedan leer, escribir y entrar en
él:

$ chmod 777 mi_carpeta

3. Verifica los permisos:

$ ls -ld mi_carpeta

Salida esperada:

drwxrwxrwx 2 usuario grupo 4096 fecha mi_carpeta


Resumen del capítulo

En este capítulo, aprendiste a:

1. Identificar el usuario actual y cambiar de usuario.


2. Cambiar contraseñas utilizando passwd.
3. Usar sudo para ejecutar comandos administrativos.
4. Ver y modificar permisos de archivos y directorios usando ls y chmod.

Tareas adicionales

1. Cambia los permisos de un archivo para que solo el grupo pueda leerlo.
2. Investiga qué ocurre si quitas los permisos de ejecución de un directorio:

$ chmod -x mi_carpeta

Capítulo 2: Navegación por el Sistema de Archivos y Gestión de Carpetas


y Archivos

Objetivo

Este capítulo te enseñará cómo navegar por el sistema de archivos de Linux y realizar
operaciones básicas de gestión de carpetas y archivos. Al finalizar este capítulo, serás
capaz de:

1. Comprender la estructura del sistema de archivos en Linux.


2. Navegar entre directorios utilizando comandos básicos.
3. Crear, mover, copiar y eliminar archivos y carpetas.
4. Utilizar comandos útiles para explorar y gestionar el contenido de los
directorios.

Parte 1: Estructura del sistema de archivos

El sistema de archivos en Linux tiene una estructura jerárquica similar a un árbol. El


directorio raíz (root) es / y contiene subdirectorios importantes:

• /home: Directorios personales de los usuarios.


• /etc: Archivos de configuración del sistema.
• /var: Archivos variables (logs, colas de impresión, etc.).
• /tmp: Archivos temporales.
• /usr: Aplicaciones y archivos de usuario.

Para ver la estructura de directorios:

$ ls /
Parte 2: Navegación por el sistema de archivos

En Linux, puedes moverte entre directorios usando el comando cd.

Ejercicio 1: Moverse entre directorios

1. Mueve al directorio raíz:

$ cd /

Verifica dónde estás:

$ pwd

Salida esperada:

2. Navega al directorio personal:

$ cd /home/tu_usuario

Alternativamente, puedes usar el atajo:

$ cd ~

3. Retrocede un nivel en la jerarquía:

$ cd ..

4. Vuelve al directorio anterior:

$ cd -

Parte 3: Explorando el contenido de los directorios

El comando ls muestra el contenido de un directorio.

Ejercicio 2: Listar archivos y directorios

1. Lista los elementos en el directorio actual:

$ ls

2. Lista el contenido con detalles adicionales (permisos, tamaño, fecha):

$ ls -l

3. Muestra los archivos ocultos (los que empiezan con .):


$ ls -a

4. Combina opciones para un listado detallado incluyendo archivos ocultos:

$ ls -la

Comandos útiles para explorar:

• tree: Muestra una estructura visual en forma de árbol. Si no está instalado, usa:

$ sudo apt install tree

Luego ejecuta:

$ tree

Parte 4: Gestión de carpetas

Crear, mover, copiar y eliminar carpetas son operaciones fundamentales.

Ejercicio 3: Crear directorios

1. Crea un directorio llamado pruebas en tu carpeta personal:

$ mkdir ~/pruebas

2. Verifica su creación:

$ ls ~

3. Crea un directorio con subdirectorios utilizando -p:

$ mkdir -p ~/pruebas/subdirectorio1/subdirectorio2

Ejercicio 4: Mover y renombrar directorios

El comando mv se usa tanto para mover como para renombrar.

1. Renombra pruebas a proyectos:

$ mv ~/pruebas ~/proyectos

2. Mueve el directorio proyectos al directorio raíz (requiere permisos):

$ sudo mv ~/proyectos /

Ejercicio 5: Eliminar directorios

1. Elimina un directorio vacío:


$ rmdir ~/proyectos

2. Elimina un directorio con contenido utilizando rm -r:

$ rm -r ~/proyectos

Precaución: Usa el comando rm con cuidado, ya que elimina archivos


permanentemente.

Parte 5: Gestión de archivos

Los comandos para gestionar archivos son similares a los de carpetas.

Ejercicio 6: Crear archivos

1. Crea un archivo vacío llamado [Link]:

$ touch [Link]

2. Verifica su creación:

$ ls

3. Crea un archivo con contenido usando el redireccionamiento:

$ echo "Hola, este es un archivo de prueba." > [Link]

Ejercicio 7: Copiar archivos

1. Copia el archivo [Link] al directorio ~/Documentos:

$ cp [Link] ~/Documentos

2. Verifica que se haya copiado correctamente:

$ ls ~/Documentos

Ejercicio 8: Mover archivos

1. Mueve el archivo [Link] al directorio ~/Documentos:

$ mv [Link] ~/Documentos

2. Renombra el archivo [Link]:

$ mv [Link] [Link]

Ejercicio 9: Eliminar archivos


1. Elimina un archivo:

$ rm [Link]

2. Intenta eliminar un archivo protegido contra escritura:

$ rm [Link]

Si no tienes permisos, usa:

$ sudo rm [Link]

Parte 6: Comandos adicionales útiles

1. Ver contenido de un archivo:

$ cat [Link]

2. Mostrar primeras líneas de un archivo:

$ head [Link]

3. Mostrar últimas líneas de un archivo:

$ tail [Link]

4. Buscar un archivo por nombre:

$ find ~/ -name [Link]

Resumen del capítulo

En este capítulo, aprendiste a:

1. Navegar por el sistema de archivos utilizando cd, ls y pwd.


2. Crear, mover, copiar y eliminar carpetas y archivos.
3. Usar comandos útiles para explorar y gestionar archivos.

Tareas para practicar

1. Crea una estructura de carpetas con al menos tres niveles de profundidad.


2. Crea varios archivos dentro de estas carpetas y practica copiarlos, moverlos y
eliminarlos.
3. Busca todos los archivos con la extensión .txt en tu directorio personal usando
find.
Capítulo 3: Trabajar con Procesos y Administrar Recursos en Linux

Objetivo

Este capítulo te enseñará cómo trabajar con procesos y administrar los recursos del
sistema en Linux. Al finalizar este capítulo, serás capaz de:

1. Comprender qué son los procesos y su ciclo de vida.


2. Identificar los procesos que se están ejecutando en el sistema.
3. Supervisar el uso de recursos del sistema utilizando herramientas como top y
htop.
4. Gestionar procesos: detener, reiniciar o cambiar su prioridad.

Parte 1: Conceptos básicos sobre procesos

Un proceso en Linux es una instancia en ejecución de un programa. Los procesos tienen


un ciclo de vida que incluye:

• Creación: Un proceso padre crea un nuevo proceso.


• Ejecución: El proceso se ejecuta hasta completarse o ser detenido.
• Terminación: El proceso finaliza y libera sus recursos.

Propiedades principales de un proceso

Cada proceso en Linux tiene atributos clave:

• PID (Process ID): Identificador único del proceso.


• PPID (Parent Process ID): Identificador del proceso padre.
• Estado: Indica si el proceso está activo, en espera o detenido.
• Prioridad: Determina el acceso del proceso a la CPU.

Parte 2: Listar procesos

El comando ps se usa para listar procesos en ejecución.

Ejercicio 1: Mostrar procesos básicos

1. Escribe el siguiente comando para listar los procesos asociados a tu sesión:

$ ps

Salida esperada:

PID TTY TIME CMD


1234 pts/0 00:00:00 bash
1235 pts/0 00:00:00 ps
o PID: Identificador del proceso.
o TTY: Terminal asociada al proceso.
o TIME: Tiempo de CPU consumido.
o CMD: Comando que inició el proceso.
2. Para listar todos los procesos en el sistema, usa:

$ ps aux

Salida parcial esperada:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
COMMAND
root 1 0.0 0.1 169600 12100 ? Ss 09:00 0:01
systemd
usuario 1234 0.1 0.2 48500 17000 pts/0 Ss 09:10 0:00
bash

o USER: Usuario que ejecuta el proceso.


o %CPU y %MEM: Uso de CPU y memoria.
o STAT: Estado del proceso (R corriendo, S en espera, Z zombi).

Ejercicio 2: Buscar procesos específicos

1. Busca un proceso por su nombre (por ejemplo, bash):

$ ps aux | grep bash

Parte 3: Supervisar recursos del sistema

El comando top proporciona una vista dinámica de los procesos y recursos del sistema.

Ejercicio 3: Usar el comando top

1. Escribe el siguiente comando para abrir top:

$ top

Salida inicial esperada:

top - 09:15:45 up 10 min, 1 user, load average: 0.01, 0.04,


0.05
Tasks: 90 total, 1 running, 89 sleeping, 0 stopped, 0
zombie
%Cpu(s): 0.5 us, 0.2 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.0 hi,
0.0 si, 0.0 st
MiB Mem : 3932.0 total, 1300.0 free, 1400.0 used, 1232.0
buff/cache
MiB Swap: 2048.0 total, 2000.0 free, 48.0 used. 2500.0
avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM
TIME+ COMMAND
1 root 20 0 169600 12100 9500 S 0.0 0.1
0:01.00 systemd
123 usuario 20 0 48500 17000 5000 S 0.1 0.2
0:00.10 bash

o Load average: Carga promedio del sistema en 1, 5 y 15 minutos.


o Tasks: Número de procesos en ejecución, durmiendo, detenidos y
zombis.
o %CPU y %MEM: Uso de CPU y memoria.
o PR: Prioridad del proceso.
o NI: Valor de nice del proceso (relación con la prioridad).
o S: Estado del proceso (R corriendo, S durmiendo).
2. Sal de top presionando q.

Comando adicional: htop

htop es una alternativa visual a top. Para instalarlo:

$ sudo apt install htop

Ejecuta:

$ htop

Usa las teclas de flecha para navegar y F9 para matar un proceso.

Parte 4: Gestionar procesos

Puedes interactuar con los procesos usando comandos como kill, nice y renice.

Ejercicio 4: Detener un proceso

1. Encuentra el PID del proceso que deseas detener (usa ps aux o top).
2. Detén el proceso con:

$ kill PID

Por ejemplo, para detener un proceso con PID 1234:

$ kill 1234

3. Si el proceso no responde, usa SIGKILL:

$ kill -9 PID

Ejercicio 5: Cambiar la prioridad de un proceso

1. Ejecuta un comando con baja prioridad usando nice:

$ nice -n 10 sleep 100


Explicación:

o -n 10: Asigna una prioridad baja al proceso.


o sleep 100: Simula un proceso que espera durante 100 segundos.
2. Cambia la prioridad de un proceso existente con renice:

$ renice -n -5 -p PID

Nota: Solo el administrador o el propietario del proceso pueden cambiar


prioridades.

Parte 5: Supervisión avanzada con herramientas adicionales

Además de top y htop, existen herramientas especializadas para monitorear recursos:

Comando free

Muestra el estado de la memoria RAM y el swap:

$ free -h

Salida esperada:

total used free shared buff/cache


available
Mem: 3.8Gi 1.4Gi 1.0Gi 0.1Gi 1.4Gi
2.1Gi
Swap: 2.0Gi 0.0Gi 2.0Gi

Comando df

Muestra el uso del disco:

$ df -h

Salida esperada:

Filesystem Size Used Avail Use% Mounted on


/dev/sda1 50G 10G 40G 20% /

Comando uptime

Muestra cuánto tiempo ha estado encendido el sistema:

$ uptime

Resumen del capítulo


En este capítulo, aprendiste a:

1. Identificar y listar procesos usando ps, top y htop.


2. Supervisar el uso de recursos como CPU y memoria.
3. Gestionar procesos: detenerlos, cambiar prioridades y reiniciarlos.
4. Utilizar herramientas para monitorear recursos del sistema como free, df y
uptime.

Tareas para practicar

1. Usa top para identificar los procesos que consumen más CPU y memoria.
2. Ejecuta un programa con alta prioridad usando nice.
3. Crea un proceso en segundo plano que consuma tiempo de CPU (por ejemplo,
un cálculo) y practique detenerlo con kill.

Capítulo 4: Trabajar con Usuarios y Automatizar Tareas en Linux

Objetivo

Este capítulo te enseñará a gestionar usuarios y automatizar tareas utilizando scripts


básicos en Bash. Al finalizar este capítulo, serás capaz de:

1. Crear y gestionar usuarios en el sistema.


2. Administrar permisos y grupos de usuarios.
3. Crear scripts Bash básicos para realizar tareas automatizadas.
4. Programar la ejecución de scripts y comandos con el planificador cron.

Parte 1: Gestión de usuarios

Linux permite crear y administrar usuarios mediante comandos como useradd, passwd
y usermod.

Ejercicio 1: Crear un nuevo usuario

1. Crea un nuevo usuario llamado estudiante:

$ sudo useradd -m estudiante

Explicación:

o -m:
Crea un directorio personal en /home/estudiante.
2. Asigna una contraseña al usuario:

$ sudo passwd estudiante

3. Verifica la creación del usuario listándolo en el archivo /etc/passwd:

$ cat /etc/passwd | grep estudiante


Ejercicio 2: Modificar un usuario

1. Cambia el nombre del usuario estudiante a alumno:

$ sudo usermod -l alumno estudiante

2. Cambia el directorio personal de alumno:

$ sudo usermod -d /home/alumno -m alumno

Ejercicio 3: Eliminar un usuario

Elimina el usuario alumno y su directorio personal:

$ sudo userdel -r alumno

Parte 2: Administración de permisos y grupos

Grupos en Linux

Los grupos son colecciones de usuarios que comparten permisos sobre recursos
específicos. Cada usuario puede pertenecer a varios grupos.

Ejercicio 4: Crear y gestionar grupos

1. Crea un grupo llamado estudiantes:

$ sudo groupadd estudiantes

2. Añade un usuario al grupo:

$ sudo usermod -aG estudiantes estudiante

3. Verifica los grupos del usuario:

$ groups estudiante

4. Cambia el grupo principal de un usuario:

$ sudo usermod -g estudiantes estudiante

Parte 3: Introducción a los scripts Bash

Un script Bash es un archivo que contiene una secuencia de comandos para ejecutar
tareas automáticamente.

Ejercicio 5: Crear y ejecutar un script

1. Crea un archivo llamado [Link]:


$ nano [Link]

2. Escribe el siguiente contenido en el archivo:

#!/bin/bash
echo "Hola, bienvenido al sistema Linux"
date

Explicación:

o #!/bin/bash: Indica que el script se ejecutará en Bash.


o echo: Muestra un mensaje en la terminal.
o date: Muestra la fecha y hora actuales.
3. Guarda y cierra el archivo. Luego, hazlo ejecutable:

$ chmod +x [Link]

4. Ejecuta el script:

$./[Link]

Parte 4: Automatizar tareas con cron

cron es un planificador que permite ejecutar comandos o scripts en horarios específicos.

Ejercicio 6: Crear un trabajo cron

1. Abre el editor de trabajos cron:

$ crontab -e

2. Añade la siguiente línea al archivo para ejecutar [Link] cada minuto:

* * * * * /ruta/completa/[Link]

3. Guarda y cierra el archivo.


4. Verifica los trabajos cron:

crontab -l

5. Para detener el trabajo cron, elimina o comenta la línea en crontab -e.

Formato de cron

El formato de las tareas cron tiene cinco campos:

Minuto (0-59) Hora (0-23) Día del mes (1-31) Mes (1-12) Día de la
semana (0-7)

Por ejemplo:
• 0 12 * * *: Ejecuta a las 12:00 todos los días.
• 0 8 * * 1: Ejecuta a las 8:00 todos los lunes.

Parte 5: Buenas prácticas para escribir scripts

1. Usa comentarios: Documenta el propósito de tu script.


2. # Este script genera un informe del sistema
3. Verifica errores: Usa if para manejar errores.
4. if [ $? -eq 0 ]; then
5. echo "El comando se ejecutó correctamente"
6. else
7. echo "Hubo un error"
8. fi
9. Usa variables: Define valores reutilizables.
10. NOMBRE="estudiante"
11. echo "Hola, $NOMBRE"
12. Recoge entradas del usuario:
13. read -p "Introduce tu nombre: " NOMBRE
14. echo "Hola, $NOMBRE"

Resumen del capítulo

En este capítulo, aprendiste a:

1. Crear, modificar y eliminar usuarios y grupos en Linux.


2. Gestionar permisos y añadir usuarios a grupos.
3. Crear scripts básicos en Bash para automatizar tareas.
4. Programar scripts y comandos con cron.

Tareas para practicar

1. Crea un script Bash que genere un informe con:


o El nombre del usuario actual.
o La fecha y hora actuales.
o El uso de disco (df -h).
o Los procesos que consumen más CPU (ps aux --sort=-%cpu | head
-n 5).
2. Programa el script anterior para ejecutarse diariamente a las 8:00 usando cron.

También podría gustarte