O botón da VPN funciona para o administrador e falla para todos os demais, así que alguén engade unha liña a sudoers. Esa liña adoita sobrevivir ao problema que debía resolver e a miúdo concede máis do que o botón necesita. Antes de editar a política, comproba se o propietario admitido da conexión xa pode facer o traballo. As tres condicións seguintes deciden se sudo intervén sequera.

Condición 1: o propietario admitido pode facelo sen sudo

Na maioría dos escritorios Linux o xestor de rede xa é dono das conexións VPN e a súa autorización pasa por polkit en lugar de sudo. Un usuario ao que se lle permite levantar unha conexión pode facelo desde a liña de ordes sen ningunha regra de root. Comproba que permite o xestor antes de supoñer que o botón necesita privilexios. Se a resposta é si, o cambio en sudoers resolve un problema que non existe.

nmcli connection show
nmcli connection up "Work VPN"

Se o xestor se nega, le por que: unha regra de polkit que falta, unha conexión propiedade doutro usuario ou un perfil gardado onde o usuario non pode lelo. Cada un deses casos ten unha solución admitida máis estreita ca unha regra de sudo. A escalada de privilexios é o último recurso, non o primeiro.

Condición 2: a regra nomea un só executable e os seus argumentos

Se sudo é realmente necesario, a regra debería nomear a orde exacta e, cando sexa posible, os argumentos que pode usar. Unha regra que permite a un usuario executar un script envoltorio é tan segura como os permisos dese script, porque o usuario pode editar o que root executará. Unha regra cun comodín despois da orde é o mesmo problema nunha forma máis curta.

sudo -l -U alice
ls -l /usr/local/sbin/vpn-up

Revisa cada ruta da cadea de ordes: o binario, o script que chama, o ficheiro de configuración que le e calquera directorio intermedio. Se o usuario pode escribir nalgún deles, a regra limitada é na práctica root sen restricións. Os argumentos tamén importan, porque unha orde que acepta unha ruta de configuración pode apuntarse a un ficheiro que o usuario controla. Escribe a regra para a operación, non para o botón.

Détente se a orde necesita un ficheiro controlado polo usuario para funcionar. Entón o deseño é incorrecto e ningunha sintaxe de sudoers o fará seguro.

Condición 3: analízase toda a política, non só a túa liña

Valida co editor que bloquea o ficheiro e comproba a sintaxe, e valida a política ensamblada en lugar dun fragmento. Un ficheiro que se analiza só aínda pode romper a orde de inclusión ou duplicar unha regra de forma que cambie o comportamento.manual de visudo documenta tanto o editor con bloqueo como o modo de só comprobación que se usa aquí.

sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher

A comprobación informa do ficheiro e da liña cando falla, e ese informe é a parte útil. Repara o cambio previsto a través do editor en lugar de gardar á forza un erro coñecido, porque unha política rota pode deixar fóra a todos os administradores á vez. Os ficheiros do directorio de inclusión tamén necesitan a propiedade e o modo que esixe o manual, ou serán ignorados ou rexeitados. A sintaxe é só a primeira porta: despois de pasala, volve ler a regra e pregunta que permite realmente.

Détente se o único xeito de facer funcionar o cambio é desactivar a comprobación de sintaxe. Iso non é unha política, é unha caída que agarda un reinicio.

Recuperación: mantén unha sesión que siga funcionando

Antes de gardar, asegúrate de que xa hai unha sesión administrativa autorizada aberta e de que existe un segundo camiño cara á máquina. Un erro en sudoers pode quitarte a capacidade de arranxalo, e un botón do escritorio non vale ese risco. Se sudo xa está roto, usa a ruta de recuperación documentada do sistema en lugar de improvisar unha.

sudo -n true
id

Alternativas como pkexec dependen da súa propia instalación e política, así que non son un segundo aviso de root garantido. Mantén a autorización local separada tamén do subministro do segredo da VPN: unha regra de sudo non pode desbloquear un axente de segredos ausente nin satisfai o MFA da pasarela. Tras a corrección, proba a conta normal executando só a operación prevista e despois usa os controis habituais do xestor.

A decisión remata cando podes dicir que condición xustificou sudo, que nomea a regra, que se analiza toda a política e como te recuperarías se non. Un lanzador privilexiado que che custa o acceso administrativo é un mal negocio, e normalmente é evitable.

Artigos relacionados