Administración Esencial de Sistemas Linux: Usuarios, Grupos y Seguridad

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 10,78 KB

Administración de Usuarios, Grupos y Configuración del Sistema Linux

Este documento detalla una serie de procedimientos esenciales para la administración de usuarios, grupos y la configuración básica de un sistema operativo Linux. Se abordan tareas desde la creación de ficheros y personalización del entorno de login, hasta la gestión de permisos, copias de seguridad y el uso de comandos fundamentales.

1. Gestión de Ficheros y Entorno de Usuario

1.1. Creación de un Fichero Personalizado

Para crear un fichero con un nombre y contenido específicos, se utiliza el comando echo con redirección de salida:

echo "nombre y apellidos" > nombre.txt

1.2. Personalización del Sistema

La personalización del sistema se puede realizar en diferentes etapas del proceso de inicio de sesión:

a. Mensaje Pre-Login

Modifica el mensaje que se muestra antes de que el usuario inicie sesión (pre-login) editando el fichero /etc/issue:

sudo nano /etc/issue
b. Mensaje Post-Login (MOTD)

Configura el mensaje del día (Message Of The Day - MOTD) que aparece después de que el usuario inicia sesión (post-login). Es importante gestionar los permisos de ejecución en el directorio /etc/update-motd.d para asegurar que solo los scripts deseados se ejecuten. Por ejemplo, para editar el encabezado:

sudo nano /etc/update-motd.d/00-header

Nota importante: Asegúrate de quitar los permisos de ejecución a todos los scripts en /etc/update-motd.d, excepto a 00-header, si deseas un control estricto sobre el MOTD.

c. Establecer Advertencia de Caducidad de Contraseñas

Para configurar advertencias sobre la caducidad de contraseñas, edita el fichero de configuración /etc/login.defs. Busca las directivas relacionadas con la caducidad de contraseñas dentro de este fichero:

sudo nano /etc/login.defs
d. Cambiar Tiempo entre Identificación y Contraseña

El tiempo de espera entre la solicitud de identificación y la contraseña también se puede ajustar en /etc/login.defs. Busca las opciones pertinentes dentro de este fichero:

sudo nano /etc/login.defs

2. Gestión de Grupos y Usuarios

2.1. Creación de Grupos

Se crean dos grupos de usuarios, g-asir1 y g-profes, utilizando el comando groupadd:

sudo groupadd g-asir1
sudo groupadd g-profes

2.2. Configuración de Directorio Compartido para g-asir1

Se configura un directorio compartido para los miembros del grupo g-asir1. Esto incluye la creación del directorio si no existe, la asignación de la propiedad del grupo y la configuración de permisos especiales (setgid) para que los nuevos ficheros hereden el grupo del directorio:

mkdir /home/asir1 # En caso de que no esté creado
sudo chown :g-asir1 /home/asir1
sudo chmod g+s /home/asir1

2.3. Creación de Usuarios para g-asir1

Se crean tres usuarios (Julia, Julián, Julio) y se les asigna el directorio personal /home/asir1 y el grupo principal g-asir1:

sudo useradd -d /home/asir1 -m -s /bin/bash -g g-asir1 julia
sudo useradd -d /home/asir1 -m -s /bin/bash -g g-asir1 julian
sudo useradd -d /home/asir1 -m -s /bin/bash -g g-asir1 julio

2.4. Establecimiento de Contraseñas para Usuarios de g-asir1

Se establecen las contraseñas para los usuarios recién creados:

sudo passwd julia
sudo passwd julian
sudo passwd julio

2.5. Configuración de umask para Nuevas Entradas

Para asegurar que las nuevas entradas en el directorio /home/asir1 tengan permisos de solo lectura para otros usuarios, se debe modificar la máscara de creación de ficheros (umask) en el fichero .bashrc de cada usuario. Un umask 002 permite que los ficheros se creen con permisos -rw-rw-r-- y los directorios con drwxrwxr-x:

sudo nano /home/asir1/.bashrc

Añade o modifica la línea:

umask 002

3. Configuración de Usuarios para Profesores

3.1. Creación de Usuarios Laura y Luis

Se crean los usuarios Laura y Luis, asignándoles el grupo principal g-profes y sus respectivos directorios personales:

sudo useradd -m -g g-profes -d /home/laura -s /bin/bash laura
sudo useradd -m -g g-profes -d /home/luis -s /bin/bash luis

3.2. Establecimiento de Contraseñas para Profesores

Se asignan las contraseñas correspondientes a los usuarios Laura y Luis:

sudo passwd laura
sudo passwd luis

3.3. Configuración de umask para Usuarios Profesores

De manera similar, se configura el umask para el usuario Luis para controlar los permisos de los ficheros recién creados:

sudo nano /home/luis/.bashrc

Añade o modifica la línea:

umask 002

4. Gestión Avanzada de Usuarios y Seguridad

4.1. Guardar el Historial de Comandos

