/https://www.ilsoftware.it/app/uploads/2025/05/ubuntu-sudo-rs.jpg)
La nota distribuzione Linux Ubuntu si prepara a un cambiamento strutturale che segnerà un punto di svolta nell’evoluzione della sua architettura di sicurezza: a partire dalla versione 25.10, il sistema utilizzerà sudo-rs come implementazione predefinita del comando sudo
, rimpiazzando l’attuale versione storicamente basata su C. Il nuovo strumento risulta riscritto in Rust, linguaggio moderno progettato per prevenire intere classi di vulnerabilità legate alla sicurezza della memoria.
La decisione di Canonical si inserisce in una più ampia strategia volta a rafforzare la sicurezza dell’intero stack software di Ubuntu, attraverso l’adozione progressiva di tecnologie a prova di errore sistemico. Rust, con il suo approccio alla memory safety senza garbage collector, è oggi considerato uno standard emergente per la programmazione di basso livello sicura e performante. E ciò nonostante i malumori di alcuni maintainer Linux.
A marzo 2025, Canonical stessa ha fatto sapere di voler abbandonare le classiche utility di sistema GNU per abbracciare le corrispondenti riscritte in Rust (U-utils).
Perché sudo-rs in Ubuntu?
Il progetto sudo-rs è guidato da Trifecta Tech Foundation (TTF), una fondazione senza scopo di lucro che sviluppa componenti infrastrutturali open source con un focus specifico sulla sicurezza.
Il comando sudo è uno degli strumenti più sensibili in qualsiasi sistema Linux, essendo responsabile della gestione dell’accesso amministrativo e della delimitazione dei privilegi. La sua riscrittura in Rust rappresenta un tentativo ambizioso di eliminare bug di memoria comuni come buffer overflow, use-after-free e problemi con i puntatori, frequentemente riscontrati nei software sviluppati in C.
Pur riconoscendo che nessun linguaggio garantisce l’infallibilità del software, gli sviluppatori di sudo-rs sottolineano come Rust riduca drasticamente la superficie di attacco, migliorando la sicurezza senza sacrificare prestazioni o compatibilità.
Il team di sudo-rs, in collaborazione con lo storico maintainer del comando sudo
originale, Todd Miller, adotta un approccio minimalista: solo le funzionalità davvero utili e comuni saranno implementate, evitando la proliferazione di codice superfluo e difficile da mantenere.
Principali differenze tra sudo e sudo-rs
Dal punto di vista dell’utente, il comando sudo
rimane invariato in Ubuntu: si potrà usarlo continuando a digitare sudo
, come sempre. Tuttavia, “sotto il cofano” sarà eseguito sudo-rs.
Come evidenziato in precedenza, comunque, sudo-rs non è completamente compatibile con il sudo
originale: alcune funzionalità sono rimosse, altre modificate e nuove feature potrebbero essere introdotte nel tempo. Da notare che, sempre lato utente normale, alcuni messaggi di errore e certi avvisi possono cambiare leggermente con il nuovo sudo-rs.
Per gli amministratori di sistema e gli utenti avanzati, invece, ci sono modifiche importanti:
- Supporto limitato a funzionalità avanzate: ad esempio, l’uso di
sendmail
per le notifiche di sudo non è supportato. - Autenticazione solo tramite PAM: le configurazioni di limiti di risorse e
umask
devono essere gestite tramite PAM, non più direttamente nel filesudoers
(vedere più avanti). - Nessun supporto per le wildcard nei comandi: riduce errori di configurazione.
- Licenza MIT invece della GPL del comando
sudo
tradizionale.
PAM (Pluggable Authentication Modules) è il framework di autenticazione usato dalla maggior parte dei sistemi Linux moderni. Gestisce l’accesso degli utenti, le politiche di sicurezza e alcune configurazioni di ambiente, come limiti di risorse e variabili d’ambiente. In pratica, PAM controlla chi può fare cosa quando si esegue un comando con privilegi elevati.
Con il sudo
classico alcune configurazioni, come limiti di CPU, memoria, numero di processi e umask
(i permessi predefiniti per i file creati), potevano essere impostate direttamente nel file /etc/sudoers
. Con sudo-rs, invece, tutte le configurazioni di autenticazione e ambiente passano obbligatoriamente tramite PAM. Questo significa che i limiti di risorse e l’umask
non possono più essere definiti nel file sudoers
.
Come usare sudo-rs in Ubuntu
In Ubuntu 25.10 sudo
è di fatto un softlink a sudo-rs: l’esperienza utente è invariata, ma il backend è Rust. Il comando sudo
originale è ancora presente come sudo-ws
.
È possibile invocarlo direttamente o impostarlo come predefinito tramite update-alternatives
, almeno fino a Ubuntu 26.10:
sudo update-alternatives --config sudo
Per provare sudo-rs nelle versioni precedenti della distro Linux (Ubuntu 24.04+), è possibile eseguire sudo-rs
direttamente.
Verso Ubuntu 26.04 LTS
La scelta di introdurre sudo-rs come predefinito già con Ubuntu 25.10 ha anche un obiettivo strategico: permettere un’ampia fase di collaudo sul campo prima dell’inclusione nella prossima LTS (Long Term Support), Ubuntu 26.04, prevista per aprile 2026.
Questa scelta di Canonical permetterà alla comunità, agli sviluppatori e agli amministratori di sistema di familiarizzare con sudo-rs e contribuire con feedback e miglioramenti prima che venga adottato in ambienti mission-critical a lungo termine.
L’invito promosso da Ubuntu è chiaro: riconsiderare l’intero ecosistema Unix-like alla luce delle moderne pratiche di sicurezza.