El botón de la VPN necesita sudo: delimita la regla, valida la política
Un botón del escritorio no es motivo para root sin contraseña. Comprueba si el gestor de red ya puede hacerlo, delimita un solo comando y luego valida toda la política de sudo.
El botón de la VPN funciona para el administrador y falla para todos los demás, así que alguien añade una línea a sudoers. Esa línea suele sobrevivir al problema que debía resolver y a menudo concede más de lo que el botón necesita. Antes de editar la política, comprueba si el propietario admitido de la conexión ya puede hacer el trabajo. Las tres condiciones siguientes deciden si sudo interviene siquiera.
Condición 1: el propietario admitido puede hacerlo sin sudo
En la mayoría de los escritorios Linux, el gestor de red ya es dueño de las conexiones VPN y su autorización pasa por polkit en lugar de sudo. Un usuario al que se le permite levantar una conexión puede hacerlo desde la línea de comandos sin ninguna regla de root. Comprueba qué permite el gestor antes de suponer que el botón necesita privilegios. Si la respuesta es sí, el cambio en sudoers resuelve un problema que no existe.
nmcli connection show
nmcli connection up "Work VPN"
Si el gestor se niega, lee por qué: una regla de polkit ausente, una conexión propiedad de otro usuario o un perfil guardado donde el usuario no puede leerlo. Cada uno de esos casos tiene una solución admitida más estrecha que una regla de sudo. La escalada de privilegios es el último recurso, no el primero.
Condición 2: la regla nombra un solo ejecutable y sus argumentos
Si sudo es realmente necesario, la regla debería nombrar el comando exacto y, cuando sea posible, los argumentos que puede usar. Una regla que permite a un usuario ejecutar un script envoltorio es tan segura como los permisos de ese script, porque el usuario puede editar lo que root ejecutará. Una regla con un comodín después del comando es el mismo problema en una forma más corta.
sudo -l -U alice
ls -l /usr/local/sbin/vpn-up
Revisa cada ruta de la cadena de comandos: el binario, el script que llama, el archivo de configuración que lee y cualquier directorio intermedio. Si el usuario puede escribir en alguno de ellos, la regla delimitada es en la práctica root sin restricciones. Los argumentos también importan, porque un comando que acepta una ruta de configuración puede apuntarse a un archivo que el usuario controla. Escribe la regla para la operación, no para el botón.
Detente si el comando necesita un archivo controlado por el usuario para funcionar. Entonces el diseño es incorrecto y ninguna sintaxis de sudoers lo hará seguro.
Condición 3: se analiza toda la política, no solo tu línea
Valida con el editor que bloquea el archivo y comprueba la sintaxis, y valida la política ensamblada en lugar de un fragmento. Un archivo que se analiza solo todavía puede romper el orden de inclusión o duplicar una regla de forma que cambie el comportamiento.manual de visudo documenta tanto el editor con bloqueo como el modo de solo comprobación que se usa aquí.
sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher
La comprobación informa del archivo y la línea cuando falla, y ese informe es la parte útil. Repara el cambio previsto a través del editor en lugar de guardar a la fuerza un error conocido, porque una política rota puede dejar fuera a todos los administradores a la vez. Los archivos del directorio de inclusión también necesitan la propiedad y el modo que exige el manual, o serán ignorados o rechazados. La sintaxis es solo la primera puerta: después de pasarla, vuelve a leer la regla y pregunta qué permite realmente.
Detente si la única forma de hacer funcionar el cambio es desactivar la comprobación de sintaxis. Eso no es una política, es una caída que espera un reinicio.
Recuperación: mantén una sesión que siga funcionando
Antes de guardar, asegúrate de que ya hay una sesión administrativa autorizada abierta y de que existe un segundo camino hacia la máquina. Un error en sudoers puede quitarte la capacidad de arreglarlo, y un botón del escritorio no vale ese riesgo. Si sudo ya está roto, usa la ruta de recuperación documentada del sistema en lugar de improvisar una.
sudo -n true
id
Alternativas como pkexec dependen de su propia instalación y política, así que no son un segundo aviso de root garantizado. Mantén la autorización local separada también del suministro del secreto de la VPN: una regla de sudo no puede desbloquear un agente de secretos ausente ni satisface el MFA de la puerta de enlace. Tras la corrección, prueba la cuenta normal ejecutando solo la operación prevista y luego usa los controles habituales del gestor.
La decisión termina cuando puedes decir qué condición justificó sudo, qué nombra la regla, que se analiza toda la política y cómo te recuperarías si no. Un lanzador privilegiado que te cuesta el acceso administrativo es un mal negocio, y normalmente es evitable.