/ etc / aliases vs virtusertable

6

Eu tenho um servidor de e-mail executando o Sendmail que hospeda vários domínios de e-mail. Por exemplo, e-mails endereçados a @ aaa.com e @ bbb.com vão para o mesmo servidor. Todo esse tempo estou usando /etc/mail/virtusertable para gerenciar os mapeamentos de diferentes usuários de diferentes domínios de correio para diferentes contas locais.

Mas agora acabei de descobrir que /etc/aliases pode estar fazendo o mesmo.

  • Qual é o papel diferente de /etc/aliases e /etc/mail/virtusertable ?
  • O que aliases pode fazer, mas não virtusertable e vice-versa?

Eu pesquisei pela Web, mas não consigo encontrar nenhum site que compare as diferenças de uma forma muito detalhada.

    
por sylye 25.11.2015 / 08:22

3 respostas

6

Principais diferenças entre virtusertable e aliases no sendmail

virtusertable fornece o mapeamento de um para um do endereço do destinatário. aliases fornece um a muitos mapeamentos (útil para listas de discussão).

aliases map destinatário "domain-less" (destinatários em domínios de email locais com parte do domínio separado do email). virtusertable mapeia o endereço completo do destinatário.

virtusertable manipula o remapeamento de "todos os outros endereços restantes no domínio de e-mail".

O mapeamento

"virtusertable to alias" pode ser usado para obter um para muitos mapeamentos.

Dica no nível do assistente : É possível fazer com que o sendmail.cf manipule aliases para e-mails completos (parte do usuário e domínio), mas o sendmail.cf gerado usando arquivos m4 fornecidos pelo sendmail.org não não lidar com isso. Implementá-lo não será muito complicado, mas IMHO alguns "efeitos colaterais" inesperados são garantidos = > período de teste adequado será LONG .

    
por 25.11.2015 / 10:37
4

Resposta curta:

Aliasing é o processo de conversão de um nome de destinatário local no sistema em outro e O alias ocorre apenas em nomes locais . O que significa que o username deve estar disponível através do getpwnam do banco de dados de senhas:

e.g., the local password file /etc/passwd, NIS, and LDAP.

O recurso sendmail virtusertable habilita o suporte para os usuários virtuais, o que significa que ele mapeia usuários que não são do sistema.

Eu citei o seguinte de aqui . Muito bem explicado, por favor, olhe.

/ etc / mail / aliases

This database file contains a list of virtual mailboxes that are expanded to users, files, programs, or other aliases. Here are a few entries to illustrate the file format:

root: localuser
ftp-bugs: joe,eric,paul
bit.bucket:  /dev/null
procmail: "|/usr/local/bin/procmail"

The mailbox name on the left side of the colon is expanded to the target(s) on the right. The first entry expands the root mailbox to the localuser mailbox, which is then looked up in the /etc/mail/aliases database. If no match is found, the message is delivered to localuser. The second entry shows a mail list. Mail to ftp-bugs is expanded to the three local mailboxes joe, eric, and paul. A remote mailbox could be specified as [email protected]. The third entry shows how to write mail to a file, in this case /dev/null. The last entry demonstrates how to send mail to a program, /usr/local/bin/procmail, through a UNIX® pipe. Refer to aliases(5) for more information about the format of this file.

/ etc / mail / virtusertable

This database file maps mail addresses for virtual domains and users to real mailboxes. These mailboxes can be local, remote, aliases defined in /etc/mail/aliases, or files. This allows multiple virtual domains to be hosted on one machine.

The following example demonstrates how to create custom entries using that format:

[email protected]                root
[email protected]          [email protected]
@example.com                    joe

This file is processed in a first match order. When an email address matches the address on the left, it is mapped to the local mailbox listed on the right. The format of the first entry in this example maps a specific email address to a local mailbox, whereas the format of the second entry maps a specific email address to a remote mailbox. Finally, any email address from example.com which has not matched any of the previous entries will match the last mapping and be sent to the local mailbox joe.

Agora, respostas mais detalhadas às suas perguntas:

  • O arquivo de banco de dados de aliases contém uma lista de caixas de correio virtuais que são expandidas para usuários, arquivos, programas ou outros aliases.
  • Esse arquivo de banco de dados virtuser mapeia endereços de email para domínios virtuais e usuários para caixas de correio reais. Essas caixas de correio podem ser locais, remotas, aliases definidas em / etc / mail / aliases ou arquivos. Isso permite que vários domínios virtuais sejam hospedados em uma máquina.
  • O recurso virtemaertable do sendmail, por outro lado, configura o suporte para a tabela de usuários virtuais. A tabela do usuário virtual mapeia os e-mails de entrada destinados a algum usuário @ host para someotheruser @ outrohost . Pode-se pensar nisso como um recurso de alias de e-mail avançado, que opera não apenas com o usuário de destino, mas também com o domínio de destino. A parte da chave (à esquerda) deve ser um endereço completo ( usuário, host e nome de domínio) ou um endereço sem uma parte do host (apenas um domínio).
por 25.11.2015 / 09:59
2

A principal diferença que me lembro é que virtusertable pode conter informações sobre domínio , bem como informações usuário ; isso é; [email protected] e [email protected] são ambos válidos e distintos do lado esquerdo em virtusertable , mas usados juntos em aliases eles produzirão um erro duplicate alias name .

Isso ainda deixa um grupo inteiro de entradas que podem legitimamente entrar; minha sensação é de que se deve usar aliases sempre que possível, deixando virtusertable para aquelas coisas que são específicas do domínio.

bangal (q.v.) observa algumas diferenças mais importantes, por exemplo, a capacidade de enviar e-mails para pipes e arquivos.

    
por 25.11.2015 / 09:02