¿Qué significa usuario ALL=ALL (ALL) ALL? Esta línea es muy común en las configuraciones de Linux pero qué pinta tanto ALL y qué quiere decir son cosas que poca gente sabe.
Sudo es una aplicacion de Linux que permimte ejecutar comandos como si fuéramos otros usuarios, de hecho sudo viene de «substitute user do«. La configuración de sudo, es decir, qué podemos hacer como otros usuarios y dónde, se refleja en un archivo llamado sudoers normalmente situado en el directorio /etc aunque tal archivo sólo debería modificarse mediante la aplicación visudo.
La sintaxis del archivo sudoers no es complicada pero sí bastante extensa. Podeis leerla online en el enlace anterior o en vuestros equipos consultando el manual. Aquí, sólo voy a indicar qué significa la línea que da título al post:
La clave para leer la especificación de usuarios es saber qué significa cada parte. Podríamos resumirlo en:
fulanito, en ciertos equipos, puede ejecutar los siguientes comandos como si fuera menganito; o puede ejecutar estos otros como si fuera jaimito…
Traducido a la sintaxis de sudoers:
fulanito ciertos_equipos=(menganito) comandos, (jaimito) estos_otros_comandos
En definitiva:
usuario hosts=(como_quién) qué_comandos [, (como_quién) otros_comandos]...
A veces, la coma se omite pues el paréntesis de apertura sirve como separador. Si el como_quien también, indica que nos referimos a nosotros mismos.
Así que cuando especificamos usuario ALL=ALL (ALL) ALL lo que estamos diciendo es:
usuario, en todos los equipos, puede ejecutar cualquier comando (siendo nosotros mismos) y todos los comandos como si fuera cualquier usuario
Y así de fácil es la cosa.