Todd, Lena,

Todd Lyons wrote:
Any chance you can show us the directories all the way from / up to
/etc/virtuals/$domain/aliases, and the file aliases as well?

Lena wrote:
Directories (folders) need to have 755 permissions instead of 644.

Bingo! By focusing my attention on the aliases files, and their permissions, I had heretofore managed to overlook the fact that some of the "$domain" directories that hold those files had 744 permissions. (All of the other directories on the path had 755 permissions.) After changing the permissions to 755, the -bv test cases now work on the files in their previously normal location.

I wrote:
 ...know even less about *nix than I ever thought I did.

Actually, it seems it wasn't my knowledge lacking so much as attention to ALL the details. (Senior lapses?) Thank you both for restoring my sanity.

My latest configuration now has the following verify statements in the RCPT acl:
  require message = Unknown recipient $local_part
          hosts = ! +relay_from_hosts
          domains = +local_domains
          verify = recipient/success_on_redirect

I have also rewritten the entire set of exim routers for both efficiency and readability. If you see something I could improve, I would appreciate any advice:
begin routers

# -------------------------
dnslookup:
# -------------------------
  driver = dnslookup
  #run this router only for mail addressed to outside domains.
  domains = ! +local_domains
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  transport = remote_smtp
  no_more

# -------------------------
verify_system_aliases:
# -------------------------
  driver = redirect
  allow_fail
  allow_defer
  verify_only
  verify_recipient
  domains = +virtual_domains
  data = ${lookup{$local_part} lsearch {/etc/aliases}}

# -------------------------
verify_virtual_domain__aliases:
# -------------------------
  driver = redirect
  allow_fail
  allow_defer
  verify_only
  verify_recipient
  domains = +virtual_domains
  require_files = VIRTUALS
  data = ${lookup{$local_part} lsearch {VIRTUALS}}

# -------------------------
route_system_aliases:
# -------------------------
  driver = redirect
  no_verify
  allow_fail
  allow_defer
  domains = +virtual_domains
  data = ${lookup{$local_part} lsearch {/etc/aliases}}
  file_transport = address_file
  pipe_transport = address_pipe
#

# -------------------------
route_virtual_domain_aliases:
# -------------------------
  driver = redirect
  no_verify
  allow_defer
  allow_fail
  domains = +virtual_domains
  require_files = VIRTUALS
  data = ${lookup{$local_part} lsearch* {VIRTUALS}}
  file_transport = address_file
  group = mail
  pipe_transport = virtual_address_pipe
  retry_use_local_part
# -------------------------

# -------------------------
route_local_users:
# -------------------------
  driver = accept
  check_local_user
  transport = local_delivery
  cannot_route_message = Unknown user





On 10/30/2014 5:44 AM, Todd Lyons wrote:
On Wed, Oct 29, 2014 at 3:41 PM, Phillip Carroll
<[email protected]> wrote:
require_files = VIRTUALS
...where in the main configuration, the macro was defined as
VIRTUALS = /etc/virtuals/$domain/aliases

When this change was tested, the require_files statement produced a
permissions failure when the router was run in verify mode!  (I presume this
permissions failure is also what caused exists{file} to return false,
although the debug output does not reveal this.)

I don't understand the reason for the permissions failure. /etc/virtuals,
and all descendants, are owned by user "mail". User exim is a member of the
"mail" group. All of the folders, and all of the aliases files have 644
permissions, which means they are both group readable and world readable by
user exim. If not, then I know even less about *nix than I ever thought I
did.

Any chance you can show us the directories all the way from / up to
/etc/virtuals/$domain/aliases, and the file aliases as well?  You can
obfuscate the domain, that's fine.  I just want to see the permissions
and ownership of each directory up to and including the aliases file.

...Todd


--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to