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.