Hosting PERU 18 Años
(01) 433-3745

9 8180 8180

Configurar Usuarios y Permisos en AlmaLinux

Indice

Configurar Usuarios y Permisos en AlmaLinux

La correcta configuración de usuarios y permisos en AlmaLinux es fundamental para la seguridad de tu servidor VPS. En esta guía aprenderás a crear usuarios, gestionar grupos, configurar permisos con chmod/chown, administrar sudo y establecer acceso SSH con llaves públicas.

Siguiendo las mejores prácticas de seguridad, evitarás vulnerabilidades comunes y mantendrás tu servidor protegido. Esta guía es ideal para administradores que gestionan servidores VPS en producción.

1. Crear y Gestionar Usuarios

Es recomendable no usar el usuario root directamente. Crea usuarios regulares para tareas diarias:

Crear un nuevo usuario

# Crear usuario con directorio home
sudo useradd -m nombre_usuario

# Crear con shell específico (bash)
sudo useradd -m -s /bin/bash nombre_usuario

# Crear con comentario descriptivo
sudo useradd -m -s /bin/bash -c "Juan Admin" juanadmin

Establecer contraseña

# Establecer contraseña
sudo passwd nombre_usuario

# Forzar cambio de contraseña en próximo login
sudo passwd -e nombre_usuario

Modificar usuario existente

# Cambiar shell del usuario
sudo usermod -s /bin/bash nombre_usuario

# Cambiar directorio home
sudo usermod -d /nuevo/home nombre_usuario

# Cambiar nombre de usuario
sudo usermod -l nuevo_nombre viejo_nombre

# Bloquear cuenta
sudo usermod -L nombre_usuario

# Desbloquear cuenta
sudo usermod -U nombre_usuario

Eliminar usuarios

# Eliminar usuario (mantiene directorio home)
sudo userdel nombre_usuario

# Eliminar usuario y su directorio home
sudo userdel -r nombre_usuario

Ver información de usuarios

# Ver todos los usuarios
cat /etc/passwd

# Ver información de un usuario
id nombre_usuario

# Ver usuario actual
whoami

# Ver quién está logueado
who
w

2. Gestión de Grupos

Los grupos permiten asignar permisos a múltiples usuarios de forma eficiente:

Crear y administrar grupos

# Crear grupo
sudo groupadd desarrolladores

# Ver grupos del sistema
cat /etc/group

# Ver grupos de un usuario
groups nombre_usuario

# Agregar usuario a grupo
sudo usermod -aG desarrolladores nombre_usuario

# Agregar usuario a múltiples grupos
sudo usermod -aG grupo1,grupo2,grupo3 nombre_usuario

Grupos importantes en AlmaLinux

  • wheel: Usuarios con acceso sudo
  • root: Grupo del superusuario
  • www-data o apache: Grupo del servidor web
  • docker: Usuarios que pueden ejecutar Docker
# Agregar usuario al grupo wheel (sudo)
sudo usermod -aG wheel nombre_usuario

# Verificar membresía
groups nombre_usuario
# nombre_usuario : nombre_usuario wheel

Eliminar usuario de grupo

# Quitar usuario de un grupo
sudo gpasswd -d nombre_usuario nombre_grupo

# Eliminar grupo
sudo groupdel nombre_grupo

3. Permisos con chmod

El comando chmod modifica los permisos de archivos y directorios:

Entendiendo los permisos

# Ver permisos
ls -la archivo.txt
# -rw-r--r-- 1 usuario grupo 1024 Jan 1 12:00 archivo.txt

# Estructura: -rwxrwxrwx
# Posición 1: tipo (- archivo, d directorio, l enlace)
# Posiciones 2-4: permisos del propietario (user)
# Posiciones 5-7: permisos del grupo (group)
# Posiciones 8-10: permisos de otros (others)

Formato numérico

# Tabla de valores:
# r (read) = 4
# w (write) = 2
# x (execute) = 1

# Ejemplos comunes:
chmod 755 archivo    # rwxr-xr-x (propietario todo, otros leer/ejecutar)
chmod 644 archivo    # rw-r--r-- (propietario leer/escribir, otros solo leer)
chmod 700 archivo    # rwx------ (solo propietario tiene acceso)
chmod 600 archivo    # rw------- (propietario leer/escribir, nadie más)
chmod 777 archivo    # rwxrwxrwx (todos tienen todo - ¡evitar!)

# Aplicar recursivamente
chmod -R 755 /var/www/html/

Formato simbólico

# u=user, g=group, o=others, a=all

# Agregar permiso de ejecución al propietario
chmod u+x script.sh

# Quitar permiso de escritura a grupo y otros
chmod go-w archivo.txt

# Establecer permisos específicos
chmod u=rwx,g=rx,o=r archivo

# Agregar ejecución a todos
chmod +x script.sh

chown – Cambiar propietario

