Exim-4.96

Introdução ao Exim

O pacote "Exim" contém um "Mail Transport Agent" escrito pela Universidade de Cambridge, lançado sob a Licença Pública "GNU".

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

Informação do Pacote

Transferências Adicionais

  • Formatos adicionais da documentação (documentos baseados em texto são enviados com os fontes) podem ser baixados seguindo-se os links mostrados em https://exim.org/docs.html.

Dependências do "Exim"

Exigidas

libnsl-2.0.0 e PCRE-8.45

Opcionais

TDB (alternativa ao GDBM, construído no LFS), Cyrus SASL-2.1.28, libidn-1.41, Linux-PAM-1.5.2, MariaDB-10.6.12 ou MySQL, OpenLDAP-2.6.4, GnuTLS-3.8.0, PostgreSQL-15.2, SQLite-3.40.1, um ambiente gráfico, Heimdal GSSAPI e OpenDMARC

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

Instalação do Exim

Antes de construir o "Exim", como o(a) usuário(a) "root", você deveria criar o grupo e o(a) usuário(a) "exim" os quais executarão o processo de segundo plano "exim":

groupadd -g 31 exim &&
useradd -d /dev/null -c "Processo de Segundo Plano Exim" -g exim -s /bin/false -u 31 exim

Configure o "Exim" com os seguintes comandos:

sed -e 's,^BIN_DIR.*$,BIN_DIRECTORY=/usr/sbin,'   \
    -e 's,^CONF.*$,CONFIGURE_FILE=/etc/exim.conf,' \
    -e 's,^EXIM_USER.*$,EXIM_USER=exim,'           \
    -e '/# SUPPORT_TLS=yes/s,^#,,'                   \
    -e '/# USE_OPENSSL/s,^#,,'                       \
    -e 's,^EXIM_MONITOR,#EXIM_MONITOR,' src/EDITME > Local/Makefile &&

printf "USE_GDBM = yes\nDBMLIB = -lgdbm\n" >> Local/Makefile &&

Se você quiser adicionar suporte ao "Linux PAM", [então] execute também os seguintes comandos:

sed -i '/# SUPPORT_PAM=yes/s,^#,,' Local/Makefile
echo "EXTRALIBS=-lpam" >> Local/Makefile

Construa o "Exim" com o seguinte comando:

make

Esse pacote não vem com uma suíte de teste.

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

make install                                   &&
install -v -m644 doc/exim.8 /usr/share/man/man8 &&

