Sudo (su "do") è un software open source e gratuito di riga di comando che consente agli utenti regolari di eseguire diversi comandi che necessitano di privilegi di root o come amministratori di sistema, in qualsiasi GNU / Linux e sistemi operativi simili a UNIX.
Uno strumento per una potente gestione del sistema
Tuttavia, non tutti gli utenti hanno accesso al comando sudo in un ambiente Linux, ma solo alcuni utenti o gruppi di utenti hanno questa capacità, come configurato dall'amministratore di sistema. Sono chiamati utenti con privilegi di root.
Tutti i comandi, nonché i loro argomenti, eseguiti (come root) da un utente normale vengono registrati per impostazione predefinita nella directory di registri predefiniti del rispettivo sistema operativo Linux. Tutte le distribuzioni Linux includono il comando sudo per impostazione predefinita.
Come iniziare con Sudo
Essere predefinito, Sudo è installato in qualsiasi sistema operativo GNU / Linux distribuito sia come immagini ISO (solo live o installabili) che immagini USB. Sudo è anche un pacchetto essenziale per le distribuzioni di Linux che devono essere costruite da fonti o utilizzando binari pre-costruiti, come Gentoo e Arch Linux.
su Softoware, è possibile scaricare l'ultima versione di Sudo come archivio di sorgenti universali nel formato di file tar.gz, che può essere ottimizzato per la piattaforma del computer, supportando sia le architetture di set di istruzioni a 32 bit che a 64 bit. / p>
Per installarlo, scaricare il file e salvarlo sul percorso, estrarre l'archivio, aprire un emulatore di terminali, navigare alla posizione dei file archiviati estratti utilizzando il & lsquo; cd & rsquo; comando e eseguire il comando & lsquo; ./ configure && make & rsquo; comando per configurare e compilare il programma.
Dopo un'installazione riuscita, puoi eseguire il comando & lsquo; make install & rsquo; comando con sudo (sì, sudo deve essere installato sul sistema prima dell'installazione) o come root (amministratore di sistema), la scelta consigliata se sudo non è installato sul tuo sistema GNU / Linux.
Cosa c'è di nuovo in questa release:
- Nei sistemi che supportano sia PAM che SIGINFO, il processo sudo principale non sarà più in grado di inoltrare SIGINFO al comando se il segnale è stato generato dalla tastiera. Il comando avrà già ricevuto SIGINFO poiché fa parte dello stesso gruppo di processi, quindi non c'è bisogno che sudo lo inoltri. Ciò è coerente con la gestione di SIGINT, SIGQUIT e SIGTSTP. Bug # 796.
- Se SUDOERS_SEARCH_FILTER in ldap.conf non specifica un valore, l'espressione di ricerca LDAP utilizzata quando si esaminano i gruppi di rete e gruppi non-Unix ha avuto un errore di sintassi se non è stato specificato un plugin di gruppo.
- sudo -U elseuser -l avrà ora un valore di uscita di 0 anche se otheruser non dispone di privilegi sudo. Il valore di uscita quando un utente tenta di elencare i propri privilegi o quando viene specificato un comando è invariato.
- Fissa una regressione introdotta in sudo 1.8.21 dove la riproduzione sudoreplay appendere per i log di I / O che contengono l'ingresso terminale.
- Sudo 1.8.18 conteneva una correzione incompleta per l'abbinamento delle voci nei backend di LDAP e SSSD quando è specificato un sudoRunAsGroup, ma non sudoRunAsUser è presente nel sudoRole.
Cosa c'è di nuovo nella versione 1.8.16:
- Risolto un errore di compilazione su Solaris 10 con Stun Studio 12. Bug # 727.
- Quando conservare le variabili dall'ambiente dell'utente invocato, se ci sono duplicati, il sudo mantiene la prima istanza.
- Fixed un bug che potrebbe causare la trasmissione della posta di avviso in modalità di elenco (sudo -l) per gli utenti senza privilegi sudo quando vengono utilizzati i backend LDAP e SSSD.
- Fixed un bug che impediva la & quot; mail_no_user & quot; opzione di funzionare correttamente con il backend LDAP.
- Nei backend di LDAP e SSSD, lo spazio bianco viene ignorato tra un operatore (!, +, + =, - =) quando si analizza un sudoOption.
- Ora è possibile disattivare le impostazioni di percorso in sudo.conf ignorando il nome del percorso.
- L'opzione predefinita sudoedit_checkdir è abilitata per impostazione predefinita ed è stata estesa. Quando si modifica i file con sudoedit, ogni directory del percorso da modificare è ora selezionata. Se una directory è scrivibile dall'utente che invoca, i collegamenti simbolici non verranno seguiti. Se la directory padre del file da modificare è scrivibile, sudoedit rifiuterà di modificarla. Bug # 707.
- L'opzione netgroup_tuple Defaults è stata aggiunta per abilitare l'associazione dell'intera tuple netgroup, non solo la porzione host o utente. Bug # 717.
- Quando si combinano i comandi in base al digest SHA2, sudo userà ora fexecve (2) per eseguire il comando se è disponibile. Questo consente di correggere un tempo di controllo rispetto al tempo di utilizzo della condizione di corsa quando la directory che detiene il comando è scrivibile dall'utente che invoca.
- Su sistemi AIX, sudo elabora la stringa del registro autorizzato insieme a password e informazioni di gruppo. Questo risolve un problema potenziale quando un utente o un gruppo dello stesso nome esiste in più registri di autorizzazioni. Ad esempio, locale e LDAP.
- Risolto un incidente nel backend SSSD quando l'utente invocato non è stato trovato. Bug # 732.
- Aggiunto il flag -enable-asan configure per abilitare il supporto sanitizzatore dell'indirizzo. Alcune perdite di memoria minori sono state collegate per calmare il rilevatore di perdite ASAN.
- Il valore di _PATH_SUDO_CONF può essere nuovamente sovrascritto tramite il bug # 735.
- Lo script sudoers2ldif ora gestisce più ruoli con lo stesso nome.
- Risolto un errore di compilazione su sistemi che dispongono delle funzioni posix_spawn () e posix_spawnp (), ma una intestazione spawn.h non utilizzabile. Bug # 730.
- Supporto fisso per la negazione di classi di caratteri nella versione di sudo della funzione fnmatch ().
- Risolto un bug nei backend di LDAP e SSSD che potrebbero consentire a un utente non autorizzato di elencare i privilegi di un altro utente. Bug # 738.
- La funzione di conversazione PAM ora funziona attorno ad una ambiguità nella specifica PAM rispetto a più messaggi. Bug # 726.
- Traduzioni aggiornate da translationproject.org.
Cosa c'è di nuovo nella versione 1.8.15:
- Corretto un bug che impediva al sudo di costruire al di fuori dell'albero di origine su alcune piattaforme. Bug # 708.
- Fissa la posizione della libreria sssd nei pacchetti RHEL / Centos. Bug # 710.
- Risolto un problema di build su sistemi che non includono implicitamente sys / types.h da altri file di intestazione. Bug # 711.
- Risolto un problema su Linux utilizzando contenitori in cui il sudo ignorerebbe i segnali inviati da un processo in un altro contenitore.
- Sudo rifiuta di eseguire un comando se il modulo di sessione PAM restituisce un errore.
- Quando si modifica i file con sudoedit, i collegamenti simbolici non saranno più seguiti per impostazione predefinita. Il vecchio comportamento può essere ripristinato abilitando l'opzione sudoedit_follow in sudoers o su base di comando con i tag FOLLOW e NOFOLLOW. Bug # 707.
- Fissa un bug introdotto nella versione 1.8.14 che ha causato l'ultimo editor valido nel sudoers & quot; editor & quot; lista da utilizzare da visudo e sudoedit anziché la prima. Bug # 714.
- Fissa un bug in visudo che impediva l'aggiunta di una nuova riga finale ai file modificati senza uno.
- Risolto un bug che decodifica determinate digests base64 nei sudoers quando il formato intermedio includeva un carattere '='.
- I record individuali sono ora bloccati nel file della timestazione anziché l'intero file. Ciò consente a sudo di evitare di richiedere una password più volte sullo stesso terminale se utilizzato in una conduttura. In altre parole, sudo cat foo | il bar di sudo grep ora richiede una sola volta la password. In precedenza, entrambi i processi sudo richiederebbero una password, rendendo spesso impossibile l'accesso. Bug # 705.
- Corretto un bug in cui il sudo non riesce a eseguire i comandi come utente non-root su sistemi che non dispongono di setresuid () e setreuid (). Bug # 713.
- Risolto un bug introdotto in sudo 1.8.14 che impediva a visudo di modificare nuovamente il file corretto quando è stato rilevato un errore di sintassi.
- Corretto un bug in cui il sudo non avrebbe trasmesso un segnale SIGHUP al comando quando il terminale è chiuso e il comando non viene eseguito nel proprio pseudo-tty. Bug # 719.
- Se alcune, ma non tutte, le variabili di ambiente LOGNAME, USER o USERNAME sono state salvate dall'ambiente dell'utente invocato, il sudo utilizzerà ora il valore conservato per impostare le variabili residue anziché utilizzare l'utente runas. Ciò assicura che, ad esempio, solo nell'elenco env_keep sia presente solo LOGNAME, che sudo non imposta USER e USERNAME all'utente runas.
- Quando il comando sudo è in esecuzione muore a causa di un segnale, sudo ora invierà stesso stesso segnale con il gestore di segnali predefinito installato invece di uscire. La shell bash sembra ignorare alcuni segnali, ad esempio SIGINT, a meno che il comando in esecuzione non viene ucciso da quel segnale. Ciò rende il comportamento dei comandi eseguiti sotto la sudo come senza sudo quando bash è la shell. Bug # 722.
- traduzione slovacca per sudo da translationproject.org.
- Traduzioni ungherese e slovacco per sudoers da translationproject.org.
- In precedenza, quando env_reset è stato abilitato (l'impostazione predefinita) e l'opzione -s non è stata utilizzata, la variabile di ambiente SHELL è stata impostata sulla shell dell'utenza invocante. Ora, quando env_reset è abilitato e l'opzione -s non viene utilizzata, SHELL viene impostata in base all'utente target.
- Autenticazione BSD di sfida / risposta fissa.
- Aggiunta l'opzione predefinite sudoedit_checkdir per impedire a sudoedit di modificare i file situati in una directory che è scrivibile dall'utente che invoca.
- Aggiunta l'opzione always_query_group_plugin Defaults per controllare se i gruppi non trovati nel database del gruppo di sistema vengono passati al plug-in del gruppo. In precedenza, i gruppi di sistemi sconosciuti sono stati sempre passati al plug-in del gruppo.
- Quando si crea un nuovo file, sudoedit controlla ora che la directory padre del file esiste prima di eseguire l'editor.
- Risolto il test del protettore dello stack del compilatore in configure per i compilatori che supportano -fstack-protector ma che in realtà non dispongono della libreria ssp.
Cosa c'è di nuovo nella versione 1.8.14p3:
- Risolto un bug introdotto in sudo 1.8.14p2 ha impedito al sudo di lavorare quando non è presente tty.
- Rilevamento di tty fisso su nuovi sistemi AIX dove dev_t è a 64 bit.
Cosa c'è di nuovo nella versione 1.8.14:
- I messaggi di registro su Mac OS X rispettano sudoers_locale quando sudo viene generato con il supporto NLS.
- Le pagine manuali del sudo passano ora mandoc -Tlint senza avvertenze.
- Risolto un problema di compilazione sui sistemi con la funzione sig2str () che non definiscono SIG2STR_MAX in signal.h.
- Ha elaborato un bug di compilatori che ha comportato un comportamento imprevisto quando restituisce un int da una funzione dichiarata per restituire bool senza un cast esplicito.
- Ha lavorato intorno a un bug in auditing di BSD di Mac OS X 10.10 dove l'au_preselect () non riesce per gli eventi di AUE_sudo, ma riesce ad AUE_DARWIN_sudo.
- Risolto un blocco su sistemi Linux con glibc quando sudo è collegato a jemalloc.
- Quando l'utente esegue un comando come ID utente che non è presente nel database di password tramite il flag -u, il comando viene ora eseguito con l'ID gruppo dell'utente che invoca invece dell'ID 0 del gruppo.
- Risolto un problema di compilazione su sistemi che non tengono le definizioni di uid_t e gid_t senza sys / types.h o unistd.h.
- Risolto un problema di compilazione su nuovi sistemi AIX che utilizzano un struct st_timespec per i timepassi in stat struct che differisce da struct timepec. Bug # 702.
- La directory di esempio è ora configurabile tramite -with-exampledir e default di DATAROOTDIR / examples / sudo su sistemi BSD.
- Il file /usr/lib/tmpfiles.d/sudo.conf è ora installato come parte di & quot; make install & quot; quando il sistema è in uso.
- Risolto un problema di linker su alcuni sistemi con libintl. Bug # 690.
- Raccolta fissa con compilatori che non supportano __func__ o __FUNCTION __.
- Sudo non ha più bisogno di utilizzare simboli deboli per supportare la localizzazione nelle funzioni di avviso. Viene invece utilizzata una funzione di registrazione.
- Risolto un errore di setresuid () nel sudoers sui kernel Linux dove le modifiche di uid prendono in considerazione il limite delle risorse nproc.
- Domande di rete LDAP fisse su AIX.
- Sudo visualizza ora la richiesta personalizzata sui sistemi Linux con PAM anche se la & quot; Password: & quot; il prompt non è localizzato dal modulo PAM. Bug # 701.
- I valori quotati in un sudoOption LDAP sono ora supportati per coerenza con i sudoers basati su file.
- Risolto un bug che impediva la scrittura di btime in / proc / stat da parsare su Linux.
Cosa c'è di nuovo nella versione 1.8.13:
- La directory degli esempi è ora una sottodirectory del dir doc per conformarsi alle linee guida di Debian. Bug # 682.
- Risolto un errore di compilazione per siglist.c e signame.c su alcuni sistemi. Bug # 686.
- I simboli deboli sono ora usati per sudo_warn_gettext () e sudo_warn_strerror () in libsudo_util per evitare errori di collegamento quando -Wl, - no-undefined viene utilizzato in LDFLAGS. L'opzione -disable-weak-symbols configure può essere utilizzata per disattivare l'utente di simboli deboli.
- Risolto un bug nella funzione di sostituzione mkstemps () di sudo che impediva l'estensione del file da conservare in sudoedit.
- Una nuova mail_all_cmnds sudoers flag invierà la posta quando un utente esegue un comando (o prova a). Il comportamento del flag mail_always è stato ripristinato per inviare sempre la posta quando viene eseguita la sudo.
- Nuovi tag di comando MAIL e NOMAIL sono stati aggiunti per attivare il comportamento di invio di posta su base per comando (o Cmnd_Alias).
- Corrispondenza fisica delle password vuote quando sudo è configurato per utilizzare l'autenticazione dei file passwd (o shadow) nei sistemi in cui la funzione crypt () restituisce NULL per sali non validi.
- Su AIX, sudo utilizza ora il valore dell'impostazione auth_type in /etc/security/login.cfg per determinare se utilizzare LAM o PAM per l'autenticazione utente.
- L'impostazione completa per listpw e verifypw funziona correttamente con i sudoers LDAP e sssd.
- La directory timestamp sudo viene creata all'avvio di avvio su piattaforme che utilizzano systemd.
- Sudo ripristina ora il valore del gestore SIGPIPE prima di eseguire il comando.
- Sudo utilizza ora struct timepec anziché struct timeval per il time keeping quando possibile. Se supportato, sudoedit e visudo ora utilizzano timbri di tempo di granularità nanosecondi.
- Fissa una collisione di nome di simboli con i sistemi che hanno la propria implementazione SHA2. Questo risolve un problema in cui PAM potrebbe utilizzare l'implementazione errata SHA2 nei sistemi Solaris 10 configurati per utilizzare SHA512 per le password.
- L'editor invocato da sudoedit utilizza ancora una volta una copia non modificata dell'ambiente dell'utente in base alla documentazione. Questo è stato inavvertitamente modificato in sudo 1.8.0. Bug # 688.
Cosa c'è di nuovo nella versione 1.8.11p2:
- Fixed un bug in cui gli oggetti condivisi dinamici caricati da un plugin potrebbero utilizzare la versione hooked di getenv () ma non le versioni agganciate di putenv (), setenv () o unsetenv (). Ciò può causare problemi per i moduli PAM che utilizzano tali funzioni.
Cosa c'è di nuovo nella versione 1.8.9p5:
- Risolto un errore di compilazione su AIX quando è abilitato il supporto LDAP.
- Parsing fisso dell'impostazione predefinita "umask" in sudoers. Bug # 632.
- Risolto un'asserzione fallita quando l'impostazione predefinita "closefrom_override" è abilitata in sudoers e viene utilizzata la flag di sudo. Bug # 633.
Cosa c'è di nuovo nella versione 1.8.9p4:
- Risolto un bug in cui il sudo potrebbe consumare grandi quantità di CPU mentre il comando era in esecuzione quando la registrazione di I / O non è abilitata. Bug # 631
- Risolto un bug in cui il sudo usciva con un errore quando il livello di debug è impostato su util @ debug o tutti @ debug e la registrazione I / O non è abilitata. Il comando continuerà a eseguire il runnning dopo che il sudo è uscito.
Cosa c'è di nuovo nella versione 1.8.3:
- Aggiunto il tag SUDO_1_8_3 per le modifiche 82bec4d3a203
- Aggiorna traduzione sudoers giapponese da translationproject.org
Cosa c'è di nuovo nella versione 1.7.4p5:
- È stato corretto un bug che consentirebbe di eseguire un comando senza che l'utente immetta una password quando il flag di -g di sudo viene utilizzato senza il flag -u.
- Se l'utente non dispone di gruppi aggiuntivi, il sudo ricade ora sul controllo esplicito del file di gruppo, che ripristina il comportamento storico di sudo.
- Un crash è stato risolto quando il flag -g di sudo viene utilizzato senza il flag -u e il file sudoers contiene una voce senza l'elenco di utenti o gruppi runas.
- Un bug è stato risolto nel supporto di registrazione I / O che potrebbe causare artefatti visivi in programmi a schermo intero, ad esempio editor di testo.
- Un crash è stato risolto quando il supporto del progetto Solaris è abilitato e il flag di -g sudo viene utilizzato senza il flag -u.
- Sudo non esce più con un errore quando il supporto per il controllo è compilato ma il controllo non è abilitato.
- Corretto un bug introdotto in sudo 1.7.3 dove il file di ticket non è stato onorato quando l'opzione predefinita "sudoers" di targetpw è stata attivata.
- I tag LOG_INPUT e LOG_OUTPUT in suderi vengono ora analizzati correttamente.
- Un'arresto è stato risolto in "sudo -l" quando il sudo è stato costruito con il supporto di controllo e l'utente non è autorizzato a eseguire alcun comando nell'host.
Cosa c'è di nuovo nella versione 1.7.4p2:
- È stato risolto un errore in cui il sudo potrebbe ruotare in un loop occupato in attesa del processo figlio.
- Un bug introdotto in sudo 1.7.3 che impediva alle opzioni -k e -K di funzionare quando l'opzione tty_tickets sudoers è abilitata.
- Sudo non stampa più un avviso quando le opzioni -k o -K sono specificate e il file ticket non esiste.
Cosa c'è di nuovo nella versione 1.7.4:
- Sudoedit conserverà ora l'estensione di file in nome del file temporaneo in fase di modifica. L'estensione viene utilizzata da alcuni editor (ad esempio emacs) per scegliere la modalità di modifica.
- I file della timestazione sono passati da / var / run / sudo a / var / db / sudo, / var / lib / sudo o / var / adm / sudo. Le directory vengono controllate per l'esistenza in quell'ordine. Ciò impedisce agli utenti di ricevere la lezione sudo ogni volta che il sistema si riavvia. I file di timestazione più vecchi rispetto all'avvio vengono ignorati nei sistemi in cui è possibile determinare questo.
- La documentazione ausiliaria (file README, LICENSE, ecc.) è ora installata in una directory di documentazione sudo.
- Sudo riconosce ora "tls_cacert" come alias per "tls_cacertfile" in ldap.conf.
- Le impostazioni di default impostate ad un utente, un host o un comando possono ora includere l'operatore di negazione. Ad esempio:
- Impostazioni predefinite: lecture
- corrisponderà a qualsiasi utente ma a millert.
- La variabile di ambiente PATH predefinita, usata quando non esiste una variabile PATH, ora include / usr / sbin e / sbin.
- Sudo ora usa polypkg (http://rc.quest.com/topics/polypkg/) per l'imballaggio cross-platform.
- Su Linux, il sudo ripristina il limite delle risorse nproc prima di eseguire un comando, a meno che il limite non sia stato modificato da pam_limits. Ciò evita un problema con gli script bash che aprono più di 32 descrittori su SuSE Linux, dove sysconf (_SC_CHILD_MAX) restituirà -1 quando RLIMIT_NPROC è impostato su RLIMIT_UNLIMITED (-1).
- Visudo ora tratta una voce di Defaults non riconosciuta come un errore di parsing (sudo avverte ma ancora eseguito).
- Le variabili di ambiente HOME e MAIL sono ora ripristinate in base alla voce del database di password di un utente di destinazione quando l'opzione env_reset sudoers è abilitata (come nella configurazione predefinita). Gli utenti che desiderano conservare i valori originali dovrebbero utilizzare una voce sudoers come:
- Defaults env_keep + = HOME
- per conservare il vecchio valore di HOME e
- Defaults env_keep + = MAIL
- per conservare il vecchio valore di MAIL.
- L'opzione tty_tickets è attiva per impostazione predefinita.
- Risolto un problema nel ripristino dell'impostazione del Registro di sistema AIX authdb.
- Se PAM è in uso, attendere che il processo sia terminato prima di chiudere la sessione PAM.
- Fisso "utente sudo -i -u" in cui l'utente non dispone di shell elencati nel database di password.
- Quando si registra I / O, il sudo gestisce ora la riproduzione di pty read / write che riporta ENXIO, come veduto su FreeBSD quando la sessione di login è stata uccisa.
- Sudo esegue ora la registrazione I / O nella locale C. Ciò evita le problematiche locali quando analizza i numeri a virgola mobile nel file di temporizzazione.
- Aggiunto il supporto per i file di puntino di amministratore in Ubuntu.
I commenti non trovato