Una modifica apparentemente marginale nella gestione dell’input delle password sta attirando l’attenzione di amministratori e sviluppatori: la reimplementazione in Rust del comando sudo, nota come sudo-rs, introduce di default la visualizzazione di asterischi durante la digitazione. La scelta rompe una convenzione Unix consolidata da 46 anni, secondo cui l’inserimento della password avviene senza alcun feedback visivo.
La decisione si colloca in un contesto storico in cui sudo, introdotto nei primi anni ’80, è diventato uno degli strumenti più diffusi per l’esecuzione di comandi con privilegi elevati, con una base installata che copre praticamente tutte le distribuzioni Linux e molti sistemi Unix-like. Oggi, mentre l’adozione di linguaggi memory-safe come Rust cresce anche nel software di sistema, il cambiamento solleva interrogativi sul bilanciamento tra sicurezza e usabilità.
La modifica del comportamento: attivazione di pwfeedback
Dal febbraio 2026, una modifica nel repository ufficiale di sudo-rs, versione del comando sudo in Rust che Ubuntu ha deciso di adottare, abilita automaticamente l’opzione pwfeedback, che fa comparire asterischi sul terminale per ogni carattere della password via via digitato.
Nella versione storica di sudo, questa opzione era disabilitata per impostazione predefinita: l’assenza di qualsiasi feedback era una scelta intenzionale per evitare che osservatori nelle vicinanze potessero dedurre la lunghezza della password.
La modifica non altera il meccanismo di autenticazione sottostante, che continua a delegare la verifica delle credenziali a PAM (Pluggable Authentication Modules). Cambia invece esclusivamente il comportamento dell’interfaccia TTY, cioè la modalità con cui l’utente interagisce con il prompt della password. L’output degli asterischi è gestito dal lato utente senza modificare la stringa inviata a PAM.
Usabilità contro tradizione: le motivazioni del cambiamento
Gli sviluppatori di sudo-rs motivano la scelta con esigenze di accessibilità e usabilità, soprattutto per utenti meno esperti.
L’assenza di feedback visivo può generare incertezza sulla corretta digitazione, specialmente in contesti con tastiere non standard o layout diversi. In molti strumenti contemporanei, inclusi gestori di password e terminali moderni, è ormai comune mostrare caratteri segnaposto durante l’inserimento di credenziali.
I maintainer riconoscono esplicitamente che il livello di sicurezza può risultarne leggermente peggiorato: la lunghezza della password diventa osservabile. Tuttavia, ritengono che il rischio sia marginale rispetto ai vantaggi per l’esperienza utente, sostenendo che il cosiddetto shoulder surfing, cioè l’osservazione furtiva di ciò che una persona digita guardando lo schermo o la tastiera, sia meno significativo rispetto agli errori di inserimento dei dati e alla necessità di facilitare l’uso da parte degli utenti meno esperti.
Impatto sulle distribuzioni e sul mondo Ubuntu
La modifica interessa in modo diretto gli utenti di Ubuntu che adottano sudo-rs come implementazione predefinita. A partire dalle release che integrano il progetto Rust, il comportamento con asterischi è attivo automaticamente.
Una segnalazione di bug da parte di utenti contrari alla novità è stata classificata come “Won’t Fix”, indicando che non è previsto un ritorno al comportamento tradizionale.
Per ambienti server la portata del cambiamento è più limitata. In molti casi l’accesso privilegiato avviene tramite autenticazione a chiave pubblica su SSH, riducendo l’uso di password interattive.
In ambienti in cui le operazioni sono automatizzate o gestite da sistemi di orchestrazione, il comando sudo è spesso configurato nel file sudoers con direttive NOPASSWD, cioè regole che permettono a determinati utenti o processi di eseguire comandi con privilegi amministrativi senza dover inserire la password, facilitando l’esecuzione automatica delle attività.
Configurazione e disattivazione degli asterischi per le password
Gli amministratori che preferiscono mantenere il comportamento classico possono intervenire direttamente nella configurazione di sistema.
È sufficiente infatti aggiungere la direttiva Defaults !pwfeedback nel file sudoers, gestito con l’utility visudo per prevenire errori sintattici. La modifica riporta il sistema al modello privo di feedback visivo.
Nei sistemi Ubuntu fino alla versione 26.04 è inoltre possibile tornare all’implementazione storica in C utilizzando il sistema di alternative. Il comando update-alternatives consente di selezionare nuovamente il binario sudo classico, mantenendo compatibilità con gli script e le configurazioni esistenti.
Architettura di sudo-rs e benefici di sicurezza
sudo-rs rappresenta una riscrittura completa in Rust del codice storico di sudo, sviluppato originariamente in C e mantenuto per oltre 30 anni.
La versione scritta in Rust integra meccanismi di sicurezza garantiti dal modello gestito dal compilatore chiamato borrow checker: controlla come i dati sono usati e condivisi in memoria e impedisce errori comuni come il superamento dei limiti dei buffer (buffer overflow), l’uso di memoria già liberata (use-after-free) e l’accesso a puntatori non validi o non inizializzati (dereferenziazioni non sicure).
Il progetto è sviluppato dalla Trifecta Tech Foundation ed è stato sottoposto a due audit indipendenti. L’analisi del 2025 non ha evidenziato vulnerabilità sfruttabili, mentre nel 2023 era stato identificato un problema di path traversal, corretto successivamente e presente anche nell’implementazione originale di sudo.
La riscrittura in Rust non elimina automaticamente tutti i rischi logici, ma riduce significativamente le vulnerabilità legate alla gestione della memoria.