Root puede hacerlo todo, incluidas las cosas que usted no pretendía. No hay confirmación ni deshacer, y después el registro dice que lo hizo root, lo cual no le dice nada si más de una persona tiene la contraseña.

Cree un usuario con nombre

sudo adduser sara
sudo usermod -aG sudo sara        # Debian and Ubuntu
# sudo usermod -aG wheel sara     # RHEL, Alma and Rocky

Dele su clave y pruebe antes de cerrar nada

sudo mkdir -p /home/sara/.ssh
sudo cp ~/.ssh/authorized_keys /home/sara/.ssh/
sudo chown -R sara:sara /home/sara/.ssh
sudo chmod 700 /home/sara/.ssh
sudo chmod 600 /home/sara/.ssh/authorized_keys
Abra una segunda terminal y entre con el usuario nuevo ANTES de desactivar root o de cerrar la primera sesión. Una errata en un archivo de claves tiene arreglo mientras aún le quede una sesión, y se convierte en una llamada al soporte cuando ya no.

Luego cierre la puerta de root

# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no

sudo sshd -t && sudo systemctl reload ssh

Lo que sudo le da y root no

  • Cada orden queda registrada con el nombre de quien la ejecutó.
  • Una orden peligrosa exige cinco caracteres más, escritos a propósito, y eso basta para atrapar algunas de ellas.
  • El acceso se quita sacando una cuenta de un grupo, no cambiando una contraseña que comparte todo el mundo.

sudo sin contraseña, con cuidado

La automatización necesita sudo sin que le pregunten. Acótelo a las órdenes que de verdad ejecuta y no a todo.

# sudo visudo -f /etc/sudoers.d/deploy
deploy ALL=(root) NOPASSWD: /bin/systemctl reload nginx, /bin/systemctl restart app
No edite nunca /etc/sudoers con un editor cualquiera. visudo comprueba la sintaxis antes de guardar, y un archivo sudoers roto deja a todo el mundo fuera de sudo de golpe.