Sudo (su "do") é um software de código aberto e de linha de comando gratuito que permite aos usuários regulares executar vários comandos que precisam de privilégios de root ou como administrador de sistema, sob qualquer GNU / Linux e sistemas operacionais semelhantes a UNIX.
A única ferramenta para administração de sistema poderosa
No entanto, nem todos os usuários têm acesso ao comando sudo em um ambiente Linux, mas apenas determinados usuários ou grupos de usuários possuem essa habilidade, conforme configurado pelo administrador do sistema. Eles são chamados de usuários com privilégios de root.
Todos os comandos, assim como seus argumentos, são executados (como raiz) por um usuário normal, são registrados de forma padrão no diretório de logs padrão do respectivo sistema operacional Linux. Todas as distribuições Linux incluem o comando sudo por padrão.
Começando com Sudo
Seja padrão, o Sudo está instalado em qualquer sistema operacional GNU / Linux que seja distribuído como imagens ISO (somente em tempo real ou instalável) ou imagens USB. O Sudo também é um pacote essencial para distribuições de Linux que precisam ser compiladas a partir de fontes ou usando binários pré-compilados, como o Gentoo e o Arch Linux, respectivamente.
no Softoware, você pode baixar a versão mais recente do Sudo como um arquivo de fontes universal no formato de arquivo tar.gz, que pode ser otimizado para sua plataforma de computador, suportando arquiteturas de conjunto de instruções de 32 bits e 64 bits.
Para instalá-lo, baixar o arquivo e salvá-lo em seu caminho, extrair o arquivo, abrir um emulador de terminal, navegar até a localização dos arquivos de arquivo extraídos usando o & lsquo; cd & rsquo; comando e execute o & lsquo; ./ configure && make & rsquo; comando para configurar e compilar o programa.
Após uma instalação bem-sucedida, você pode executar o & lsquo; make install & rsquo; comando com sudo (sim, sudo deve ser instalado no seu sistema antes da instalação) ou como root (administrador do sistema), que é a escolha recomendada se o sudo não estiver instalado no seu sistema GNU / Linux.
O que é novo nesta versão:
- Nos sistemas que suportam PAM e SIGINFO, o processo sudo principal não encaminhará SIGINFO para o comando se o sinal fosse gerado a partir do teclado. O comando já receberá o SIGINFO, pois faz parte do mesmo grupo de processos, portanto, não há necessidade de o sudo encaminhá-lo. Isso é consistente com o tratamento de SIGINT, SIGQUIT e SIGTSTP. Erro # 796.
- Se SUDOERS_SEARCH_FILTER em ldap.conf não especificar um valor, a expressão de pesquisa LDAP usada ao pesquisar grupos netos e não-Unix teve um erro de sintaxe se um plugin de grupo não foi especificado.
- sudo -U outro usuário -l agora terá um valor de saída de 0, mesmo que outro usuário não tenha privilégios de sudo. O valor de saída quando um usuário tenta listar seus próprios privilégios ou quando um comando é especificado é inalterado.
- Corrigido uma regressão introduzida no sudo 1.8.21, onde a reprodução de sudoreplay seria pendurada para logs de E / S que contenham entrada de terminal.
- Sudo 1.8.18 continha uma correção incompleta para a correspondência de entradas nos backends LDAP e SSSD quando um sudoRunAsGroup é especificado, mas nenhum sudoRunAsUser está presente no sudoRole.
O que é novo na versão 1.8.16:
- Corrigido um erro de compilação no Solaris 10 com Stun Studio 12. Bug # 727.
- Ao preservar variáveis do ambiente do usuário que invoca, se houver duplicatas, o sudo agora só mantém a primeira instância.
- Corrigido um erro que poderia fazer com que o correio de aviso fosse enviado no modo de lista (sudo -l) para usuários sem privilégios de sudo quando os backends LDAP e SSSD são usados.
- Corrigido um erro que impediu o & quot; mail_no_user & quot; opção de funcionar corretamente com o backend LDAP.
- Nos backends LDAP e SSSD, o espaço em branco agora é ignorado entre um operador (!, +, + =, - =) ao analisar um sudoOption.
- Agora é possível desabilitar as configurações do caminho em sudo.conf, omitido o nome do caminho.
- A opção sudoedit_checkdir Defaults agora está habilitada por padrão e foi estendida. Ao editar arquivos com sudoedit, cada diretório no caminho a ser editado agora está marcado. Se um diretório é gravável pelo usuário invocador, os links simbólicos não serão seguidos. Se o diretório pai do arquivo a ser editado é gravável, sudoedit se recusará a editá-lo. Bug # 707.
- A opção netgroup_tuple Defaults foi adicionada para permitir a correspondência de toda a tupla do netgroup, não apenas a parte do host ou do usuário. Bug # 717.
- Ao combinar comandos com base no sumário SHA2, sudo agora usará fexecve (2) para executar o comando se ele estiver disponível. Isso corrige um tempo de verificação em relação ao tempo de uso da condição de corrida quando o diretório que contém o comando é gravável pelo usuário invocador.
- Nos sistemas AIX, sudo agora armazena em cache a seqüência de registro de autenticação juntamente com as informações de senha e grupo. Isso corrige um problema potencial quando um usuário ou grupo do mesmo nome existe em vários registros de autenticação. Por exemplo, local e LDAP.
- Corrigido um bloqueio no backend SSSD quando o usuário invocador não foi encontrado. Bug # 732.
- Adicionado o sinalizador de configuração --enable-asan para habilitar o suporte para sanitização de endereços. Alguns pequenos vazamentos de memória foram conectados para silenciar o detector de vazamento ASAN.
- O valor de _PATH_SUDO_CONF pode ser novamente substituído através do Bug # 735.
- O script sudoers2ldif agora lida com várias funções com o mesmo nome.
- Corrigido um erro de compilação em sistemas que possuem as funções posix_spawn () e posix_spawnp (), mas um cabeçalho inusável spawn.h. Erro nº 730.
- Suporte fixo para negar as classes de caracteres na versão sudo da função fnmatch ().
- Corrigido um erro nos backends LDAP e SSSD que poderiam permitir que um usuário não autorizado listasse os privilégios de outro usuário. Bug # 738.
- A função de conversação PAM agora funciona em torno de uma ambigüidade na especificação PAM em relação a várias mensagens. Bug # 726.
- Traduções atualizadas de translationproject.org.
O que é novo na versão 1.8.15:
- Corrigido um erro que impediu o sudo de construir fora da árvore de origem em algumas plataformas. Bug # 708.
- Corrigiu a localização da biblioteca sssd nos pacotes RHEL / Centos. Erro nº 710.
- Corrigido um problema de compilação em sistemas que não implicitamente incluem sys / types.h de outros arquivos de cabeçalho. Erro nº 711.
- Corrigido um problema no Linux usando recipientes onde o sudo ignoraria os sinais enviados por um processo em um recipiente diferente.
- Sudo agora se recusa a executar um comando se o módulo de sessão PAM retornar um erro.
- Ao editar arquivos com sudoedit, os links simbólicos não serão seguidos por padrão. O comportamento antigo pode ser restaurado ao ativar a opção sudoedit_follow em sudoers ou em uma base por comando com as tags FOLLOW e NOFOLLOW. Bug # 707.
- Corrigido um bug introduzido na versão 1.8.14 que causou o último editor válido no "editor" do sudoers & quot; lista para ser usada por visudo e sudoedit em vez do primeiro. Erro nº 714.
- Corrigido um bug no visudo que impediu a adição de uma nova linha final aos arquivos editados sem um.
- Corrigido um bug que decodifica determinadas digestões base64 em sudoers quando o formato intermediário incluiu um caractere '='.
- Os registros individuais agora estão bloqueados no arquivo de carimbo de data / hora em vez de todo o arquivo. Isso permite que o sudo evite solicitar uma senha várias vezes no mesmo terminal quando usado em uma tubulação. Em outras palavras, sudo cat foo | sudo grep bar agora só solicita a senha uma vez. Anteriormente, ambos os processos sudo solicitariam uma senha, muitas vezes tornando impossível entrar. Bug # 705.
- Corrigido um erro onde sudo não executaria comandos como um usuário não-root em sistemas que não possuem setresuid () e setreuid (). Bug # 713.
- Corrigido um bug introduzido no sudo 1.8.14 que impediu o visudo de re-editar o arquivo correto quando um erro de sintaxe foi detectado.
- Corrigido um erro onde sudo não transmitiria um sinal SIGHUP ao comando quando o terminal estiver fechado eo comando não for executado em sua própria pseudo-tty. Bug # 719.
- Se algumas, mas não todas, as variáveis de ambiente LOGNAME, USER ou USERNAME foram preservadas do ambiente do usuário invocador, o sudo agora usará o valor preservado para definir as variáveis restantes em vez de usar o usuário runas. Isso garante que, se, por exemplo, apenas o LOGNAME estiver presente na lista env_keep, esse sudo não configurará USER e USERNAME para o usuário runas.
- Quando o comando sudo está sendo executado, morre devido a um sinal, o sudo agora enviará o mesmo sinal com o manipulador de sinal padrão instalado em vez de sair. O shell bash parece ignorar alguns sinais, e. SIGINT, a menos que o comando que está sendo executado seja morto por esse sinal. Isso faz com que o comportamento dos comandos seja executado em sudo o mesmo que sem sudo quando bash é o shell. Bug # 722.
- Tradução eslovaca para sudo from translationproject.org.
- Traduções húngaras e eslovacas para sudoers de translationproject.org.
- Anteriormente, quando env_reset foi habilitado (o padrão) e a opção -s não foi usada, a variável de ambiente SHELL foi configurada para o shell do usuário invocador. Agora, quando env_reset está habilitado e a opção -s não é usada, o SHELL é configurado com base no usuário alvo.
- Corrigiu a autenticação BSD do estilo desafio / resposta.
- Adicionou a opção sudoedit_checkdir Defaults para evitar que sudoedit edite arquivos localizados em um diretório que pode ser gravado pelo usuário invocador.
- Adicionou a opção always_query_group_plugin Defaults para controlar se grupos não encontrados no banco de dados do grupo de sistema são passados para o plugin de grupo. Anteriormente, grupos de sistema desconhecidos sempre foram passados para o plugin de grupo.
- Ao criar um novo arquivo, sudoedit verificará se o diretório pai do arquivo existe antes de executar o editor.
- Corrigido o teste do protetor de pilha do compilador em configure para compiladores que suportam -ftack-protector, mas na verdade não possuem a biblioteca ssp disponível.
O que é novo na versão 1.8.14p3:
- Corrigido um erro introduzido no sudo 1.8.14p2 que impediu que o sudo funcionasse quando não estava presente.
- Detecção de tty corrigida em sistemas AIX mais novos, onde dev_t é de 64 bits.
O que é novo na versão 1.8.14:
- As mensagens de log no Mac OS X agora respeitam sudoers_locale quando sudo é compilado com suporte NLS.
- As páginas de manual do sudo agora passam o mandoc -Tintinho sem avisos.
- Corrigido um problema de compilação em sistemas com a função sig2str () que não define SIG2STR_MAX no signal.h.
- Trabalhou em torno de um bug do compilador que resultou em um comportamento inesperado ao retornar um int de uma função declarada para retornar o bool sem um elenco explícito.
- Trabalhou em torno de um bug no Mac OS X 10.10 Auditoria BSD onde o au_preselect () falha para eventos AUE_sudo, mas êxito para AUE_DARWIN_sudo.
- Corrigido um suspenso em sistemas Linux com glibc quando o sudo está vinculado com jemalloc.
- Quando o usuário executa um comando como um ID de usuário que não está presente no banco de dados de senha via a bandeira -u, o comando agora é executado com o ID de grupo do usuário invocador em vez da ID de grupo 0.
- Corrigido um problema de compilação em sistemas que não puxam definições de uid_t e gid_t sem sys / types.h ou unistd.h.
- Corrigido um problema de compilação em sistemas AIX mais recentes que usam uma estrutura st_timespec para marcadores de tempo em struct stat que difere da struct timespec. Bug # 702.
- O diretório de exemplo agora é configurável via --with-exampledir e padrão para DATAROOTDIR / examples / sudo em sistemas BSD.
- O arquivo /usr/lib/tmpfiles.d/sudo.conf está agora instalado como parte de & quot; make install & quot; quando o sistema está em uso.
- Corrigido um problema de vinculador em alguns sistemas com libintl. Bug # 690.
- Compilação corrigida com compiladores que não suportam __func__ ou __FUNCTION __.
- O Sudo não precisa mais usar símbolos fracos para suportar a localização nas funções de aviso. Em vez disso, uma função de registro é usada.
- Corrigido uma falha setresuid () em sudoers em kernels do Linux onde uid changes leva em consideração o limite de recursos nproc.
- Fixou consultas LDAP netgroup no AIX.
- O Sudo agora exibirá o prompt personalizado em sistemas Linux com PAM, mesmo que o & quot; Senha: & quot; O prompt não é localizado pelo módulo PAM. Bug # 701.
- Os valores de dupla cotação em um sudoOption LDAP agora são suportados para consistência com sudoers baseados em arquivos.
- Corrigido um erro que impediu que a entrada btime em / proc / stat fosse analisada no Linux.
O que é novo na versão 1.8.13:
- O diretório de exemplos é agora um subdiretório do dir do doc para se adequar às diretrizes do Debian. Bug # 682.
- Corrigido um erro de compilação para siglist.c e signame.c em alguns sistemas. Bug # 686.
- Símbolos fracos agora são usados para sudo_warn_gettext () e sudo_warn_strerror () em libsudo_util para evitar erros de link quando -Wl, - no-indefinido é usado em LDFLAGS. A opção --disable-weak-symbols configure pode ser usada para desativar o usuário de símbolos fracos.
- Corrigido um erro na função de substituição mkstemps () do sudo que impediu que a extensão do arquivo fosse preservada no sudoedit.
- Um novo sinalizador de sudoers de mail_all_cmnds enviará email quando um usuário executa um comando (ou tenta). O comportamento da bandeira mail_always foi restaurado para sempre enviar mensagens quando o sudo é executado.
- Novas marcas de comando MAIL e NOMAIL foram adicionadas para alternar o comportamento de envio de correio em uma base por comando (ou Cmnd_Alias).
- Correspondência corrigida de senhas vazias quando o sudo está configurado para usar a autenticação de arquivo passwd (ou sombra) em sistemas onde a função crypt () retorna NULL para sais inválidos.
- No AIX, sudo agora usa o valor da configuração auth_type em /etc/security/login.cfg para determinar se o uso de LAM ou PAM para autenticação de usuário.
- A configuração de tudo para listpw e verifypw agora funciona corretamente com os sudoers LDAP e sssd.
- O diretório de timestamp sudo agora é criado no momento da inicialização em plataformas que usam systemd.
- Sudo agora restaurará o valor do manipulador SIGPIPE antes de executar o comando.
- Sudo agora usa struct timespec em vez de struct timeval para manter o tempo sempre que possível. Se suportado, sudoedit e visudo agora usam selos de tempo de granularidade de nanosegundo.
- Corrigido uma colisão de nome de símbolo com sistemas que possuem sua própria implementação SHA2. Isso corrige um problema em que a PAM poderia usar a implementação SHA2 errada em sistemas Solaris 10 configurados para usar SHA512 para senhas.
- O editor invocado pelo sudoedit novamente usa uma cópia não modificada do ambiente do usuário conforme a documentação. Isso foi alterado inadvertidamente no sudo 1.8.0. Bug # 688.
O que é novo na versão 1.8.11p2:
- Corrigido um erro em que os objetos compartilhados dinâmicos carregados de um plugin podem usar a versão enganchada do getenv (), mas não as versões emcriptadas de putenv (), setenv () ou unsetenv (). Isso pode causar problemas para módulos PAM que usam essas funções.
O que é novo na versão 1.8.9p5:
- Corrigido um erro de compilação no AIX quando o suporte LDAP está habilitado.
- Análise corrigida da configuração de padrões "umask" em sudoers. Bug # 632.
- Corrigido uma afirmação falhada quando a configuração de padrões "closefrom_override" está habilitada em sudoers e o sinalizador -C de sudo é usado. Bug # 633.
O que é novo na versão 1.8.9p4:
- Corrigido um erro onde sudo poderia consumir grandes quantidades de CPU enquanto o comando estava em execução quando o registro de E / S não está ativado. Bug # 631
- Corrigido um erro em que o sudo saísse com um erro quando o nível de depuração estiver configurado para util @ debug ou todos @ debug e o log de E / S não estiver ativado. O comando continuaria executando depois que o sudo fosse encerrado.
O que é novo na versão 1.8.3:
- Adicionado tag SUDO_1_8_3 para changeset 82bec4d3a203
- Atualize a tradução de sudoers japoneses de translationproject.org
O que há de novo na versão 1.7.4p5:
- Um erro foi corrigido que permitiria que um comando fosse executado sem que o usuário insira uma senha quando o sinalizador -g de sudo é usado sem o sinalizador -u.
- Se o usuário não tiver grupos adicionais, o sudo voltará a verificar o arquivo de grupo explicitamente, o que restaura o comportamento histórico de sudo.
- Uma falha foi corrigida quando o sinalizador -g de sudo é usado sem o sinalizador -u eo arquivo sudoers contém uma entrada sem usuário runas ou grupo listado.
- Um erro foi corrigido no suporte de log de E / S que poderia causar artefatos visuais em programas de tela inteira, como editores de texto,.
- Uma falha foi corrigida quando o suporte ao projeto do Solaris está habilitado e o sinalizador -g do sudo é usado sem o sinalizador -u.
- Sudo não sai mais com um erro quando o suporte para auditoria é compilado, mas a auditoria não está habilitada.
- Corrigido um bug introduzido no sudo 1.7.3 onde o arquivo do ticket não estava sendo honrado quando a opção "targetpw" suuers Defaults foi ativada.
- As marcas LOG_INPUT e LOG_OUTPUT em sudoers agora são analisadas corretamente.
- Uma falha foi corrigida em "sudo -l" quando o sudo é construído com suporte de auditoria e o usuário não tem permissão para executar nenhum comando no host.
O que é novo na versão 1.7.4p2:
- Um erro onde sudo poderia girar em um loop ocupado aguardando o processo filho foi corrigido.
- Um erro introduzido em sudo 1.7.3 que impediu que as opções -k e -K funcionassem quando a opção tty_tickets sudoers estiver habilitada foi corrigida.
- O Sudo não imprime mais um aviso quando as opções -k ou -K são especificadas e o arquivo do ticket não existe.
O que é novo na versão 1.7.4:
- O Sudoedit agora preservará a extensão do arquivo no nome do arquivo temporário que está sendo editado. A extensão é usada por alguns editores (como emacs) para escolher o modo de edição.
- Os arquivos de carimbo de data / hora mudaram de / var / run / sudo para / var / db / sudo, / var / lib / sudo ou / var / adm / sudo. Os diretórios são verificados para existência nessa ordem. Isso evita que os usuários recebam a leitura sudo toda vez que o sistema é reinicializado. Os arquivos de data e hora do tempo de inicialização são ignorados em sistemas onde é possível determinar isso.
- A documentação complementar (arquivos README, LICENÇA, etc.) está agora instalada em um diretório de documentação do sudo.
- Sudo agora reconhece "tls_cacert" como um alias para "tls_cacertfile" em ldap.conf.
- As configurações de padrões que estão vinculadas a um usuário, host ou comando agora podem incluir o operador de negação. Por exemplo:
- Padrões: milert lecture
- irá combinar qualquer usuário, exceto millert.
- A variável de ambiente PATH padrão, usada quando nenhuma variável PATH existe, agora inclui / usr / sbin e / sbin.
- Sudo agora usa polypkg (http://rc.quest.com/topics/polypkg/) para embalagem de plataforma cruzada.
- No Linux, sudo agora restaurará o limite de recursos nproc antes de executar um comando, a menos que o limite pareça ter sido modificado por pam_limits. Isso evita um problema com scripts bash que abrem mais de 32 descritores no SuSE Linux, onde sysconf (_SC_CHILD_MAX) retornará -1 quando RLIMIT_NPROC estiver configurado para RLIMIT_UNLIMITED (-1).
- O Visudo agora tratará uma entrada de Padrões não reconhecidos como um erro de análise (o sudo avisará, mas ainda será executado).
- As variáveis de ambiente HOME e MAIL agora são redefinidas com base na entrada do banco de dados de senha do usuário alvo quando a opção env_reset sudoers está habilitada (o que é o caso na configuração padrão). Os usuários que desejam preservar os valores originais devem usar uma entrada de sudoers como:
- Padrões env_keep + = HOME
- para preservar o valor antigo de HOME e
- Padrões env_keep + = MAIL
- para preservar o valor antigo de MAIL.
- A opção tty_tickets está agora ativada por padrão.
- Corrigido um problema na restauração da configuração do registro do authdb do AIX.
- Se o PAM estiver em uso, aguarde até que o processo tenha terminado antes de fechar a sessão do PAM.
- Corrigido "sudo -i -u usuário" onde o usuário não tem shell listado no banco de dados de senhas.
- Ao efetuar o log de E / S, sudo agora lida com pty read / write retornando ENXIO, como visto no FreeBSD quando a sessão de login foi morto.
- Sudo agora executa o log de E / S na região C. Isso evita problemas relacionados à localidade ao analisar números de ponto flutuante no arquivo de temporização.
- Adicionado suporte para arquivos de ponto de bandeira de administrador do Ubuntu.
Comentários não encontrado