# Cambiar propietario
sudo chown usuario archivo.txt

# Cambiar propietario y grupo
sudo chown usuario:grupo archivo.txt

# Solo cambiar grupo
sudo chown :grupo archivo.txt

# Aplicar recursivamente
sudo chown -R www-data:www-data /var/www/html/

# Copiar propietario de otro archivo
sudo chown --reference=archivo_origen archivo_destino

4. Configurar sudo y sudoers

sudo permite ejecutar comandos como root de forma segura:

Agregar usuario a sudoers

# Método 1: Agregar al grupo wheel
sudo usermod -aG wheel nombre_usuario

# Método 2: Editar sudoers directamente (usar visudo)
sudo visudo

Configuración en sudoers

# Abrir editor seguro para sudoers
sudo visudo

# Agregar al final del archivo:

# Usuario con todos los permisos
nombre_usuario ALL=(ALL) ALL

# Usuario sin contraseña para sudo
nombre_usuario ALL=(ALL) NOPASSWD: ALL

# Usuario con comandos específicos
nombre_usuario ALL=(ALL) /usr/bin/systemctl restart nginx, /usr/bin/systemctl status nginx

# Grupo con permisos
%desarrolladores ALL=(ALL) /usr/bin/git, /usr/bin/npm

Crear archivo sudoers modular

# Crear archivo en /etc/sudoers.d/
sudo nano /etc/sudoers.d/desarrolladores

# Contenido:
%desarrolladores ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx

# Establecer permisos correctos
sudo chmod 440 /etc/sudoers.d/desarrolladores

5. Autenticación SSH con Llaves

Las llaves SSH son más seguras que las contraseñas:

Generar par de llaves (en tu computadora local)

# Generar llave RSA 4096 bits
ssh-keygen -t rsa -b 4096 -C "[email protected]"

# O generar llave Ed25519 (más moderna)
ssh-keygen -t ed25519 -C "[email protected]"

# Se crean dos archivos:
# ~/.ssh/id_rsa (llave privada - NUNCA compartir)
# ~/.ssh/id_rsa.pub (llave pública - copiar al servidor)

Copiar llave pública al servidor

# Método automático
ssh-copy-id usuario@ip_servidor

# Método manual
# En tu PC local:
cat ~/.ssh/id_rsa.pub

# En el servidor:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
# Pegar el contenido de id_rsa.pub
chmod 600 ~/.ssh/authorized_keys

Deshabilitar acceso por contraseña

# Editar configuración SSH
sudo nano /etc/ssh/sshd_config

# Cambiar estas líneas:
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no

# Reiniciar SSH
sudo systemctl restart sshd

6. Mejores Prácticas de Seguridad

Checklist de seguridad

  • Nunca uses root directamente – Crea un usuario con sudo
  • Usa llaves SSH – Deshabilita autenticación por contraseña
  • Permisos mínimos – Solo otorga los permisos necesarios
  • Revisa sudoers – Audita quién tiene acceso sudo
  • Contraseñas fuertes – Mínimo 12 caracteres, combinando tipos

Auditar permisos

# Buscar archivos con permisos 777
find / -type f -perm 777 2>/dev/null

# Buscar archivos SUID (potencial riesgo)
find / -perm -4000 2>/dev/null

# Ver últimos logins
last

# Ver intentos fallidos
sudo lastb

# Ver logs de autenticación
sudo tail -f /var/log/secure

Preguntas Frecuentes

¿Cómo dar permisos sudo a un usuario en AlmaLinux?

La forma más sencilla es agregar el usuario al grupo wheel: sudo usermod -aG wheel nombre_usuario. El grupo wheel tiene permisos sudo por defecto en AlmaLinux. El usuario debe cerrar sesión y volver a entrar para que los cambios tomen efecto.

¿Cómo bloquear un usuario en AlmaLinux?

Usa sudo usermod -L nombre_usuario para bloquear la cuenta. Esto deshabilita el login pero mantiene el usuario. Para desbloquear: sudo usermod -U nombre_usuario. También puedes cambiar el shell a /sbin/nologin con usermod -s /sbin/nologin usuario.

¿Cuál es la diferencia entre chmod 755 y 644?

chmod 755 (rwxr-xr-x) permite al propietario leer, escribir y ejecutar, mientras que grupo y otros solo pueden leer y ejecutar. chmod 644 (rw-r–r–) permite al propietario leer y escribir, mientras que grupo y otros solo pueden leer. Usa 755 para directorios y scripts, 644 para archivos regulares.

¿Necesitas un VPS con AlmaLinux?

Nuestros servidores VPS vienen con AlmaLinux preinstalado y soporte técnico en español 24/7.

Ver Planes VPS

¿Necesitas un VPS con AlmaLinux?

Nuestros servidores VPS vienen con AlmaLinux preinstalado y soporte técnico en español 24/7.

Ver Planes VPS