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.
Contenido
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