install -v -d -m755    /usr/share/doc/exim-4.96 &&
install -v -m644 doc/* /usr/share/doc/exim-4.96 &&

ln -sfv exim /usr/sbin/sendmail                 &&
install -v -d -m750 -o exim -g exim /var/spool/exim

Explicações do Comando

sed -e ... > Local/Makefile: A maioria das opções de configuração do "Exim" é definida no "Local/Makefile", que é criado a partir do arquivo "src/EDITME". Esse comando especifica o conjunto mínimo de opções. As descrições das opções estão listadas abaixo.

printf ... > Local/Makefile: Configurar essas variáveis permite usar o "GDBM" em vez do padrão "Berkeley DB". Remova esse comando se você tiver instalado "Base de Dados Berkeley-5.3.28".

BIN_DIRECTORY=/usr/sbin: Isso instala todos os binários e conjuntos de comandos sequenciais do "Exim" em "/usr/sbin".

CONFIGURE_FILE=/etc/exim.conf: Isso instala o principal arquivo de configuração do "Exim" em "/etc".

EXIM_USER=exim: Isso informa ao "Exim" que, depois que o processo de segundo plano não mais precisar de privilégios de "root", o processo precisa transferir o processo de segundo plano para o(a) usuário(a) "exim".

SUPPORT_TLS=yes: Isso permite suportar conexões "STARTTLS". Se usar essa opção, [então] você precisa selecionar se o "OpenSSL" ou o "GnuTLS" será usado (veja-se "src/EDITME").

USE_OPENSSL_PC=openssl: Isso informa ao sistema de construção para usar o "OpenSSL" e encontrar as bibliotecas necessárias com o "pkg-config".

#EXIM_MONITOR: Isso adia a construção do aplicativo monitor do "Exim", pois ele exige suporte ao "X Window System", comentando-se a linha "EXIM_MONITOR" no "Makefile". Se você deseja construir o aplicativo monitor, [então] omita esse comando "sed" e emita o seguinte comando antes de construir o pacote (modifique "Local/eximon.conf", se necessário): "cp exim_monitor/EDITME Local/eximon.conf".

ln -sfv exim /usr/sbin/sendmail: Cria um link para "sendmail" para aplicativos que precisam dele. O "Exim" aceitará a maioria das opções de linha de comando do "Sendmail".

install -v -m750 -o exim -g exim /var/spool/exim: Como "/var/spool" é propriedade do "root" e essa versão do "exim" elimina os privilégios de "root" antecipadamente, para executar como usuário(a) "exim", ele não consegue criar o diretório "/var/spool/exim". Como solução alternativa, ele é criado manualmente.

Adicionando Funcionalidade Adicional

Para utilizar alguns ou todos os pacotes de dependências, você precisará modificar "Local/Makefile" para incluir as diretivas e parâmetros apropriadas para vincular bibliotecas adicionais antes de construir o "Exim". O "Local/Makefile" é bastante comentado com instruções relativas a como fazer isso. Listadas abaixo estão informações adicionais para te ajudar a vincular esses pacotes de dependências ou adicionar funcionalidades adicionais.

Se você deseja construir e instalar a documentação ".info", [então] consulte https://exim.org/exim-html-4.96/doc/ html/spec_html/ch04.html#SECTinsinfdoc.

Se você deseja construir interfaces do "Exim" para chamar logiciário de verificação de vírus e de "spam" diretamente a partir de listas de controle de acesso, [então] descomente o parâmetro "WITH_CONTENT_SCAN=yes" e revise as informações encontradas em https://exim .org/exim-html-4.96/doc/html/spec_html/ch45.html.

Para usar uma base de dados de estrutura de retaguarda diferente do "GDBM", vejam-se as instruções em https://exim.org/exim-html-4.96/doc/html/spec_html/ch04. html#SECTdb.

Para funcionalidade "SSL", vejam-se as instruções em https://exim.org/exim-html-4.96/doc/html/spec_html/ch04.html#SECTinctlsssl e https://exim.org/exim-html-4.96/doc/html/spec_html/ch42.html.

Para a funcionalidade "tcpwrappers", vejam-se as instruções em https://exim.org/exim-html-4.96/doc/html/spec_html/ch04.html#SECID27.

Para informações relativas a adicionar mecanismos de autenticação para a construção, vejam-se os capítulos 33—41 de https://exim.org/exim-html-4.96/doc/html/spec_html/index.html .

Para informações relativas a vincular o "Linux-PAM", consulte as instruções https://exim.org/exim-html-4.96/doc/html/spec_html/ch11.html#SECTexpcond.

Para informações relativas a vincular bibliotecas de mecanismo de base de dados usadas para pesquisas de nome do Exim, vejam-se as instruções em https://exim.org/exim-html-4.96/doc/html/ spec_html/ch09.html.

Se você deseja adicionar suporte "Readline" ao "Exim" quando invocado no modo expansão de teste ("-be"), [então] vejam-se as informações na seção "-be" de https://exim.org/exim-html-4.96/doc/html/spec_html/ch05.html#id2525974 .

Você possivelmente deseje modificar a configuração padrão e enviar arquivos de registro para o "syslog" em vez do diretório padrão "/var/spool/exim/log". Vejam-se as informações em https://exim.org/exim-html-4.96/doc/html/spec_html/ch-log_files.html.

Muitas informações também podem ser encontradas na Wiki do Exim.

Configurando o Exim

Arquivos de Configuração

/etc/exim.conf e /etc/aliases

Informação de Configuração

Revise o arquivo "/etc/exim.conf" e modifique quaisquer configurações para atender às suas necessidades. Observe que a configuração padrão assume que o diretório "/var/mail" é escrevível mundialmente, mas tem o bit "sticky" configurado. Se você quiser usar a configuração padrão, [então] emita como o(a) usuário(a) "root":

chmod -v a+wt /var/mail

Um arquivo "/etc/aliases" padrão (nada além de comentários) é instalado durante a instalação do pacote se esse arquivo não existir em seu sistema. Crie os apelidos necessários e inicie o processo de segundo plano "Exim" usando os seguintes comandos:

cat >> /etc/aliases << "EOF"
postmaster: root
MAILER-DAEMON: root
EOF
/usr/sbin/exim -bd -q15m
[Nota]

Nota

Para proteger um arquivo "/etc/aliases" existente, o comando acima anexa esses apelidos a ele. Esse arquivo deveria ser verificado e os apelidos duplicados removidos, se presentes.

O comando "/usr/sbin/exim -bd -q15m" inicia o processo de segundo plano "Exim" com um intervalo de quinze (15) minutos no processamento da fila de mensagens. Ajuste esse parâmetro para atender aos teus desejos.

Configuração do Linux PAM

Se tiver construído o "Exim" com suporte ao "Linux PAM", [então] você precisa criar um arquivo de configuração "PAM" para fazê-lo funcionar corretamente com o BLFS.

Emita o seguinte comando como o(a) usuário(a) "root" para criar o arquivo de configuração para o "Linux PAM":

cat > /etc/pam.d/exim << "EOF"
# Inicia /etc/pam.d/exim

auth    include system-auth
account include system-account
session include system-session

# Termina /etc/pam.d/exim
EOF

Unidade do systemd

Para iniciar automaticamente o "exim" na inicialização, instale a unidade "exim.service" inclusa no pacote "" "blfs-systemd-units-20220720":

make install-exim

Conteúdo

Aplicativos Instalados: exicyclog, exigrep, exim, exim-4.96-2, exim_checkaccess, exim_dbmbuild, exim_dumpdb, exim_fixdb, exim_lock, exim_tidydb, eximstats, exinext, exipick, exiqgrep, exiqsumm, exiwhat e, opcionalmente, eximon, eximon.bin e sendmail (link simbólico)
Bibliotecas Instaladas: Nenhum(a)
Diretórios Instalados: /usr/share/doc/exim-4.96 e /var/spool/exim

Descrições Curtas

exicyclog

circula arquivos de registro do "Exim"

exigrep

pesquisa arquivos de registro do "Exim"

exim

é um link simbólico para o processo de segundo plano "MTA" "exim-4.96-2"

exim-4.96-2

é o processo de segundo plano do agente de transporte de mensagens "Exim"

exim_checkaccess

declara se um dado endereço de destinatário a partir de um dado dispositivo é aceitável ou não

exim_dbmbuild

cria e reconstrói bases de dados do "Exim"

exim_dumpdb

escreve o conteúdo das bases de dados do "Exim" na saída gerada padrão

exim_fixdb

modifica dados em bases de dados do "Exim"

exim_lock

tranca um arquivo de caixa de mensagens

exim_tidydb

remove registros antigos de bases de dados do "Exim"

eximstats

gera estatísticas de mensagens a partir de arquivos de registro do "Exim"

exinext

consulta tempos de re tentativa do dispositivo remoto

exipick

seleciona mensagens baseadas em vários critérios

exiqgrep

é um utilitário para listagem seletiva de filas

exiqsumm

produz um resumo das mensagens na fila de mensagens

exiwhat

consulta executando processos "Exim"

eximon

é um conjunto de comandos sequenciais de "shell" de inicialização para "eximon.bin" usado para configurar as variáveis de ambiente exigidas antes de executar o aplicativo

eximon.bin

é um aplicativo monitor que exibe informações atuais em uma janela do "X" e também contém uma interface de menu para as opções de administração de linha de comando do "Exim"