Anche se ci sono diversi approcci qui, l'approccio migliore e la chiave per la sicurezza sul desktop è supporre che qualsiasi userland l'esecuzione del software è già compromessa. In altre parole, riponi la tua fiducia nel sistema operativo, non nei programmi. Se il sistema operativo è compromesso ... è il momento di sostituire il computer.
Hai menzionato sudo
come modo per autenticare i pacchetti di sistema install (non scaricare). Questo perché il gestore pacchetti è bloccato e richiede l'accesso root (di gruppo o utente). In altre parole, apt-get
non impone la sicurezza stessa, semplicemente fa cose che richiedono l'accesso come root. Sul mio sistema è r-x
per il gruppo radice, di cui sono un utente. Quindi posso eseguirlo, ma non può fare nulla di utile a meno che non venga eseguito come root perché le cose che tenta di fare richiedono l'accesso come root.
Allo stesso modo, un programma per utenti non dovrebbe preoccuparsi troppo della sicurezza. Invece, dovrebbe fare affidamento sulle credenziali dell'utente connesso per consentirgli di accedere alle risorse di sistema protette dal sistema operativo . Se l'utente ha bisogno di privilegi elevati, esegui come root, usa sudo
o fai clic con il pulsante destro del mouse e "esegui come amministratore" in Windows.
In teoria, qualsiasi protezione a livello di applicazione può essere interrotta in una questione di tempo da chiunque abbia accesso al sistema.
Anche i software server come SQL Server seguono questo modello preferendo affidarsi a gruppi e privilegi di sistema. Se provi a utilizzare l'autenticazione di SQL Server e disattivi la sicurezza basata sui gruppi, ti avviserà che non è sicuro, perché non lo è.
Ricordare che il sistema operativo si trova in un ambiente di esecuzione speciale privilegiato che fornisce accesso senza restrizioni a tutte le risorse di sistema. Le applicazioni nei moderni sistemi operativi fanno ciò che il sistema operativo consente loro di fare. Sfrutta la sicurezza integrata e non reinventare la ruota .
Per indirizzare la tua domanda più direttamente, può essere accettabile autenticarsi nel programma stesso se stai installando plugin sul profilo dell'utente, localizzando eventuali danni all'account dell'utente. Tuttavia, questo è piuttosto inutile in quanto non è necessario alcun privilegio diverso per completare l'azione. Consiglierei comunque di non autenticarmi e di fare affidamento sulla sicurezza integrata per consentire all'azione di avere successo o fallire (in questo caso, molto probabilmente ci riuscirà).
L'unica volta che ha veramente senso inserire una password senza privilegi elevati serve per crittografare o decifrare i dati: ma non dovrebbe essere comunque una password per l'account utente.