Para guardar el historial de comandos de la sesión actual en un fichero, se utiliza el comando history con redirección:

history > save.cmd.txt

4.2. Bloquear la Cuenta de Julio

Para bloquear una cuenta de usuario, impidiendo su inicio de sesión, se utiliza usermod con la opción -L:

sudo usermod -L julio

4.3. Cambiar Parámetros de Caducidad de Contraseña de Julián

Se modifican los parámetros de caducidad de la contraseña del usuario Julián, estableciendo un mínimo de 15 días y un máximo de 20 días para su validez:

sudo chage -m 15 -M 20 julian

4.4. Listar Información de la Contraseña de Julián

Para obtener un informe detallado sobre la información de caducidad de la contraseña de un usuario, se utiliza chage -l y se redirige la salida a un fichero:

sudo chage -l julian > reporte.julian.txt

4.5. Impedir que Julio Trabaje con la Terminal

Para deshabilitar el acceso a la terminal para un usuario, se puede cambiar su shell de inicio a /bin/false, lo que impide la ejecución de comandos interactivos:

sudo usermod -s /bin/false julio

4.6. Crear Alias para el Grupo g-asir1

Se crea un alias de comando llamado datos en el fichero .bashrc del directorio compartido de g-asir1, que ejecutará el comando id para mostrar la identidad del usuario:

sudo nano /home/asir1/.bashrc

Añade la siguiente línea al final del fichero:

alias datos='id'

5. Gestión de Copias de Seguridad

5.1. Realizar Copia de Seguridad de Directorios Home

Se crea un directorio para almacenar las copias de seguridad y se realiza una copia de seguridad diferencial de los directorios personales de los alumnos y profesores. La opción -N permite realizar una copia diferencial basada en la fecha de modificación.

sudo mkdir /copias
sudo tar -cvzf /copias/Diferencial_alumnos_profes_2025-02-06.tar.gz /home/asir1 /home/laura /home/luis -N 2025-02-02

Nota: Se ha corregido el formato de fecha y se ha añadido la extensión .gz para indicar compresión.

5.2. Alternativa para Copias de Seguridad Comprimidas

Si la compresión no se realiza en el mismo comando tar, se puede comprimir el fichero .tar resultante por separado. Este ejemplo utiliza la fecha actual en el nombre del fichero:

sudo tar -cvf /copias/Diferencial_$(date +%F).tar -N 2025-01-28 /home/asir1 /home/laura /home/luis
gzip -9 /copias/Diferencial_$(date +%F).tar

Nota: Se han ajustado los directorios de origen a los usuarios creados en este documento.

5.3. Guardar el Comando de Copia de Seguridad

Para documentar el comando utilizado para la copia de seguridad, se puede redirigir a un fichero de texto:

echo "sudo tar -cvzf /copias/Diferencial_alumnos_profes_2025-02-06.tar.gz /home/asir1 /home/laura /home/luis -N 2025-02-02" >> cmd_copia.txt

5.4. Ver el Contenido de la Copia de Seguridad

Para listar el contenido de un fichero .tar.gz sin extraerlo, se utiliza la opción -t. La salida se redirige a un fichero para su registro:

tar -tvf /copias/Diferencial_alumnos_profes_2025-02-06.tar.gz >> cmd_copia.txt

6. Utilidades y Comandos Adicionales

6.1. Añadir el Historial de Comandos al Fichero de Registro

Para añadir el historial de comandos actual a un fichero de registro existente, se utiliza la redirección de adición:

history >> save.cmd.txt

6.2. Emitir una Lista Numérica

Para generar una secuencia numérica del 1 al 1000 y redirigirla a un fichero:

echo {1..1000} >> lista.txt

Nota: Se ha corregido la sintaxis de expansión de secuencia de Bash de {1:1000} a {1..1000}.

6.3. Añadir el Comando Utilizado al Fichero de Lista

Para registrar el comando que generó la lista numérica dentro del mismo fichero:

echo "echo {1..1000}" >> lista.txt

6.4. Ver Fecha y Hora de Modificación de un Fichero/Directorio

Para obtener información detallada sobre un fichero o directorio, incluyendo su fecha y hora de modificación, se utiliza el comando stat:

stat /home/examen

6.5. Visualizar el Prompt de la Terminal

Para ver el valor actual de la variable de entorno PS1, que define el aspecto del prompt de la terminal, y guardarlo en un fichero:

echo "$PS1"
echo "$PS1" >> prompt.txt

6.6. Copiar Fichero de Puntos de Montaje Automáticos

Para realizar una copia del fichero /etc/fstab, que contiene la configuración de los puntos de montaje del sistema, a un fichero de registro:

sudo cp /etc/fstab listado.arranque.txt

6.7. Obtener Información del Disco

Para listar información sobre los dispositivos de bloque (discos y particiones) y registrar el comando utilizado:

lsblk >> disco.txt
echo "lsblk" >> disco.txt

Entradas relacionadas: