Sudo-1.9.13p1

Introdução a Sudo

O pacote Sudo permite que um(a) administrador(a) do sistema dê a certos(as) usuários(as) (ou a grupos de usuários(as)) a capacidade de executar alguns (ou todos) comandos como root ou outro usuário(a) enquanto registra os comandos e argumentos.

Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.

Informação do Pacote

Dependências do Sudo

Opcionais

Linux-PAM-1.5.2, MIT Kerberos V5-1.20.1, OpenLDAP-2.6.4, MTA (que fornece um comando sendmail), AFS, FWTK e Opie

Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/sudo

Instalação do Sudo

Instale Sudo executando os seguintes comandos:

./configure --prefix=/usr             \
            --libexecdir=/usr/lib      \
            --with-secure-path         \
            --with-all-insults         \
            --with-env-editor          \
            --docdir=/usr/share/doc/sudo-1.9.13p1 \
            --with-passprompt="[sudo] password for %p: " &&
make

Para testar os resultados, emita: env LC_ALL=C make check 2>&1 | tee make-check.log. Check the results with grep failed make-check.log.

Agora, como o(a) usuário(a) root:

make install &&
ln -sfv libsudo_util.so.0.0.0 /usr/lib/sudo/libsudo_util.so.0

Explicações do Comando

--libexecdir=/usr/lib: Essa chave controla onde os aplicativos privados são instalados. Tudo nesse diretório é uma biblioteca, de forma que eles pertencem a /usr/lib em vez de /usr/libexec.

--with-secure-path: Essa chave adiciona transparentemente os diretórios /sbin e /usr/sbin à variável de ambiente PATH.

--with-all-insults: Essa chave inclui todos os conjuntos de insultos do sudo.

--with-env-editor: Essa chave habilita o uso da variável de ambiente EDITOR para o visudo.

--with-passprompt: Essa chave configura o prompt de senha. O %p será expandido para o nome do(a) usuário(a) cuja senha está sendo solicitada.

--without-pam: Essa chave evita a construção do suporte a Linux-PAM quando o Linux-PAM estiver instalado no sistema.

[Nota]

Nota

Existem muitas opções para o comando configure do sudo. Verifique a saída gerada do configure --help para uma lista completa.

ln -sfv libsudo_util...: Contorna um defeito no processo de instalação, que vincula à versão instalada anteriormente (se existir uma) em vez da nova.

Configurando Sudo

Arquivo de Configuração

/etc/sudoers

Informação de Configuração

O arquivo sudoers pode ser bastante complicado. Ele é composto por dois tipos de entradas: aliases (basicamente variáveis) e especificações de usuário(a) (que especificam quem pode executar o quê). A instalação instala uma configuração padrão que não tem privilégios instalados para nenhum(a) usuário(a).

Algumas mudanças comuns de configuração são configurar o caminho para o(a) superusuário(a) e permitir que os membros do grupo wheel executem todos os comandos depois de fornecerem as próprias credenciais deles(as). Use os seguintes comandos para criar o arquivo de configuração /etc/sudoers.d/00-sudo como o(a) usuário(a) root:

cat > /etc/sudoers.d/00-sudo << "EOF"
Defaults secure_path="/usr/sbin:/usr/bin"
%wheel ALL=(ALL) ALL
EOF
[Nota]

Nota

Em instalações muito simples onde existe somente um(a) usuário(a), possivelmente seja mais fácil apenas editar o arquivo /etc/sudoers diretamente. Nesse caso, a entrada secure_path possivelmente não seja necessária e usar sudo -E ... pode importar o ambiente completo do(a) usuário(a) não privilegiado(a) para a sessão privilegiada.

Os arquivos no diretório /etc/sudoers.d são analisados em ordem léxica classificada. Tenha cuidado para que as entradas em um arquivo adicionado não sobrescrevam as entradas anteriores.

Para detalhes, veja-se man sudoers.

[Nota]

Nota

Os(As) desenvolvedores(as) do Sudo recomendam enfaticamente usar o aplicativo visudo para editar o arquivo sudoers. Isso fornecerá verificação básica de sanidade, como análise de sintaxe e permissão de arquivo, para evitar alguns possíveis erros que poderiam levar a uma configuração vulnerável.

Se o PAM estiver instalado no sistema, [então] Sudo será construído com suporte a PAM. Nesse caso, emita o seguinte comando como o(a) usuário(a) root para criar o arquivo de configuração do PAM:

cat > /etc/pam.d/sudo << "EOF"
# Início /etc/pam.d/sudo

# Inclui as configurações padrão de autenticação
auth      include     system-auth

# Inclui as configurações padrão de conta
account   include     system-account

# Configura variáveis padrão de ambiente para o(a) usuário(a) do serviço
session   required    pam_env.so

# Inclui padrões de sessão do sistema
session   include     system-session

# Fim /etc/pam.d/sudo
EOF
chmod 644 /etc/pam.d/sudo

Conteúdo

Aplicativos Instalados: cvtsudoers, sudo, sudo_logsrvd, sudo_sendlog, sudoedit (link simbólico), sudoreplay e visudo
Bibliotecas Instaladas: audit_json.so, group_file.so, libsudo_util.so, sample_approval.so, sudoers.so, sudo_noexec.so e system_group.so
Diretórios Instalados: /etc/sudoers.d, /usr/lib/sudo, /usr/share/doc/sudo-1.9.13p1 e /var/lib/sudo

Descrições Curtas

cvtsudoers

converte entre formatos de arquivo sudoers

sudo

executa um comando como outro(a) usuário(a) conforme permitido pelo arquivo de configuração /etc/sudoers

sudo_logsrvd

é um servidor de registro de Entrada/Saída e de evento do sudo

sudo_sendlog

envia registros de Entrada/Saída do sudo para o servidor de registro

sudoedit

é um link simbólico para sudo que implica a opção -e para invocar um editor como outro(a) usuário(a)

sudoreplay

é usado para reproduzir ou para listar os registros de saída gerada criados pelo sudo

visudo

permite uma edição mais segura do arquivo sudoers