Geeky Theory
  • Inicio
  • Podcast
  • Contacto
Linux

Desactivando el acceso root en un servidor Linux

Tutorial Linux para desactivar el acceso root a un servidor para que nadie tenga acceso como superusuario por defecto.

  • Mario Pérez Esteso

Mario Pérez Esteso

8 de feb. de 2015 • 2 min read
Desactivando el acceso root en un servidor Linux
DESACTIVANDO EL ACCESO ROOT EN UN SERVIDOR LINUX geeky theory tutorial gnu terminal ssh

Últimamente estoy informándome mucho sobre temas de seguridad en charlas a las que asisto y también leyendo mucho por Internet. Es un tema que me gusta bastante y sobre el que no publico demasiado en Geeky Theory.

Voy a enseñaros un pequeño truco de seguridad para servidores GNU/Linux que siempre hay que implementar al montar una máquina y darle acceso por Internet. Se trata de desactivar el acceso root a dicho servidor para que nadie tenga acceso como superusuario por defecto.

A menos que sea estrictamente necesario, nunca debemos hacer login directamente como superusuario.

Si queremos introducir un comando que requiera de permisos, es preferible ejecutarlo con sudo siempre que sea posible.

Paso 1: Crear un nuevo usuario

Antes de desactivar el acceso root, tenemos que crear un nuevo usuario. Si desactivamos el acceso superusuario sin crear uno nuevo, no podremos entrar al servidor.

$ sudo adduser nombredeusuario

Nos pedirá la contraseña del nuevo usuario. A continuación, damos permisos sudo a este nuevo usuario, ya que si no, no podremos ejecutar ningún comando con permisos que no sean los del propio usuario. Para ello, editamos el archivo de configuración:

$ sudo /usr/sbin/visudo

Dejamos esta parte así:

# User privilege specification root ALL=(ALL:ALL) ALL nombredeusuario ALL=(ALL:ALL) ALL

Lo que acabamos de hacer es darle permisos a nombredeusuario para que pueda ejecutar comandos con sudo.

Paso 2: Desactivar el acceso del usuario root

Una vez creado el nuevo usuario, vamos a desactivar el acceso del usuario root. Antes de nada, probad que tenéis acceso SSH con el nuevo usuario y, una vez dentro, haced un update y upgrade con sudo para comprobar que todo funciona:

$ ssh nombredeusuario@servidor$ sudo apt-get update && sudo apt-get upgrade

Una vez comprobado que el nuevo usuario puede ejecutar instrucciones sin ningún problema, modificamos el archivo /etc/ssh/sshd_config para desactivar el login con root:

$ sudo nano /etc/ssh/sshd_config

Tenemos dos opciones para hacer esto y ambas dan el mismo resultado.

  • Opción 1: modificar el parámetro PermitRootLogin.

Dejamos el parámetro así:

PermitRootLogin no

  • Opción 2: filtrar por usuarios.

Este método es igual que el anterior, pero en este caso vamos a filtrar por usuarios. Denegamos el acceso a root y se lo permitimos al nuevo usuario. En la zona de # Authentication: ponemos lo siguiente:

DenyUsers root AllowUsers nombredeusuario

Para aplicar los cambios, introducimos el siguiente comando:

$ sudo service ssh restart

Os dejo un vídeo del proceso:

¡Saludos!

Domina el arte de la comunicación escrita: la etiqueta en el correo electrónico profesional

Domina el arte de la comunicación escrita: la etiqueta en el correo electrónico profesional

Cómo redactar correos electrónicos profesionales.
26 de may. de 2024 2 min read
Contruye una landing page efectiva para atraer clientes

Contruye una landing page efectiva para atraer clientes

Crea una landing page efectiva para atraer clientes aplicando diseño atractivo, contenido persuasivo, elementos de confianza y llamadas a la acción claras.
27 de nov. de 2023 2 min read
Cómo construir comunidad en tu blog

Cómo construir comunidad en tu blog

Construir comunidad en tu blog es clave para el éxito. Descubre cómo el email marketing fortalece conexiones y atrae visitantes leales.
31 de oct. de 2023 3 min read
Geeky Theory © 2025
  • Contacto
Powered by Ghost